Board Stats

  • stats Total de Usuarios: 23207
  • stats Total de Mensajes: 108051
  • stats Total de Temas: 10374
  • stats Total de Categorías: 15
  • stats Total de Foros: 74
  • stats Máx. usuarios conectados (simultáneamente): 1021

Ultimo registro



Autor Tema: Pequeño Robot controlado por acelerometro  (Leído 2597 veces)

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

Desconectado SkyWatcher

  • Moderador
  • Usuario
  • *****
  • Mensajes: 1250
Pequeño Robot controlado por acelerometro
« en: Octubre 17, 2018, 17:09:41 pm »
Hola a todos. Vamos a darle vidilla al subforo de Arduino que esta bastante parado..

En esta ocasion vamos a ver como construir un pequeño coche-robot que estara controlado por un acelerometro y unos modulos bluetooth para enlazar ambos hardware (mando y robot)

Lista de materiales:

2 x Arduino Nano
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.

1 x Modulo MPU6050
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.

2 x Modulo bluetooth HC-05
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.

4 Baterias 18650 de 3,7v
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.

2 x porta baterias 18650
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.

1 Modulo L298N mini
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.

2 Motores con reductora de 6v
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.


Codigo mando:

Código: [Seleccionar]
#include <MPU6050.h>               //Libreria acelerometro
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11);   // TX, RX
MPU6050 mpu;                       //declaramos el sensor
int16_t ax, ay, az, gx, gy, gz;    //variables del sensor

void setup()
{
  Serial.begin(9600);
  mySerial.begin(9600);

  mpu.initialize();               //Iniciamos acelerometro
  if (!mpu.testConnection()) {
    while (1);
  }
}

void loop()
{
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); //obtenemos variables del sensor
  ax = -(ax / 1000); //ariba - abajo mapear monitor
  ay = (ay / 1000); //izquierda - derecha mapear monitor

  Serial.print(ax);
  Serial.print(",");
  Serial.println(ay);

  //ADELANTE
  if (ax <= -4 && ay >= -3 && ay <= 3)
  {
    mySerial.write('1');
  }

  //ATRAS
  if (ax >= 4 && ay >= -3 && ay <= 3)
  {
    mySerial.write('2');
  }

  //DETE
  if (ax >= -3 && ax <= 3 && ay >= -3 && ay <= 3)
  {
    mySerial.write('5');
  }

  //    //IZQUIERDA
  if (ay <= -4 && ax >= -3 && ax <= 3)
  {
    mySerial.write('4');
  }
  //
  //    //DERECHA
  if (ay >= 4 && ax >= -3 && ax <= 3)
  {
    mySerial.write('3');
  }

}

Esquema mando:

https://i.imgur.com/l6BEViR.png
Pequeño Robot controlado por acelerometro


Codigo robot:

Código: [Seleccionar]
int Datos = 0;

int IN1 = 6;
int IN2 = 5;
int IN3 = 4;
int IN4 = 3;

void setup()
{

  Serial.begin(9600);

  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
  analogWrite(IN1, 0);
  analogWrite(IN2, 0);
  analogWrite(IN3, 0);
  analogWrite(IN4, 0);

}

void loop()
{

  if (Serial.available() > 0) {
    Datos = Serial.read();

    Serial.println(Datos);

    //ADELANTE
    if (Datos == '1') {
      digitalWrite (IN1, HIGH);
      digitalWrite (IN2, LOW);
      digitalWrite (IN3, HIGH);
      digitalWrite (IN4, LOW);
    }

    //ATRAS
    if (Datos == '2') {
      digitalWrite (IN1, LOW);
      digitalWrite (IN2, HIGH);
      digitalWrite (IN3, LOW);
      digitalWrite (IN4, HIGH);
    }

    //IZQUIERDA
    if (Datos == '3') {
      digitalWrite (IN1, HIGH);
      digitalWrite (IN2, LOW);
      digitalWrite (IN3, LOW);
      digitalWrite (IN4, HIGH);
    }

    //DERECHA
    if (Datos == '4') {
      digitalWrite (IN1, LOW);
      digitalWrite (IN2, HIGH);
      digitalWrite (IN3, HIGH);
      digitalWrite (IN4, LOW);
    }

    //DETENER
    if (Datos == '5') {
      digitalWrite (IN1, LOW);
      digitalWrite (IN2, LOW);
      digitalWrite (IN3, LOW);
      digitalWrite (IN4, LOW);
    }

  }
}

Esquema robot:

https://i.imgur.com/WPbsC1X.png
Pequeño Robot controlado por acelerometro


Y este es el diseño y montaje que he hecho yo, pero vosotros podeis hacer el que mas os guste:

https://i.imgur.com/MoN0p8W.jpg
Pequeño Robot controlado por acelerometro


https://i.imgur.com/juXte76.jpg
Pequeño Robot controlado por acelerometro


https://i.imgur.com/6Hsg4aW.jpg
Pequeño Robot controlado por acelerometro


https://i.imgur.com/XX7XByv.jpg
Pequeño Robot controlado por acelerometro


https://i.imgur.com/wCw0vet.jpg
Pequeño Robot controlado por acelerometro


https://i.imgur.com/4m7H9UD.jpg
Pequeño Robot controlado por acelerometro


Y este es el resultado:

<a href="http://www.youtube.com/watch?v=-P4fdEecq_o" target="_blank">http://www.youtube.com/watch?v=-P4fdEecq_o</a>

Esta claro que no tiene ninguna utilidad practica mas que la de aprender y distraerse un rato montandolo todo..

En la proxima entrega veremos como controlar una tv por comandos de voz utilizando un modulo emisor infrarrojo.

Saludos!



NO DOY SOPORTE POR MENSAJES PRIVADOS, SI TIENES CUALQUIER DUDA, POSTEA EN EL HILO CORRESPONDIENTE!!

Desconectado fernan236

  • Usuario
  • *
  • Mensajes: 383
Re:Pequeño Robot controlado por acelerometro
« Respuesta #1 en: Octubre 17, 2018, 17:21:16 pm »
solo digo que me encanta estas manualidades

Desconectado maripuri

  • Master
  • Usuario
  • ******
  • Mensajes: 23041
  • Mari
    • WirelessWindows
Re:Pequeño Robot controlado por acelerometro
« Respuesta #2 en: Octubre 17, 2018, 20:01:41 pm »

Que bueno..   XD
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.
 
Sorry, you are not allowed to see this part of the text. Por favor ingresa o regístrate.
No preguntes sobre temas del foro por privado, participa en el.

Desconectado mandarache

  • Usuario
  • *
  • Mensajes: 688
Re:Pequeño Robot controlado por acelerometro
« Respuesta #3 en: Octubre 17, 2018, 20:24:19 pm »
Buenísimo.

Un saludo.
No a la violencia de género , no quiero guardar un minuto de silencio por las víctimas  quiero gritar , gritar al mundo entero  NO a la violencia de género , no permitamos  más un mundo en la que los ángeles mueren a manos de los demonios .

Desconectado SkyWatcher

  • Moderador
  • Usuario
  • *****
  • Mensajes: 1250
Re:Pequeño Robot controlado por acelerometro
« Respuesta #4 en: Octubre 22, 2018, 18:23:14 pm »
Gracias!!

A ver si se anima mas gente a hacer cosillas con Arduino..
NO DOY SOPORTE POR MENSAJES PRIVADOS, SI TIENES CUALQUIER DUDA, POSTEA EN EL HILO CORRESPONDIENTE!!

Desconectado Voromir

  • Usuario
  • *
  • Mensajes: 121
Re:Pequeño Robot controlado por acelerometro
« Respuesta #5 en: Octubre 22, 2018, 20:20:03 pm »
Para genios nivel DIOS  ::)

Desconectado SkyWatcher

  • Moderador
  • Usuario
  • *****
  • Mensajes: 1250
Re:Pequeño Robot controlado por acelerometro
« Respuesta #6 en: Octubre 29, 2018, 15:03:39 pm »
jejeje que va, no te creas.. Es mas tener paciencia para montarlo todo bien que otra cosa..
NO DOY SOPORTE POR MENSAJES PRIVADOS, SI TIENES CUALQUIER DUDA, POSTEA EN EL HILO CORRESPONDIENTE!!