Les Presento Mi Auto Controlado Por Bluetooth

Iniciado por rreedd, Marzo 06, 2016, 12:14:35 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

RREEDD

Hola !!!

Les presento mi auto basado en Arduino y que se controla por bluetooth.



El armazón esta hecho de cartón piedra, cuenta con:1 Arduino nano, 1 puente H, 4 reductores de velocidad, 2 servo y una placa que regula el voltaje para alimentar los servos por que consumen mucha corriente de mis baterías de 9v


La pinza la hice yo solo con cartón y silicona


Como control utilizo una aplicación que se llama Arduino BT Joistick
Aqui LINK de descarga
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

El código fuente de mi auto lo dejo a continuación por si es que les sirve, para sus proyectos o de referencia.
Lo intente comentar lo mas que puede pero si es que surge cualquier duda solo díganme


Código: text


// incluimos la biblioteca Servo

#include <SoftwareSerial.h>
#include <Servo.h>   

// Se crean los objetos Servo
Servo servoAngulo;       
Servo servoPinza;


int comando = 0; // variable a la cual de daremos el valor de la que venga por la comunicacion serial

//pines de entrada de motores
int Motor4 = 5;
int Motor3 = 4;
int Motor2 = 3;
int Motor1 = 2;

//angulos de controlpara el servo
int angulo =90;
int anguloPinza =30;
/*

Los pines GND y VCC del Servo no aparecen porque use un regulador de tencion para que no me consumiera toda la bateria


             
                    _________________
                    |d13         D12| Servo
                    |3v3         D11| Servo
                    |REF         D10|     
                    |A0   Arduino D9|
                    |A1    NANO   D8|
                    |A2           D7|
                    |A3           D6|
                    |A4           D5| Motor3
                    |A5           D4| Motor4
                    |A6           D3| Motor2
                    |A7           D2| Motor1
     VCC bluetooth  |5v          GND| gnd bluetooth, gnd PuenteH(para igualar tierra)
                    |RST         RST|
     - 9v, - PunteH |GND          TR| tr bluetooh
     + 9v, + PunteH |VIN          TX| tx bluetooh
                    |_______________|       

*/

void setup() {

//inicializar servos
servoAngulo.attach(12);
servoPinza.attach(11);

//se declaran como OUTPUT los pines para controlar los motores junto al puente H
pinMode (Motor3, OUTPUT);
pinMode (Motor4, OUTPUT);
pinMode (Motor2, OUTPUT);
pinMode (Motor1, OUTPUT);

// Se declara la recepcion Serial a 9600 baud
Serial.begin(9600);
}

void loop() {
//si viene algo por Serial se continua
if(Serial.available() > 0){
//el contenido de Serial se guarda en comando
comando = Serial.read();
}


   if (comando == '1') {
        digitalWrite (Motor3, HIGH);
        digitalWrite (Motor4, LOW);
        digitalWrite (Motor2, HIGH);
        digitalWrite (Motor1, LOW);
        Serial.println("Derecha");
        delay(20);
   }
   else if (comando == '0') {
        digitalWrite (Motor3, LOW);
        digitalWrite (Motor4, HIGH);
        digitalWrite (Motor1, HIGH);
        digitalWrite (Motor2, LOW);
        Serial.println("izquierda");
        delay(20);
   }
   else if (comando == '3') {
        digitalWrite (Motor3, HIGH);
        digitalWrite (Motor4, LOW);
        digitalWrite (Motor1, HIGH);
        digitalWrite (Motor2, LOW);
        Serial.println("Abajo");
        delay(20);
   }
   else if (comando == '4') {
        digitalWrite (Motor4, HIGH);
        digitalWrite (Motor3, LOW);
        digitalWrite (Motor2, HIGH);
        digitalWrite (Motor1, LOW);
        Serial.println("Arriba");
        delay(20);
   }
   else if (comando == '5') {
   //servo arriba
         angulo = angulo + 5;
        Serial.println(angulo);
        servoAngulo.write(angulo);               
        delay(15);                       
        angulo =constrain(angulo,0,180);
        Serial.println("angulo arriba");
   }
   else if (comando == '6') {
       angulo = angulo - 5;
        Serial.println(angulo);
        servoAngulo.write(angulo);               
        delay(15);
        angulo =constrain(angulo,0,180);
        Serial.println("angulo abajo");


   }
   else if (comando == '8') {
        anguloPinza = anguloPinza + 5;
        Serial.println(anguloPinza);
        servoPinza.write(anguloPinza);               
        delay(15);                                 
        anguloPinza =constrain(anguloPinza,0,180);
   Serial.println("pinza cierra");
   }
   else if (comando == '9') {
       anguloPinza = anguloPinza - 5;
       Serial.println(anguloPinza);
       servoPinza.write(anguloPinza);               
       delay(15);                                 
       anguloPinza =constrain(anguloPinza,0,180);
       Serial.println("pinza abre");

   }else{
        // se ponen todos los valores en LOW para detener la detener los motores hasta que llege una nueva orden
        digitalWrite (Motor3, LOW);
        digitalWrite (Motor4, LOW);
        digitalWrite (Motor2, LOW);
        digitalWrite (Motor1, LOW);
   }
}
   



Saludos Desde Chile

Estupendo trabajo!!

Te felicito y agradezco que lo compartieras con nosotros!
Te dejo coins  ;D

Saludos.

Gabriela
Tú te enamoraste de mi valentía, yo me enamoré de tu oscuridad; tú aprendiste a vencer tus miedos, yo aprendí a no perderme en tu abismo.

RREEDD

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Estupendo trabajo!!

Te felicito y agradezco que lo compartieras con nosotros!
Te dejo coins  ;D

Saludos.

Gabriela

muchas gracias, me gusta mucho esta comunidad, así que pronto estaré haciendo mas post.
Saludos desde chile.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
RREEDD

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Estupendo trabajo!!

Te felicito y agradezco que lo compartieras con nosotros!
Te dejo coins  ;D

Saludos.

Gabriela

muchas gracias, me gusta mucho esta comunidad, así que pronto estaré haciendo mas post.
Saludos desde chile.
Simplemente... Excelente! +10

[N]ation Special Edition by ice

ice | Maggot | You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login