Be Maker
Loading...
💰Recompensa: 10 bCoins y 10 Cristales de Conocimiento por cada proyecto, desafío o reto publicado en el MakerSpace💰
👋 Hoy vamos a dar un gran salto en nuestra aventura robótica.
💡 Aprenderás a crear funciones con MBlock, a comunicarte con tu robot por Bluetooth y a controlarlo desde tu celular usando el puerto serie.
💡 Las funciones son como recetas que le damos al robot. Le decimos: “cada vez que te diga ¡adelante!, haz esto, esto y esto”. Sirven para ahorrar tiempo y evitar repetir muchas veces el mismo código. En MBlock, podemos crear nuestras propias funciones desde la sección “Mis Bloques”.
1️⃣ Ve a la categoría «Mis bloques» en MBlock.
2️⃣ Haz clic en «Crear bloque».
3️⃣ Ponle un nombre como moverAdelante.
4️⃣ Dentro, colocas las instrucciones que debe seguir (por ejemplo, encender los motores hacia adelante).
5️⃣ ¡Listo! Ahora solo usas ese bloque cuando quieras que tu robot se mueva hacia adelante.
💡 Esto nos permite crear coreografías o secuencias de movimientos de forma ordenada y clara. ¡Nuestro robot parecerá un bailarín profesional!
🧙♂️ Descripción
Vamos a crear las funciones avanzar hacia adelante y detenerse.
💻 Código
➡️ Utiliza la información del Proyecto 01: Programando Funciones para responder las siguiente pregunta:
✅ Crea las funciones para que tu robot pueda ir atrás, girar izquierda y girar derecha
💡 La comunicación serial es como una conversación entre la computadora (o celular) y el robot, donde se mandan mensajes uno a uno. Este tipo de comunicación se hace a través del puerto serie, usando cables USB o Bluetooth.
💻 Conexión con el programa Arduino
🧙♂️ Descripción
Realizar la conexión y programación del robot para que cuando se envíe la letra ‘F’ -> Código 70, los motores del robot giren hacia adelante y cuando se envíe la letra ‘S’ -> Código 83, los motores del robot se detengan.
💻 Código
➡️ Utiliza la información del Proyecto 02: Control del Robot por el Puerto Serie para responder la siguiente pregunta.
✅ Modificar el código para que cuando se envíe la letra ‘L’->Código 76, los motores del robot giren hacia la izquierda y cuando se envíe la letra ‘R’->Código 82, los motores del robot giren a la derecha.
💡 Este módulo sirve para que el robot pueda recibir órdenes inalámbricas desde el celular o una app. Es como su “antena receptora de mensajes”.
➡️ Tiene 4 pines: VCC, GND, TX, RX.
➡️ Se conecta al Arduino y permite recibir comandos en tiempo real.
#include <SoftwareSerial.h>
const int in1=8;
const int in2=9;
const int in3=10;
const int in4=11;
SoftwareSerial bt(14, 15);
char comando;
void adelante();
void atras();
void izquierda();
void derecha();
void detener();
void setup() {
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
Serial.begin(9600);
bt.begin(9600);
delay(1000);
Serial.println("Iniciando...");
detener();
}
void loop() {
if(Serial.available()){
comando = Serial.read();
switch(comando){
case 'F':
adelante();
break;
case 'B':
atras();
break;
case 'L':
izquierda();
break;
case 'R':
derecha();
break;
case 'S':
detener();
break;
}
}
else if(bt.available()){
comando = bt.read();
switch(comando){
case 'F':
adelante();
break;
case 'B':
atras();
break;
case 'L':
izquierda();
break;
case 'R':
derecha();
break;
case 'S':
detener();
break;
}
}
}
void adelante(){
Serial.println("Adelante...");
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
void atras(){
Serial.println("Atrás...");
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
void izquierda(){
Serial.println("Izquierda...");
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
void derecha(){
Serial.println("Derecha...");
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
void detener(){
Serial.println("Detener...");
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}