Proyecto 3 – Tortuga

¿Sabes que las tortugas buscan un lugar oscuro para descansar? ¡Construye tu tortuga y prográmala para que vaya hacia donde haya poca luz y se pare cuando está todo oscuro!

En el kit encontraras todo el material necesario, pero si lo necesitas, puedes descargar las plantillas aquí para imprimir de nuevo, recortar y personalizar a tu tortuga tantas veces como quieras.

 

NIVEL DE DIFICULTAD: Intermedio.

DURACIÓN DEL EJERCICIO: 45 min.

MATERIALES:

  • Maker Inventor Kit
    • Placa controladora 4in1
    • 2 Sensores de luz analógicos LDR
    • Zumbador pasivo
    • 2 Motores DC
    • Plantilla de la tortuga
    • Palos de colores
    • Velcro
    • Cables Hembra-Hembra 20 cm
    • Portapilas
    • Cable USB – Micro USB
  • 6 Pilas AA
  • Ordenador

 

CONSTRUCCIÓN:

Sigue las instrucciones del siguiente vídeo para construir tu tortuga:

 

ESQUEMA:

Si has seguido el montaje, las conexiones deben estar así:


PROGRAMA:

Puedes cargar tu programa a la controladora usando programación por bloques o con código. Te mostramos como hacerlo con mBlock y Arduino IDE .

Si es la primera vez que usas mBlock, o tienes problemas para cargar tu programa, puedes revisar nuestra página de primeros pasos

Aquí tienes la secuencia de bloques para cargar el programa inicial con MBlock.

En el vídeo mostramos cómo subir el programa a la placa controladora 4in1

 

A continuación el código para cargar el programa a la controladora 4in1 desde Arduino IDE

//zumbador
#define BUZZER  9 //buzzer to arduino pin 9

// SENSORES DE LUZ
#define LDR0  A0 //Sensor de luz Izquierda
#define LDR1  A1 //Sensor de luz Derecha


//MOTORES
//motor A -> Derecha. Motor B -> izquierda
int PinSpeedMA = 5, PinSpeedMB = 6; // PIN DIGITAL PARA LA VELOCIDAD DE LOS MOTORES
int PinTurnMA = 4, PinTurnMB = 7; // PIN DIGITAL PARA SENTIDO DE GIRO DE LOS MOTORES


int SpeedL = 175; //velocidad Izq
int SpeedR = 175; // velocidad Dcha

int Spin = 0;
int Direction = 0;
bool Control = true;

//PRUEBA
int leftsensor = 0, rightsensor = 0, us = 0, dataled = 0, databutton = 0;




void setup()
{
  Serial.begin (9600);
  //  Sensores de luz
  pinMode(LDR0, INPUT);
  pinMode(LDR1, INPUT);

  // motores
  pinMode(PinSpeedMA, OUTPUT);
  pinMode(PinSpeedMB, OUTPUT);
  pinMode(PinTurnMA, OUTPUT);
  pinMode(PinTurnMB, OUTPUT);
}

void loop()
{
 
  leftsensor = analogRead(LDR0);
  rightsensor = analogRead(LDR1);
 
Spin = analogRead(LDR0) - analogRead(LDR1);
  //Serial.println (Spin);

  if (Spin < abs(70)) { digitalWrite(PinTurnMA, LOW); // sentido HACIA DELANTE digitalWrite(PinTurnMB, LOW); analogWrite(PinSpeedMA, SpeedR); analogWrite(PinSpeedMB, SpeedL); } if (Spin > 71)
  { 
    digitalWrite(PinTurnMA, LOW); // sentido HACIA DERECHA
    digitalWrite(PinTurnMB, HIGH);
    analogWrite(PinSpeedMA, SpeedR);
    analogWrite(PinSpeedMB, SpeedL);
  }
  if (Spin < -71)
  { 
    digitalWrite(PinTurnMA, HIGH); // sentido HACIA IZQUIERDA
    digitalWrite(PinTurnMB, LOW);
    analogWrite(PinSpeedMA, SpeedR);
    analogWrite(PinSpeedMB, SpeedL);
  }
  if ((analogRead(LDR0) < 250) && (analogRead(LDR1) < 250)) {
    digitalWrite(PinTurnMA, LOW); // sentido atrás
    digitalWrite(PinTurnMB, LOW);
    analogWrite(PinSpeedMA, 0);//velocidad cero
    analogWrite(PinSpeedMB, 0);

    tone(BUZZER, 1000);
    delay(200);
    noTone(BUZZER);
    delay(100);
  }
}

Y el vídeo de la programación usando Arduino IDE

Si lo prefieres puedes descargar los ficheros para MBlock 5 y ArduinoIDE

RESULTADO FINAL:
Muestra del proyecto terminado:

0 0
0
¿Hablamos?
Necesitas Ayuda
¿Te ayudamos? 🙂

El horario en línea actualmente es de lunes a viernes de 10:00 a 13:30 y de 16:00 a 18:30 (hora España GTM+1). Si lo prefieres puedes enviarnos un correo a info@eboticseducation.com