Vous êtes sur la page 1sur 13

Instituto Tecnolo gico

De
Tuxtla Gutie rrez

Sistemas programables

Prctica 5
Encender una tira de leds por medio de Arduino( Bluetooth) y Android

Integrantes:






05 de agosto del 2014, Tuxtla Gutirrez Chiapas






Introduccin
Mediante el trabajo a realizar en esta prctica se enciende una tira de leds,
por medio de un dispositivo mvil usando Android en combinacin con el
bluetooth de Arduino.
Arduino es una plataforma de creacin de prototipos electrnicos de
cdigo abierto basado en hardware y software fcil de usar, flexible. Est
dirigido a artistas, diseadores, aficionados y cualquier persona interesada
en la creacin de objetos o entornos interactivos.
Bluetooth es una especificacin industrial para Redes Inalmbricas de rea
Personal (WPAN) que posibilita la transmisin de voz y datos entre
diferentes dispositivos mediante un enlace por radiofrecuencia en la banda
ISM de los 2,4 GHz. Los principales objetivos que se pretenden conseguir
con esta norma son:
Facilitar las comunicaciones entre equipos mviles.
Eliminar los cables y conectores entre stos.
Ofrecer la posibilidad de crear pequeas redes inalmbricas y
facilitar la sincronizacin de datos entre equipos personales.
Android funciona con cientos de millones de dispositivos de mano en todo
el mundo, y ahora es compatible con estos emocionantes, nuevos factores
de forma.









Marco terico
Arduino.
Arduino es una plataforma de creacin de prototipos electrnicos de
cdigo abierto basado en hardware y software fcil de usar, flexible. Est
dirigido a artistas, diseadores, aficionados
y cualquier persona interesada en la
creacin de objetos o entornos interactivos.
Arduino puede detectar el medio ambiente
mediante la recepcin de la entrada de una
variedad de sensores y puede afectar a sus
alrededores por las luces de control,
motores, y otros actuadores. El
microcontrolador en la placa se programa mediante el lenguaje de
programacin Arduino (basado en Wiring ) y el entorno de desarrollo
Arduino (basado en Processing ). Proyectos Arduino puede ser
independiente o se pueden comunicar con el software que se ejecuta en un
ordenador (por ejemplo, Flash, Processing, MaxMSP).
Las tablas pueden ser construidas por la mano o comprados
preensamblado; el software puede ser descargado de forma gratuita. Los
diseos de referencia de hardware (archivos CAD) estn disponibles bajo
una licencia de cdigo abierto, que son libres de adaptarlos a sus
necesidades .
Android
Android es un sistema operativo basado en el kernel de Linux diseado
principalmente para dispositivos mviles con pantalla tctil, como telfonos
inteligentes o tabletas, y tambin para relojes inteligentes, televisores y
automviles, inicialmente desarrollado por Android, Inc. Google respald
econmicamente y ms tarde compr esta empresa en 2005.9 Android fue
presentado en 2007 junto la fundacin del Open Handset Alliance: un
consorcio de compaas de hardware, software y telecomunicaciones para
avanzar en los estndares abiertos de los dispositivos mviles.10 El primer
mvil con el sistema operativo Android fue el HTC Dream y se vendi en
octubre de 2008.11
El xito del sistema operativo se ha convertido en
objeto de litigios sobre patentes en el marco de las
llamadas Guerras por patentes de telfonos
inteligentes (en ingls Smartphone patent wars) entre
las empresas de tecnologa.12 13 Segn documentos
secretos filtrados en 2013 y 2014, el sistema operativo
es uno de los objetivos de las agencias de inteligencia internacionales.
El 25 de junio de 2014 en la Conferencia de Desarrolladores Google I/O, la
compaia Google mostr un cambio de marca con el fin de unificar tanto el
hardware como el software. Con ello mostraron nuevos productos como lo
son Android TV, Android Auto, Android Wear o un smartphone de baja
gama llamado Android One. Con todo ello la marca se estabiliza para dar
una imagen ms firme tanto en el mercado como al publico.


















Desarrollo y Diseo
Encender una tira de leds por medio de Arduino, mediante conexin
bluetooth y Android (Dispositivo Mvil).
Material a utilizar:
-Arduino uno
-Bluetooth HC-06
-Tira de leds
-Relevador de 5CD
-Resistencia de 220
-cables para conexin
-Tener instalado Software controlador de Arduino, Android.
Paso 1. Armar el circuito






Paso 2. Programar Arduino y Android
Programa en java para una aplicacin Android para encender y apagar un
Led utilizando el Bluetooth con Arduino.
Cdigo del Arduino:













Interfaz de la aplicacin para encender y Apagar un led.


#include <SoftwareSerial.h>
SoftwareSerial mySerial(6, 5);
int dataFromBT;

void setup() {
Serial.begin(9600);
Serial.println("LEDOnOff Starting...");

// The data rate for the SoftwareSerial port needs to
// match the data rate for your bluetooth board.
mySerial.begin(9600);
pinMode(13, OUTPUT);
}

void loop() {
if (mySerial.available())
dataFromBT = mySerial.read();

if (dataFromBT == '0') {
// Turn off LED
digitalWrite(13, LOW);
} else if (dataFromBT == '1') {
// Turn on LEFD
digitalWrite(13, HIGH);
}
}

Agregar el siguiente cdigo en el archivo activity_main.xml
















Agregar el siguiente cdigo en string.xml





Agregar el siguiente cdigo en AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

<Button
android:id="@+id/btnOn"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="Encender" />

<Button
android:id="@+id/btnOff"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="Apagar" />

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">LED On Off</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>

</resources>

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

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />

















Agregar el siguiente cdigo en ActivityMain.java








package com.example.bt3;

import java.io.IOException;
import java.io.OutputStream;
import java.util.UUID;

import com.example.bt3.R;

import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {


























btnOn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
sendData("1");
Toast msg = Toast.makeText(getBaseContext(),
"You have clicked On", Toast.LENGTH_SHORT);
msg.show();
}
});

btnOff.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
sendData("0");
Toast msg = Toast.makeText(getBaseContext(),
"You have clicked Off", Toast.LENGTH_SHORT);
msg.show();
}
});
}

@Override
public void onResume() {
super.onResume();

Log.d(TAG, "...In onResume - Attempting client connect...");

// Set up a pointer to the remote node using it's address.


























// Create a data stream so we can talk to server.
Log.d(TAG, "...Creando Socket...");

try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
errorExit("Fatal Error", "En onResume() debido a la creacin del
buffer de salida fallido:" + e.getMessage() + ".");
}
}

@Override
public void onPause() {
super.onPause();

Log.d(TAG, "...En onPause()...");

if (outStream != null) {
try {
outStream.flush();
} catch (IOException e) {
errorExit("Fatal Error", "En onPause() debido a limpiar el buffer:
" + e.getMessage() + ".");
}
}

try {
btSocket.close();
} catch (IOException e2) {































private void errorExit(String title, String message){
Toast msg = Toast.makeText(getBaseContext(),
title + " - " + message, Toast.LENGTH_SHORT);
msg.show();
finish();
}

private void sendData(String message) {
byte[] msgBuffer = message.getBytes();

Log.d(TAG, "...Enviando Dato: " + message + "...");
try {
outStream.write(msgBuffer);
} catch (IOException e) {
String msg = "En onResume() ha ocurrido una excepcin durante la escritura:
" + e.getMessage();
if (address.equals("00:00:00:00:00:00 "))
msg = msg + ".\n\nActualizar la direccin del servidor 00:00:00:00:00:00 a
una direccin correcta en la lnea37 de cgido Java";

msg = msg + ".\n\nChecar que la SPP UUID: " + MY_UUID.toString() + " exista
en el serrvidor.\n\n";

errorExit("Fatal Error", msg);
}
Paso 3. Programar MATLAB
PASO 3.1. Crear GUI en MATLAB.

PASO 3.2
Pruebas










Pruebas

Vous aimerez peut-être aussi