Skip to content

Instantly share code, notes, and snippets.

@enrmx
Created April 29, 2025 23:32
Show Gist options
  • Select an option

  • Save enrmx/df6605f978fde06908df71f50fae272e to your computer and use it in GitHub Desktop.

Select an option

Save enrmx/df6605f978fde06908df71f50fae272e to your computer and use it in GitHub Desktop.

Proyecto MicroPython para micro:bit V2 — Todos los sensores y funciones

Este programa en MicroPython utiliza todas las principales funciones y sensores integrados en el micro:bit V2, incluyendo:

  • Micrófono
  • Bocina (speaker)
  • Acelerómetro
  • Brújula (compass)
  • Sensor de temperatura
  • Display LED
  • Botones A y B
  • Entrada táctil (pin0)

🧠 Código completo

from microbit import *
import music
import audio
import speech
import random

# Inicializar brújula
compass.calibrate()

while True:
    if button_a.was_pressed():
        # Mostrar temperatura
        temp = temperature()
        display.scroll("Temp: {}C".format(temp))
    
    elif button_b.was_pressed():
        # Mostrar dirección de la brújula
        heading = compass.heading()
        display.scroll("Br: {} deg".format(heading))
    
    elif accelerometer.was_gesture("shake"):
        # Mostrar aceleración en ejes x, y, z
        x = accelerometer.get_x()
        y = accelerometer.get_y()
        z = accelerometer.get_z()
        display.scroll("X:{} Y:{} Z:{}".format(x, y, z))

    elif microphone.sound_level() > 150:
        # Detectar sonido fuerte y reaccionar
        display.show(Image.SURPRISED)
        music.play(music.BA_DING)
        sleep(1000)
        display.clear()
    
    elif pin0.is_touched():
        # Tocar pin0 reproduce voz (bocina)
        speech.say("Microbit activated")
        display.show(Image.HAPPY)
        sleep(1000)
        display.clear()
    
    sleep(100)

🔍 Explicación de funciones

🎤 Micrófono

  • microphone.sound_level() — Detecta sonidos fuertes.
  • Se activa cuando el nivel pasa de 150 y reproduce un sonido.

🔊 Bocina y voz

  • music.play() — Reproduce una melodía.
  • speech.say() — Dice una frase por la bocina (sólo en micro:bit V2).

🎮 Botones A y B

  • button_a.was_pressed() — Muestra la temperatura.
  • button_b.was_pressed() — Muestra la dirección de la brújula.

📦 Acelerómetro

  • accelerometer.was_gesture("shake") — Detecta movimiento de sacudida.
  • Muestra valores X, Y, Z.

🧭 Brújula

  • compass.calibrate() — Calibra al iniciar.
  • compass.heading() — Muestra los grados de dirección (0–360).

🌡️ Temperatura

  • temperature() — Sensor integrado que mide en grados Celsius.

🖱️ Pin0 táctil

  • pin0.is_touched() — Si se toca el pin0 con el dedo, habla.

📌 Pin0 está ubicado en el segundo contacto grande abajo del micro:bit, marcado con el número 0.

🔲 Display LED

  • display.scroll() — Muestra texto desplazado.
  • display.show() y display.clear() — Muestran imágenes y las limpian.

✅ Requisitos

  • micro:bit versión V2 (para que funcionen micrófono, bocina y voz).
  • No requiere componentes externos, pero puedes conectar sensores al pin0 si lo deseas.

💡 Ideas para mejorar

  • Añadir brújula con animación en pantalla.
  • Agregar más gestos como "left", "right", "freefall".
  • Enviar datos por radio o guardarlos en una tarjeta SD con un módulo externo.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment