Nicolas Esteban Prieto Sarmiento
Juan Carlos Padilla Climaco
Jorge Armando Mendez Muñoz
Un robot confiable empieza por una base sólida: sensores bien cableados, lógica clara y pruebas sistemáticas. Aquí verás cómo activar tu robot con un botón usando lógica inversa, leer un sensor digital Pololu basado en Sharp y estructurar un ciclo while para el flujo de decisiones. Todo en Arduino, paso a paso y sin rodeos.
¿Qué sensores y lógica usa el robot final?
El robot detecta obstáculos con un sensor de presencia Pololu digital: envía 0 cuando detecta un objeto y 1 cuando no. Pololu añade el circuito a sensores ópticos Sharp, ahorrándote resistencias y capacitores que el propio datasheet de Sharp prescribe. La acción base: si detecta un obstáculo, gira a la izquierda; si no, sigue avanzando.
¿Cómo funciona el sensor Pololu digital y los Sharp ópticos?
¿Qué es lógica inversa con input pull up?
¿Cómo decide el robot su movimiento con while?
¿Cómo se programa el botón de inicio con Arduino?
La clave es una variable de estado y el uso correcto de HIGH/LOW con INPUT_PULLUP. Además, se añade un delay de 300 ms para evitar el debouncing (rebote), que puede registrar múltiples lecturas con una sola pulsación.
¿Qué variables y estados controlan el flujo?
¿Cómo leer el botón y evitar el rebote?
¿Cómo estructurar el ciclo while de activación?
// Pines const int botonUno = 7; // botón en pin 7 const int sensorObstaculo = 2; // sensor Pololu digital en pin 2 // Estado int botonEstado = HIGH; // inactivo al iniciar int botonValor = HIGH; void setup() { pinMode(botonUno, INPUT_PULLUP); pinMode(sensorObstaculo, INPUT); // setup de motores/driver omitido; usa tu "librería de movimientos". } void loop() { // Lectura inicial del botón para entrar/salir del modo activo botonValor = digitalRead(botonUno); if (botonValor == LOW) { botonEstado = LOW; // activar delay(300); // anti-rebote } else { botonEstado = HIGH; // inactivar } // Modo activo: ciclo principal while (botonEstado == LOW) { int lectura = digitalRead(sensorObstaculo); if (lectura == LOW) { // obstáculo detectado girarIzquierda(); } else { avanzar(); } // Opción de salida del modo activo botonValor = digitalRead(botonUno); if (botonValor == LOW) { botonEstado = HIGH; // salir delay(300); // anti-rebote } } } // Implementa avanzar() y girarIzquierda() en tu "librería de movimientos".
¿Cómo probar, depurar y ampliar el prototipo?
Un buen debugging empieza por lo físico: conexiones, pines y alimentación. Luego, verifica la lógica y vuelve a cargar el sketch.
¿Qué checklist eléctrico evita fallos?
¿Cómo verificar el software y el cableado?
¿Qué mejoras propone el desafío final?
¿Con qué sensores y comportamientos ampliarías este robot? Comparte tus ideas, tu diagrama de flujo y dudas en los comentarios.
Nicolas Esteban Prieto Sarmiento
Juan Carlos Padilla Climaco
Jorge Armando Mendez Muñoz
David Tello Sosa
Ricardo Celis
ProfesorNelson Frias
Rodrigo Guerra Castilla
Erick Frank Pasache Sernaque
Ramiro Contreras León
Alberto Alfaro Murillo
Kenneth Angulo L
Juan David Jiménez López
Jonathan Gallego
María Alejandra Correa Rojas
Paul Santana
Samuel David Andrade Rivera
Angel Solis
Ricardo Celis
ProfesorJhamir May Sanchez
Ricardo Celis
ProfesorJhamir May Sanchez
Kenneth René Tomás Pérez
Hector F
Jonathan Alexander López Cruz
Roque Eduardo Gomez
Erik Elyager
Fernando Labastida Vázquez
Omar Daniel Centeno
Dhilan Michel Ibarra Miranda
David Galisteo
Jhorman Villanueva Vivas
Omar Daniel Centeno
bior Melgar Luján
Pablo Martinez
Josué David Vitate Rodriguez
José Ricardo Romo Gutiérrez
le puse a mi robot un servo motor para que pueda registrar si encontró objetos a la derecha y izquierda
wow
que padre compañero, lo quiero hacer como el tuyo :3
Ricardo, a los principiantes nos será de mucha utilidad si nos agregas el diagrama de conexión por favor
David, esta semana se los agrego, un saludo!
dos años despues....
Según tu error fue que conectaste el pin del botón al pin 12 de arduino y debería ser el 7 según tu código. Porque vuelves a grabar el programa al arduino, si solo fue mover el cablecillo del 12 al 7??, no tiene nada que ver el codigo que ya habia sido cargado a arduino. No es necesario
Lo mismo pienso yo
Para un proyecto como el del Robot evasor, creo muy importante que expliques cada conexión y el armado a detalle.
Sobre el rebote: es importante tenerlo en cuenta para evitar falsos positivos en la lectura del pulsador. Y asi evitar un comportamiento erratico. otra manera de solucionarlo es poner un condensador como se muestra en la foto.
Excelente, justo eso estuvimos viendo en unas clases en la universidad.
Gracias por el curso. Es básico pero ayuda a entender el funcionamiento de Arduino.
Super me encanta. Ya he trabajo con Arduino pero igual gracias, nunca se deja de aprender.
Les comparto un software que desarrolle Con el cual pueden comunicarse con el Arduino por el puerto Serial o Bluetooth de su ordenador En el link viene el manual de usuario y la librería con ejemplos de como utilizarla
Hola, esta increible tu aporte!! Muy util, gracias. Quisiera saber como hiciste el software que nos da esa forma de comunicarnos.
Feliz dia!
Un grandioso curso, ya habia trabajado con arduino pero aun asi aprendi muchas cosas en este curso, estoy ansioso por iniciar el siguiente.
geniaaal! no olvides presentar tu examen y dejar tus 5 estrellas!
Hola, tengo algunos problemas, decidí usar el sensor ultrasónico sin embargo no puedo hacer que funcione adecuadamente el código con dicho sensor, podrías guiarme en cuanto a el HC-SR04??
Claro que sí, pasame tus conexiones
perdonen. hay algun curso que continue este??? me interesa mucho seguirlo
Éste curso forma parte de la carrera Internet of Things. El curso que seguiría es el Curso de Introducción al IoT.
busca el curso de robotica
Faltan el diagrama de conexiones ¿Cuando estará disponible?
Recuerda que cada row está compuesta por 12 columnas, al asignar la clase col-8 y col-4 respectivamente, toman ese espacio en columnas y suman doce.
En donde carambas está la clase con el sensor de proximidad y los diagramas de los circuitos? Ya que no se ve nada claro con esa cámara. La verdad tienen que mejorar mucho la calidad de sus cursos.
¡Hola!
Recuerda que puedes escribir tus comentarios y sugerencias al team@platzi.com o utilizar la bandera para reportar un problema que está a un costado. Seguro que suben el diagrama pronto.
Saludos
El sensor HC-SR04 es analógico?
Es digital. Saludos
Deberían de revisar las respuestas a las preguntas que hacen en el examen. He visto errores que confunden.
¡Hola!
¿Recuerdas qué preguntas fueron? Recuerda que siempre puedes escribir tus comentarios y sugerencias al team@platzi.com.
Como no hay los esquemáticos del proyecto es bueno utilizar el simulador Tinkercat porque tiene la mayoría de componentes y además puedes ponerle el código. Así te guías mejor para cuando lo implementas
excelente curso gracias platzi
Entre al curso de robótica con arduino pero no sale cómo hacer el robot que barre el piso. En que curso es porfa??
Este curso estuvo bien, genial celis, estoy pendiente para hacer el siguiente. 😃