Usa Python
Usa Python con Codey
Codey es un robot basado en micropython.
El código Python debe cargarse en Codey para poder ejecutarse.
Comience a usar Python
Comience a usar Python cambiando el modo de programación de "Bloques" a "Python"
Nota: asegúrese de que Codey esté seleccionado actualmente.
Aquí hay un código de ejemplo:
import codey
import rocky
import time
import event
@event.start
def on_start():
codey.led.show(255,0,0)
rocky.forward(50,1)
Después de programar, haga clic en "Cargar" para cargar el programa en Codey.
Convertir bloques a Python
En el área de Scripts, haga clic para convertir bloques en Python. Lo siguiente es un
ejemplo:
Usar el panel de caras
display.show (texto, espera = falso)
Muestre un fragmento de texto en el panel frontal de Codey.
codey.display.show("hello world", wait=False)
codey.display.show(3.14, wait=False)
codey.display.show("14:02", wait=False)
display.show_image (imagen, tiempo)
Muestre una imagen en el panel frontal de Codey. La imagen mostrada debe convertirse a datos
hexadecimales.
Si la duración es cualquier otro número que no sea cero, el panel se apagará después de la
duración establecida.
codey.display.show_image("00003c7e7e3c000000003c7e7e3c0000", time_s=1)
display.show_image (imagen, x, y)
Muestre una imagen en el panel frontal de Codey en una ubicación específica (x, y).
codey.display.show_image("000c18181c0c000000000c1c18180c00", 0, 0)
# Show a smiley face at the upper-left corner
codey.display.set_pixel (x, y, estado) / codey.display.toggle_pixel (x, y)
set_pixel: establece el estado del píxel en (x, y); configurar Truepara iluminar el píxel o
Falsepara apagarlo
toggle_pixel: alterna un píxel en (x, y): enciende si está apagado y apaga si está encendido
codey.display.set_pixel(5, 5, True) # light up the pixel at (5, 5)
codey.display.set_pixel(5, 5, False) # turn off the pixel at (5, 5)
codey.display.toggle_pixel(5, 5) # toggle the pixel at (5, 5)
display.get_pixel (x, y)
Compruebe si cierto píxel de Codey está activado o no. Si está activado, devuelve True; de lo
contrario, devuelve falso
print(codey.display.get_pixel(5, 5)) # print True if the pixel at (5, 5) is on
display.clear ()
Borra todo el contenido del panel frontal de Codey.
codey.display.clear() # turn off the face panel
Utilice el LED RGB en el Codey
led.show (r, g, b, time)
Configure el color del LED de Codey.
Si la duración es un número distinto de cero, el LED se apagará después de los segundos
especificados.
codey.led.show(255, 255, 0, 1) # set the color, turn off after 1 second
codey.led.show(255, 0, 0) # change the color to red
Llevar afuera()
Apague el LED de Codey.
codey.led_off() # turn off the led light
led.set_red (valor) / led.set_green (valor) / led.set_blue (valor)
Establezca el valor RGB del LED de forma independiente. El rango de cada valor de color es 0-
255.
codey.led.set_red(255)
codey.led.set_green(255)
codey.led.set_blue(255)
Hacer un sonido
speaker.play_melody (nombre)
Reproduzca el archivo de sonido.
codey.speaker.play_melody("meow")
codey.speaker.play_melody("meow.wav") # .wav is optional
Archivo de sonido disponible:
hello.wav : Hola
hi.wav :Hola
bye.wav : adiós
yeah.wav : sí
wow.wav : Guau
laugh.wav : reír
hum.wav : zumbido
sad.wav : triste
sigh.wav : suspiro
annoyed.wav : molesto
angry.wav : enfadado
surprised.wav : asustado
yummy.wav : malhumorado
curious.wav : curioso
embarrassed.wav : avergonzado
ready.wav : Listo
sprint.wav : pique
sleepy.wav : roncar
meow.wav : maullar
start.wav : comienzo
switch.wav : cambiar
beeps.wav : pitidos
buzzing.wav : zumbido
exhaust.wav : Poner a secar
explosion.wav : explosión
gotcha.wav : entendido
hurt.wav : doloroso
jump.wav : salto
laser.wav : láser
level up.wav : elevar a mismo nivel
low energy.wav : energía baja
metal clash.wav : choque de metales
prompt tone.wav : tono de aviso
right.wav : Derecha
wrong.wav : incorrecto
ring.wav : tono de llamada
score.wav : puntaje
shot.wav : Disparo
step_1.wav : paso 1
step_2.wav : paso 2
wake.wav : activar
warning.wav : advertencia
speaker.play_note (note_number, beats)
Dile a Codey que toque una nota musical durante un tiempo.
El número de nota es el número MIDI. También puede utilizar nombres de notas como "C3" o
"D4". El nombre de nota incorrecto producirá un error en la consola.
codey.speaker.play_note(36, 1)
codey.speaker.play_note('c3', 0.25)
speaker.play_tone (frecuencia, tiempos)
Reproduce una determinada frecuencia de sonido durante un tiempo determinado.
codey.speaker.play_tone(700, 1)
speaker.rest (latidos)
Pausa el sonido durante un cierto número de tiempos.
codey.speaker.rest(0.25)
speaker.stop_sounds ()
Detén todos los sonidos.
codey.speaker.stop_sounds()
volumen del altavoz
Configure o lea el volumen del altavoz de Codey.
codey.speaker.volume = (70) # Set the volume of Codey's speaker to 70%
print(codey.speaker.volume) # Get the current volume of Codey's speaker
Utilice los sensores de Codey
button_a.is_pressed () / button_b.is_pressed () / button_c.is_pressed ()
Si se presiona el botón especificado, devuelve True; de lo contrario, devuelve False.
print(codey.button_a.is_pressed()) # print True if the button A is pressed.
potenciómetro.get_value ()
Obtenga la posición de la perilla del potenciómetro en el lado de Codey. El valor será 0-100.
print(codey.potentiometer.get_value()) # Get the position of potentiometer
sound_sensor.get_loudness ()
Obtén el volumen del sensor de sonido. El rango es 0-100.
print(codey.sound_sensor.get_loudness()) # output the loudness of the sound sensor
light_sensor.get_value ()
Obtenga la intensidad de luz detectada por el sensor de luz. El rango es 0-100.
print(codey.light_sensor.get_value()) # output the light sensor's value
sensor_movimiento.is_shaked ()
Di si el Codey está siendo sacudido. El resultado es Verdadero o Falso.
print(codey.motion_sensor.is_shaked()) # if Codey is being shaken, return True
motion_sensor.is_tilted_left () / motion_sensor.is_tilted_right () /
motion_sensor.is_ears_up () / motion_sensor.is_ears_down ()
Indica si Codey está inclinado hacia la derecha / izquierda, o colocado con las orejas hacia arriba
/ hacia abajo. El resultado es Verdadero o Falso.
print(codey.motion_sensor.is_tilted_left()) # If Codey is left-tilted, return True
print(codey.motion_sensor.is_ears_up()) # If Codey is placed ears-up, return True
Giroscopio
Obtenga el valor de balanceo, cabeceo o guiñada del giroscopio de Codey
sensor_movimiento.get_roll ()
sensor_movimiento.get_pitch ()
sensor_movimiento.get_yaw ()
Obtenga el valor de rotación del giroscopio (en grados) alrededor de un eje determinado.
motion_sensor.get_rotation (eje): eje x, y o z
motion_sensor.reset_rotation (axis = "all"): restablece los ángulos de rotación del giróscopo
Puede usar motion_sensor.get_shake_strength () para obtener la intensidad del temblor.
print("The yaw and pitch is:", codey.motion_sensor.get_yaw(), codey.motion_sensor.get_pitch()) #
output the yaw and pitch value of the gyro
print("The rotation value is:", codey.motion_sensor.get_rotation(x),
codey.motion_sensor.get_rotation(y), codey.motion_sensor.get_rotation(z))
codey.motion_sensor.reset_rotation() # reset the rotation value.
print("Shake strength:", codey.motion_sensor.get_shake_strength())
get_timer ()
Obtenga el valor del temporizador en segundos (desde el inicio o el último reinicio)
print(codey.get_timer()) # print the timer value since startup or last reset
reset_timer ()
Reinicia el temporizador.
codey.reset_timer()
print(codey.get_timer()) # prints 0
Control de flujo y eventos de Codey
Codey admite eventos (como cuando se presiona el botón) y también admite subprocesos
múltiples.
Si desea utilizar un evento, declare una función y regístrela en el evento. Un programa solo
puede registrar no más de 6 funciones de eventos.
Ejemplo:
def on_button_a_pressed(): # define a function
print("Button A is pressed!")
codey.on_button_a_pressed() # register it to "when button A is pressed" event
on_button_a_pressed () / on_button_b_pressed () / on_button_c_pressed
()
Cuando se presiona el botón, ejecuta la función.
def on_button_b_pressed():
print("The B button is pressed")
codey.on_button_b_pressed()
on_shaked ()
Cuando se agita Codey, llame a la función.
def on_shaked():
print("I'm shaken!")
codey.on_shaked()
on_tilted_left ()
Llame a la función cuando Codey se incline hacia la izquierda.
def on_tilted_left():
print("I'm tilted-left!")
codey.on_tilted_left()
on_greater_than (volumen, 'sensor_sonido')
Cuando la sonoridad supere un cierto valor, llame a la función.
def on_greater_than():
print("The volume is over 50! Too loud!")
codey.on_greater_than(50, 'sound_sensor')
on_less_than (ligereza, 'light_sensor')
Cuando la luminosidad está por debajo de cierto valor, llame a la función.
def on_less_than():
print("The light is under 30! too dark!")
codey.on_less_than(30, 'light_sensor')
on_received (nombre_mensaje)
Cuando se recibe una transmisión de Scratch, active la función.
def on_received():
print("Game start!")
codey.on_received('game_start')
difusión (nombre_mensaje)
Transmite un determinado mensaje al sistema Scratch.
codey.broadcast('game_start')
stop_all_scripts () / stop_this_script () / stop_other_scripts ()
Detenga todos los procesos, este proceso u otros procesos.
codey.stop_all_scripts() # stop all processes on Codey
Deja que Rocky se mueva
adelante (velocidad, tiempo)
Dile al Rocky que avance durante un cierto período de tiempo. Si no se establece la hora, seguirá
moviéndose. El rango de velocidad es 0-100.
rocky.forward(50, 1) # run forward for 1 seconds at the speed of 50
rocky.forward(100) # run forward forever at the speed of 100
al revés (velocidad, tiempo)
Dile al Rocky que se mueva hacia atrás durante un cierto período de tiempo. Si no se establece
la hora, seguirá moviéndose. El rango de velocidad es 0-100.
rocky.backward(50)
rocky.backward(100) # run backward at the max speed of 100
turn_right (velocidad, tiempo)
Dígale al Rocky que gire a la derecha durante un cierto período de tiempo. Si no se establece la
hora, seguirá girando. El rango de velocidad es 0-100.
rocky.turn_right(50, 1) # turn right at speed 50 for 1 second
rocky.turn_right(100) # turn right at the max speed of 100
turn_left (velocidad, tiempo)
Dígale al Rocky que gire a la izquierda durante un cierto período de tiempo. Si no se establece la
hora, seguirá girando. El rango de velocidad es 0-100.
rocky.turn_left(50, 1) # turn left at speed 50 for 1 second
rocky.turn_left(100) # turn left at the max speed of 100
turn_right_by_degree (ángulo)
Haga que Rocky gire a la derecha en cierto ángulo hasta que termine.
rocky.turn_right_by_degree(90) # turn right for 90 degrees until done
turn_left_by_degree (ángulo)
Haga que Rocky gire a la izquierda en cierto ángulo hasta que termine.
rocky.turn_left_by_degree(90) # turn left for 90 degrees until done
conducir (left_speed, right_speed)
Ajuste la velocidad de las dos ruedas de Codey al mismo tiempo.
rocky.drive(50, 50) # set the speed of both wheels to 50
parada()
Detén el movimiento de Codey
rocky.stop() # tell Codey to stop moving
Utilice los sensores y la luz de Rocky
color_ir_sensor.set_led_color (color)
Configure el color del LED de Rocky. El color puede ser uno de los siguientes: "rojo", "verde",
"azul", "amarillo", "violeta", "cian", "blanco", "negro". Establecer el color en "negro" apagará el
LED de Rocky.
rocky.color_ir_sensor.set_led("red")
rocky.color_ir_sensor.set_led("black")
color_ir_sensor.is_obstacle_ahead ()
Diga si hay un obstáculo más adelante. Devuelve Verdadero o Falso. (La matriz de sensores de
Rocky debe mirar hacia adelante)
print(rocky.color_ir_sensor.is_obstacle_ahead())
color_ir_sensor
Obtenga el valor de la matriz de sensores base.
color_ir_sensor.get_light_strength (): obtiene la intensidad de la luz ambiental del entorno;
volver 0-100
color_ir_sensor.get_reflected_light (): obtiene el valor de la luz de reflexión de la superficie;
volver 0-100
color_ir_sensor.get_reflected_infrared (): obtiene el valor de reflexión IR de la superficie;
volver 0-100
color_ir_sensor.get_greyness (): obtiene el gris de la superficie por sensor de luz; volver 0-100
color_ir_sensor.get_red (): obtiene el valor rojo de la superficie; volver 0-255
color_ir_sensor.get_green (): obtiene el valor verde de la superficie; volver 0-255
color_ir_sensor.get_blue (): obtiene el valor azul de la superficie; volver 0-255
color_ir_sensor.is_color (color_str): Indica si el sensor de color detecta el color específico;
devuelve Verdadero o Falso. El color_name podría ser uno de "rojo", "verde", "azul",
"amarillo", "violeta", "cian", "blanco", "negro".
print("Lightness and Reflection: ", color_ir_sensor.get_light_strength(),
color_ir_sensor.get_reflected_light())
print("IR light value: ", color_ir_sensor.get_reflected_infrared())
print("Greyness: ", color_ir_sensor.get_greyness())
print("RGB value: ", color_ir_sensor.get_red(), color_ir_sensor.get_green(),
color_ir_sensor.get_blue())
print("On a red surface? ", color_ir_sensor.is_color("red"))
Comunicarse con señales infrarrojas
Codey puede enviar y recibir señales infrarrojas.
ir_send (mensaje)
envíe un mensaje de cadena con el emisor de infrarrojos de Codey. Otro Codey puede recibir
este mensaje con su receptor de infrarrojos.
codey.ir_send("A")
ir_receive ()
Cuando se recibe un mensaje enviado con señales infrarrojas, devuelve un valor de cadena.
codey.show(codey.ir_receive())