Robótica para infantil
Se puede hacer un robot tipo Beebot, Colby, Escornabot.
Si no conocéis estos robots mirar el curso de Aularagon
Podemos cargar el siguiente programa, modificado de https://github.com/arduino/arduino-alvik-mpy/blob/main/examples/touch_move.py
from arduino_alvik import ArduinoAlvik
from time import sleep_ms
import sys
alvik = ArduinoAlvik()
alvik.begin()
alvik.left_led.set_color(1, 0, 0)
alvik.right_led.set_color(1, 0, 0)
distancia = 15
movements = []
def blink():
alvik.left_led.set_color(1, 0, 1)
alvik.right_led.set_color(1, 0, 1)
sleep_ms(200)
alvik.left_led.set_color(1, 0, 0)
alvik.right_led.set_color(1, 0, 0)
def add_movement():
global movements
if alvik.get_touch_up():
movements.append('forward')
blink()
while alvik.get_touch_up():
sleep_ms(100)
if alvik.get_touch_down():
movements.append('backward')
blink()
while alvik.get_touch_down():
sleep_ms(100)
if alvik.get_touch_left():
movements.append('left')
blink()
while alvik.get_touch_left():
sleep_ms(100)
if alvik.get_touch_right():
movements.append('right')
blink()
while alvik.get_touch_right():
sleep_ms(100)
if alvik.get_touch_cancel():
movements = []
for i in range(0, 3):
val = i % 2
alvik.left_led.set_color(val, 0, 0)
alvik.right_led.set_color(val, 0, 0)
sleep_ms(200)
while alvik.get_touch_cancel():
sleep_ms(100)
def run_movement(movement):
if movement == 'forward':
alvik.move(distancia, blocking=False)
if movement == 'backward':
alvik.move(-distancia, blocking=False)
if movement == 'left':
alvik.rotate(90, blocking=False)
if movement == 'right':
alvik.rotate(-90, blocking=False)
while not alvik.get_touch_cancel() and not alvik.is_target_reached():
alvik.left_led.set_color(1, 0, 0)
alvik.right_led.set_color(1, 0, 0)
sleep_ms(100)
alvik.left_led.set_color(0, 0, 0)
alvik.right_led.set_color(0, 0, 0)
sleep_ms(100)
while alvik.get_touch_ok():
sleep_ms(50)
while not (alvik.get_touch_ok() and len(movements) != 0):
add_movement()
sleep_ms(50)
try:
while True:
alvik.left_led.set_color(0, 0, 0)
alvik.right_led.set_color(0, 0, 0)
for move in movements:
run_movement(move)
if alvik.get_touch_cancel():
break
movements = []
while not (alvik.get_touch_ok() and len(movements) != 0):
alvik.left_led.set_color(1, 0, 0)
alvik.right_led.set_color(1, 0, 0)
alvik.brake()
add_movement()
sleep_ms(100)
except KeyboardInterrupt as e:
print('over')
alvik.stop()
sys.exit()
El resultado es que perfectamente se puede usar como robótica en infantil
Los robots Beebot, Colby, Escornabot. utilizan la distancia de 15cm de desplazamiento, justo lo mismo que los palos depresores de lengua, luego fácilmente uno puede hacer un circuito :
No Comments