
Chisme 198: servo potenciómetro micro:bit, la compuerta
La entrada de la cueva del Lince, en Sierra Bermeja, tenía una piedra enorme a modo de puerta. Para abrirla había que empujar con los dos hombros y decir una palabrota. servo potenciómetro micro:bit
Víctor Vílchez, el Lince de la Noche, llegó resoplando.
—Necesito una puerta que se abra sola. Voy a ponerle un motor y a decirle «gira».
—¿Y cuándo le dices que pare? —preguntó la Gata Montesa.
—Pues… cuando esté abierta.
—Un motor normal no sabe cuándo está abierta. Seguiría girando hasta arrancar la puerta de cuajo.
—¿Y entonces?
La Gata le enseñó un motorcito azul con un cable de tres colores.
—Un servo: no gira sin parar, va al ángulo que le pides. Y para decírselo no hace falta escribir nada: usa esta ruedecita.
—¿Una ruedecita? ¿Eso es toda mi tecnología secreta?
—Es tu mando a distancia. Pero con cable.
Introducción
En este chisme 198 vas a combinar un sensor y un actuador: un potenciómetro (el sensor, una ruedecita) y un servo (el actuador, el motor que coloca la compuerta en el ángulo exacto). Cuando gires la ruedecita, la compuerta de la cueva se abrirá o cerrará. Es un proyecto de servo potenciómetro micro:bit.
Aquí no hace falta haber programado nunca: hay dos programas muy cortos y están explicados paso a paso. Practica antes en el simulador del chisme 198, que tiene modo demostración. Si es tu primera vez con la placa de ampliación, mira el chisme 146, el LED con micro:bit.
Qué necesitamos
- Una micro:bit V2 y la placa de ampliación Keyestudio (kit ks0361, 37 en 1).
- El potenciómetro del kit (módulo «analog rotation sensor»).
- Un micro servo SG90 de 9 g.
- Un cable de 3 hilos para el potenciómetro.
- Un cable USB y un ordenador con Chrome o Edge para MakeCode.
Cómo funciona un servo
Un servo es un motor pequeño con un circuito dentro que sabe en qué ángulo está. Tú le dices «ve a 90 grados» y él gira hasta ahí y se queda. Si lo empujas, hace fuerza para volver.
Un servo como este solo gira entre 0° y 180°, media vuelta. Eso es perfecto para una compuerta, una barrera o la aguja de un reloj. Puedes leer más en la Wikipedia sobre el servomotor.

Su cable tiene tres colores: marrón (G, tierra), rojo (V, alimentación) y naranja (S, señal).
Cómo funciona un potenciómetro
Un potenciómetro es una ruedecita que cambia su resistencia al girarla. La micro:bit lo mide como un número: 0 con la ruedecita en un extremo y 1023 en el otro, y valores intermedios entre medias. Es un sensor analógico: no dice «sí o no», dice «cuánto».
Mira cómo se parece a un sensor que ya conoces: el chisme 196, el sensor PIR, daba solo 0 o 1. El potenciómetro da 1024 posibles valores.

Fíjate en el orden de los pines: S, V y G.
Conexión del servo potenciómetro micro:bit
Con el USB desenchufado, pincha la micro:bit arriba en la placa, con los botones A y B hacia ti. Estas son las conexiones:
| Módulo | Cable | Va a |
|---|---|---|
| Potenciómetro | negro | G de la fila 0 |
| Potenciómetro | rojo | V de la fila 0 |
| Potenciómetro | amarillo | S de la fila 0 |
| Servo | marrón | G de la fila 1 |
| Servo | rojo | V de la fila 1 |
| Servo | naranja | S de la fila 1 |
El potenciómetro usa el pin P0 y el servo el pin P1. El pin del bloque y la fila del cable tienen que coincidir.


Muy importante: el cable USB. En nuestras pruebas, el servo solo funcionó con el cable USB conectado al micro-USB de la placa de ampliación, no al de la micro:bit. El servo gasta más corriente que un LED y la placa se la da.
Programa A · Solo el servo
Primero comprobamos que el servo funciona. Este programa lo mueve a 0°, a 90° y a 180°, esperando un segundo en cada uno. En MakeCode, pega esto en la pestaña JavaScript y vuelve a Bloques:
basic.forever(function () {
pins.servoWritePin(AnalogPin.P1, 0)
basic.pause(1000)
pins.servoWritePin(AnalogPin.P1, 90)
basic.pause(1000)
pins.servoWritePin(AnalogPin.P1, 180)
basic.pause(1000)
})

Si el servo se mueve a tres posiciones, todo está bien. Si se queda quieto, mira primero el cable USB.
Programa B · La compuerta
Ahora el potenciómetro manda al servo. Hay un problema: el potenciómetro da números de 0 a 1023 y el servo entiende ángulos de 0 a 180. Hay que traducir de uno a otro.
Para eso existe el bloque ajustar intervalo. Es una regla de tres: si el giro es 512 (la mitad de 1023), el ángulo será 90 (la mitad de 180).
basic.forever(function () {
let giro = pins.analogReadPin(AnalogPin.P0)
let angulo = Math.map(giro, 0, 1023, 0, 180)
pins.servoWritePin(AnalogPin.P1, angulo)
serial.writeValue("giro", giro)
serial.writeValue("angulo", angulo)
basic.pause(50)
})

Qué hace cada línea:
- fijar giro a lectura analógica pin P0: guarda lo que mide el potenciómetro (0 a 1023).
- fijar angulo a ajustar intervalo: traduce el giro a un ángulo de 0 a 180.
- escribir servo pin P1 a angulo: manda el servo a ese ángulo.
- serial escribir valor: envía los dos números al ordenador para que los veas.
- pausa 50 ms: descansa un momento antes de volver a empezar.
Qué deberías ver
- Con la ruedecita a un lado, la compuerta (el servo) está en 0°.
- A la mitad, el servo está en 90°.
- Al otro lado, está en 180°.
- Si giras despacio, el servo sigue a la ruedecita sin tirones.
Abre el puerto serie de MakeCode (Mostrar datos Dispositivo) y verás los dos números: el giro y el ángulo. Es un dato como los que guardaste en el chisme 150, el datalogger con micro:bit.
Si algo falla
- El servo no se mueve nada: pasa el cable USB al micro-USB de la placa de ampliación.
- Se mueve al revés o no llega a los extremos: comprueba que los cables de la fila 0 y de la fila 1 estén en el orden G, V, S.
- Tiembla un poco: es normal con el potenciómetro en una posición intermedia. Gira un pelín más.
- No pasa nada con el programa B: mira en el puerto serie si el giro cambia al mover la ruedecita.
Qué estamos midiendo realmente
El potenciómetro no mide ángulos: mide tensión, y la micro:bit la convierte en un número de 0 a 1023. Eso es un dato. El ángulo es la medida que nos interesa, y la calculamos nosotros con la regla de tres.
Un potenciómetro real puede no llegar exactamente a 0 ni a 1023. Mira en el puerto serie los valores en los dos extremos y, si hace falta, cámbialos en el programa. Eso se llama calibrar: ajustar el sensor para que mida bien.
Para el aula
- ¿Qué sensor usamos? ¿Y qué actuador?
- ¿Qué valores salen en los dos extremos de la ruedecita? ¿Son 0 y 1023?
- ¿Qué pasa si cambias «hasta 180» por «hasta 90»?
- Predice: si el giro vale 256, ¿qué ángulo saldrá? Compruébalo con el puerto serie.
- ¿Qué otras cosas podrías mover con un servo? Una barrera, una aguja, una trampilla…
Retos por niveles
- Nivel 1: haz que el servo se mueva solo hasta 90°.
- Nivel 2: invierte el sentido: ruedecita a un lado, 180°; al otro, 0°.
- Nivel 3: muestra en la pantalla de la micro:bit si la compuerta está cerrada o abierta.
- Nivel 4: pon la compuerta en 0° al pulsar el botón A y en 90° al pulsar el B, sin potenciómetro.
- Nivel 5: añade el sensor PIR del chisme 196: la compuerta se abre sola cuando alguien se acerca.
Versión monitor
Si eres alumno o alumna de 1º de Bachillerato y se lo vas a enseñar a los pequeños:
- Deja el montaje hecho y deja que giren la ruedecita y vean cómo se mueve el servo.
- Pregúntales: «¿qué pasa si el servo recibe un ángulo de 90?». Que lo adivinen antes de probar.
- Enséñales el puerto serie: dos números que cambian a la vez.
Apoyos DUA incluidos
- Pasos numerados y cortos, con los mismos colores en las tablas y en los cables.
- Programa en bloques y en JavaScript, para elegir.
- Dos niveles: el programa A para empezar y el B para ampliar.
- Preguntas de reflexión y retos de distinto nivel.
- Texto alternativo en las imágenes.
Qué hemos aprendido
Con el servo potenciómetro micro:bit, un sensor analógico, el potenciómetro, da un número de 0 a 1023. Un actuador, el servo, se coloca en un ángulo de 0 a 180. Con ajustar intervalo traducimos de uno a otro y la compuerta obedece a la ruedecita.
El Lince abrió la puerta de la cueva girando una ruedecita. La Gata miró la piedra, que seguía ahí, y no dijo nada. Solo comentó que la próxima vez le pondría una puerta de verdad.
Para seguir investigando
- Simulador del chisme 198
- Chisme 146: LED con micro:bit
- Servomotor en la Wikipedia
- Potenciómetro en la Wikipedia
- MakeCode para micro:bit
Prototipo educativo, no un sistema de control certificado.
Etiqueta:actuador, AIDARAC, ies monterroso, keyestudio, makecode, micro:bit, montesteam, potenciómetro, sensor analógico, Servo



