Sunday, 31 January 2016

Arduino-Android app  LED control Using Ethernet  Shield

HII all ..once again its me venki.....today i am gonna show you how to control led using arduino ethernet shield
its very cool n easy ....

Things  needed :

  1.   Arduino Uno
  2.   Ethernet Shield   LED 2 pcs
  3. Resistors 2pcs. 
  4. Breadboard(optional)
  5. wires(copper,ethernet cable)
  6. Router

 Hardware connection:
 LED 1 --> pin 6 to ground
  LED 2 --> pin 7 to ground


software needed  :
   Eclipse IDE
   Arduino IDE 1
 




Picture of Arduino-Android LED control Using Ethernet Shield

Step 1: Program for Arduino

// A simple web server that always just says "Hello World"

#include "etherShield.h"
#include "ETHER_28J60.h"

int led2 = 7;
int led1 = 6;


static uint8_t mac[6] = {0xAA, 0xBB, 0xCC, 0xDD, 0xBB, 0xAA};   // this just needs to be unique for your network,
                                                                // so unless you have more than one of these boards
                                                                // connected, you should be fine with this value.
                                                         
static uint8_t ip[4] = {192, 168, 0, 15};                       // the IP address for your board. Check your home hub
                                                                // to find an IP address not in use and pick that
                                                                // this or 10.0.0.15 are likely formats for an address
                                                                // that will work.
static uint16_t port = 80;                                      // Use port 80 - the standard for HTTP

ETHER_28J60 e;

void setup()
{
    e.setup(mac, ip, port);
  
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
  
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);


}

void loop()
{
  char* params;
  if (params = e.serviceRequest())
  {
    if (strcmp(params, "?cmd=1") == 0)
    {
          digitalWrite(led1, HIGH);
    }
    if (strcmp(params, "?cmd=2") == 0)
    {
          digitalWrite(led1, LOW);
        
    }
    if (strcmp(params, "?cmd=3") == 0)
    {
          digitalWrite(led2, HIGH);
    }
    if (strcmp(params, "?cmd=4") == 0)
    {
          digitalWrite(led2, LOW);
        
    }
  
    e.respond();
  }
 
Android interface app:
 
Picture of your app (main activity) 
 
 
 Java code for android app :
 
type this program in a newproject in eclipse 
 
 
 
package com.androidarduino;

import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import android.app.Activity;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{

@Override
protected void onCreate(Bundle savedInstanceState) {

  StrictMode.ThreadPolicy policy = new StrictMode.
  ThreadPolicy.Builder().permitAll().build();
  StrictMode.setThreadPolicy(policy);

  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  View led1on = findViewById(R.id.led_1on);
  View led1off = findViewById(R.id.led_1off);
  View led2on = findViewById(R.id.led_2on);
  View led2off = findViewById(R.id.led_2off);

  led1on.setOnClickListener(this);
  led1off.setOnClickListener(this);
  led2on.setOnClickListener(this);
  led2off.setOnClickListener(this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
}

public void commandArduino(String url){
   try {
      HttpClient httpclient = new DefaultHttpClient();
      httpclient.execute(new HttpGet(url));     
    } catch (Exception e) {
    }
}

public void onClick(View thisView) {
  switch(thisView.getId()){
  case R.id.led_1on:
   commandArduino("http://192.168.0.15/?cmd=1");
   Toast.makeText(getApplicationContext(), "led_1on",Toast.LENGTH_LONG).show();
   break;
  case R.id.led_1off:
   commandArduino("http://192.168.0.15/?cmd=2");
   Toast.makeText(getApplicationContext(), "led_1off",Toast.LENGTH_LONG).show();
   break;
  case R.id.led_2on:
   commandArduino("http://192.168.0.15/?cmd=3");
   Toast.makeText(getApplicationContext(), "led_2on",Toast.LENGTH_LONG).show();
   break;
  case R.id.led_2off:
   commandArduino("http://192.168.0.15/?cmd=4");
   Toast.makeText(getApplicationContext(), "led_2off",Toast.LENGTH_LONG).show();
   break;
  }
}


 XML Layout for app 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Arduino Simple Automation"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/led_1on"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_weight="0.39"
            android:text="LED 1 ON" />

        <Button
            android:id="@+id/led_1off"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_weight="0.39"
            android:text="LED 1 OFF" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/linearLayout1"
        android:layout_alignRight="@+id/linearLayout1"
        android:layout_below="@+id/linearLayout1"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/led_2on"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_weight="0.39"
            android:text="LED 2 ON" />

        <Button
            android:id="@+id/led_2off"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_weight="0.39"
            android:text="LED 2 OFF" />
    </LinearLayout>

</RelativeLayout> 




***********************************************


Edit the mainActivity for giving permission to use ethernet shield in app:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />



your android manifest should look like these:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.androidarduino"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.androidarduino.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest> 
 
 
 
 
 
 
tats it .......
 

Sunday, 13 September 2015

Arduino Uno Based Ultrasonic sensor radar

Arduino Radar Project


   Hii guy!!!..Its me venki .. today i am gonna show you how to make an Arduino Based Ultrasonic sensor based Radar

 In this tutorial I will show you how you can make this cool looking radar using the Arduino Board and the Processing Development Environment

Parts used in this Arduino Radar Project


  • Arduino Mega Board
  • Ultrasonic Sensor - HC-SR04
  • Servo Motor - Tower Pro
  • Breadboard
  • Jump Wires


Circuit Schematics


          I connected the Ultrasonic Sensor HC-SR04 to the pins number 10 and 11 and the servo motor to the pin number 12 on the Arduino Board.
Arduino-Radar-Circuit-Schematics



Source codes


          Now we need to make a code and upload it to the Arduino Board that will enable the interaction between the Arduino and the Processing IDE.  For understanding how the connection works click here to visit  Arduino and Processing Tutorial.
Arduino-and-Processing-IDE