Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Pequeño vagabundo

Componentes y suministros

Arduino Nano R3
× 1
Breadboard (genérico)
× 1
Cables de puente (genéricos)
× 1
Sensor ultrasónico - HC-SR04 (genérico)
× 1
Rueda Adafruit para micro rotación continua FS90R Servo
× 2
Micro Servo de rotación continua Adafruit - FS90R
× 2
LED (genérico)
Cualquier color. Es solo para hacer que la cosa sea divertida y parpadear mientras da vueltas
× 2
portapilas 4xAA
Usé un portapilas de barril ... Esto es solo para referencia.
× 1
SparkFun Ball Caster Metal - 3/8 "
× 1
Recipiente de plástico
Como un tupperware barato o una caja de magarina de 500 g.
× 1
pegatinas
Este es solo un ejemplo para mostrar a qué tipo de pegatinas me refiero ...
× 1

Herramientas y máquinas necesarias

Pistola de pegamento caliente (genérica)
cuchillo para alfombras

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Antecedentes

Mi sobrino (9 años) y mi sobrina (7 años) se volvieron locos cuando vieron un video de un robot para evitar obstáculos que construí hace un tiempo.

Lamentablemente, el tutorial para ese nunca llegará, ya que es anterior a la muerte de mi disco duro y al descubrimiento de los beneficios de las copias de seguridad y DropBox, GitHub, etc. :)

Así que decidí ver si podía pensar en algo que fuera a la vez (un poco) educativo y divertido. Simplifiqué mi juguete tanto como pude y se me ocurrió este pequeño vehículo.

El chasis es una caja que originalmente contenía palitos de cangrejo. Resulta que el tamaño era perfecto. (Gracias papá por masticarlos por la caja llena:D) Un recipiente de margarina probablemente también sería del tamaño correcto.

Como descargo de responsabilidad, describiré aquí cómo construimos esos robots y dejamos que los niños hagan casi todo el trabajo ellos mismos. No recomiendo, de ninguna manera, hacerlo. Depende de usted, como padre / tutor / tía / tío / niñera responsable ... determinar si se puede confiar en cada niño en cuestión para las diversas tareas. Aunque no era realmente necesario, se obligó a los niños a usar gafas protectoras cuando trabajaban en los robots. Las cajas que usamos estaban hechas de plástico muy suave, así que dejé que mi sobrino y mi sobrina las cortaran ellos mismos después de una sesión informativa sobre los peligros de apuntar con el cuchillo para alfombras hacia ellos mismos o sus propias extremidades. pequeño destornillador eléctrico inalámbrico para limitar las posibles lesiones.

Me complace informar que el botiquín médico que tenía en espera aún no se ha utilizado. :)

Pero para reiterar, ¡TÚ eres el adulto!

Circuito

Hice el circuito un poco más complicado de lo que podría tener conectando ambos servos de la forma en que lo hice.

Para los niños ... Sigo diciendo eso, pero los 'niños' incluían a mi hermana (35 años) y mi mamá (65 años), quienes disfrutaron la tarde de Robots-and-Crafts tanto como la hijos reales. :)

Entonces, para mi audiencia, imprimí la imagen en una página A4 tratando de mantener la escala de la placa de pruebas 1:1 con el mundo real y les di todos los cables de puente del color y la longitud correctos.

Una vez que el circuito está ensamblado, simplemente cargue el programa en el Arduino. Incluí comentarios en el código para ayudarlo a modificar un poco el código, si es necesario. Si todo está conectado correctamente, los servos deberían comenzar a girar y los LED parpadearán. Y si coloca la mano frente al sensor, un servo servo se detendrá y el otro girará brevemente en la otra dirección.

¡Todo listo!

Ensamblaje

Es hora de tomar su 'chasis' y hacerle agujeros.

En la parte delantera, marque la posición de su sensor y corte los agujeros para los 'ojos'.

En el costado, mida bien dónde desea que vayan las ruedas y corte un agujero en el costado, en el borde de la parte inferior de la caja, lo suficientemente grande para que el servo entre, pero lo suficientemente pequeño para que los soportes de montaje no entren. mediante.

Con una broca pequeña, taladre 2 pequeños orificios para los LED.

En la parte inferior de la caja, hacia atrás, atornille la rueda giratoria (o péguela con pegamento caliente).

Ahora está listo para poner todo en la caja y pegar el material en su lugar.

Monte las ruedas en los servos una vez que se haya fijado el pegamento.

¡Decora la caja! (¡Y publica fotos en ellos! ¡Sería genial!)

Ponga las pilas y observe cómo el pequeño rover se mueve por la habitación al azar hasta que se agotan. O te cansas del ruido. ¡O el perro lo agarra! :D

Código

  • LittleRover
LittleRover Arduino
Esta es la versión del código para el sensor ultrasónico de 4 pines
 #include  / * Si tiene un sensor con solo 3 pines, Descomente la línea 6 y comente la línea 7 * /// int distanciaR =A0; // Disparar la distancia de pinint =6; // Activar pinint pingDelay =10; // longitud del pulso del sensor ultrasónicoint distanceR =A0; // Echo pinint led1 =8, led2 =9; // LEDsServo leftPower; Servo rightPower; unsigned long flashTime; unsigned long nextSensorTime; float obstacleDist =0.0f; void setup () {//Serial.begin(115200); leftPower.attach (3); rightPower.attach (5); leftPower.write (90); rightPower.write (90); pinMode (led1, SALIDA); pinMode (led2, SALIDA); retardo (1000);} bucle vacío () {LED (); / * Esto evita que el sensor agote la batería demasiado rápido al limitar las comprobaciones a 5 veces por segundo. Puede aumentar este número para comprobar con menos frecuencia, pero luego podría chocar contra la pared ... * / if (millis () - nextSensorTime> 200) {nextSensorTime =millis (); / * Hago 2 lecturas aquí porque a veces el sensor se confunde y no devuelve nada ... * / float reading1 =TakeReading (); retraso (100); lectura flotante2 =TakeReading (); Serial.println (lectura1); Serial.println (lectura2); // Entonces tomamos la mayor distancia para obstacleDist obstacleDist =reading1> =reading2? lectura1:lectura2; // Si la distancia es inferior a 10 cm, gire; de ​​lo contrario, siga recto. if (obstacleDist <10.0f) {//Serial.println("turn "); turno(); } else {//Serial.println("forward "); adelante(); }}} LED vacíos () {if (millis () - flashTime> 1000) flashTime =millis (); if (millis () - flashTime <500) {digitalWrite (led1, LOW); digitalWrite (led2, ALTO); } else if (millis () - flashTime> 500) {digitalWrite (led1, HIGH); digitalWrite (led2, BAJO); }} void forward () {/ * Si encuentra que su robot está retrocediendo, cambie el 135 y el 45 alrededor. * / leftPower.write (135); rightPower.write (45);} void turn () {/ * Si quieres que tu robot gire hacia el otro lado, quita el comentario de las líneas 92-93 a continuación y comenta 95-96 * / //leftPower.write(90); //rightPower.write(135); leftPower.write (45); rightPower.write (90); delay (350);} float TakeReading () {unsigned long echo =0; resultado flotante =0.0f; pinMode (distancia, SALIDA); digitalWrite (distancia, BAJA); delayMicroseconds (2); digitalWrite (distancia, ALTA); delayMicroseconds (pingDelay); digitalWrite (distancia, BAJA); pinMode (distanciaR, ENTRADA); escritura digital (distancia R, ALTA); echo =pulseIn (distanciaR, ALTA, 38000); resultado =echo / 58.138; devolver resultado;} 

Esquemas

littlerover_87IypZOgwm.fzz

Proceso de manufactura

  1. Rover
  2. ¡Ataque OVNI!
  3. Dados digitales Arduino
  4. Fuego desde el agua
  5. Arduclock 3D RGB
  6. Mi Río
  7. Iron Man
  8. Juego de joystick
  9. Encuéntrame
  10. Brazo robótico Arduino impreso en 3D
  11. Detector de alcance portátil