Está en la página 1de 6

#include <SoftwareSerial.h> //Cardux v1.1 //Autor: vixo_xD Zaren Ortega :-D //Cambios: // V1.

1 - 28-05-2012: //-Agregado un nuevo metodo para controlar el pin 7 con un switch desde el Andro id //Inicializacion de los pines int bluetoothTx = 1; int bluetoothRx = 0; int motorA = 5; int motorB = 4; int dirA = 3; int dirB = 2; int luz = 6; int comp = 7; int led=13; SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);

//Declaracion de los metodos que vamos a utilizar void adelante(); void reversa(); void parado(); void parado2(); void derecha(); void izquierda(); void encenderLuz(); void apagarLuz();

//Codigo para encender un componente en el pin 7 agregado en la version 1.1 void encenderComponente(); void apagarComponente();

void setup() { //Iniciamos la comunicacion serial con el USB y declaramos como salidas los pin es que vamos a utilizar Serial.begin(9600); pinMode(led, OUTPUT); pinMode(motorA, OUTPUT); pinMode(motorB, OUTPUT); pinMode(dirA, OUTPUT); pinMode(dirB, OUTPUT); pinMode(luz, OUTPUT); pinMode(comp, OUTPUT);

//Configuramos la conexion serial del bluetooth con el android bluetooth.begin(115200); bluetooth.print("$$$"); delay(100); bluetooth.println("U,9600,N"); bluetooth.begin(9600); }

void loop() { //Leemos del Bluetooth y escribimos en el serial if(bluetooth.available())

{ char received = bluetooth.read(); char toSend = (char)bluetooth.read(); Serial.print(toSend); }

//Si el android le manda algo al arduino este metodo toma el caracter que mando //y en base a eso ejecuta el metodo deseado if(Serial.available()) { char toSend = (char)Serial.read(); bluetooth.print(toSend); switch(toSend){ case 'w': // la 'w' hace que el carrito empiece a caminar hacia adelante adelante(); break; case 's': // la 's' hace que el carrito empiece a caminar hacia atras reversa(); break; case 'x': //la 'x' para el movimiento del motor de traccion ya sea que vaya hacia //adelante o hacia atras parado(); break; case '<': //el '<' hace que el carrito gire a la izquierda izquierda();

break; case '>': //el '>' hace que el carrito gire a la derecha derecha(); break; case 'v': //la 'v' para el motor de direccion parado2(); break; case 'I': //enciende la luz cuando recive una 'I' osea activa el pin 6 encenderLuz(); break; case 'O': apagarLuz(); break; case 'K': //activa el pin 7, por si es necesario agregar un componente extra encenderComponente(); break; case 'L': apagarComponente(); break; } } }

void adelante(){ digitalWrite(motorA,LOW); digitalWrite(motorB,HIGH); digitalWrite(led,HIGH); }

void reversa(){ digitalWrite(motorA,HIGH); digitalWrite(motorB,LOW); digitalWrite(led,HIGH); }

void parado(){ digitalWrite(motorA,LOW); digitalWrite(motorB,LOW); digitalWrite(led,LOW); }

void parado2(){ digitalWrite(dirA,LOW); digitalWrite(dirB,LOW); digitalWrite(led,LOW); }

void izquierda(){ digitalWrite(dirA,LOW); digitalWrite(dirB,HIGH); digitalWrite(led,HIGH); }

void derecha(){ digitalWrite(dirA,HIGH);

digitalWrite(dirB,LOW); digitalWrite(led,HIGH); }

void encenderLuz(){ digitalWrite(luz,HIGH); }

void apagarLuz(){ digitalWrite(luz,LOW); }

void encenderComponente(){ digitalWrite(comp,HIGH); }

void apagarComponente(){ digitalWrite(comp,LOW); }

También podría gustarte