El Raspberry Pi Pico es la forma ideal de ingresar a los microcontroladores. A partir de $ 4, el tablero es barato y fácil de usar. El bajo costo y la facilidad de uso significa que podemos incluirlos fácilmente en un proyecto sin temer lo peor para nuestra billetera. En este tutorial, usaremos un Raspberry Pi Pico para capturar datos de temperatura en vivo usando un DS18B20. Este sensor viene en muchas formas, desde un chip de transistor desnudo hasta un cable resistente al agua. Usaremos la última versión, que puede sumergirse parcialmente en un líquido para controlar la temperatura. Nuestro proyecto tomará una lectura de temperatura y, mediante una prueba condicional en MicroPython, activará un LED para que parpadee si la temperatura desciende por debajo de los 20 grados centígrados.
1. Sigue esta guía para descargar e instalar la última versión de MicroPython para su modelo de Raspberry Pi Pico. Siga los pasos hasta e incluyendo la conexión de Raspberry Pi Pico a Thonny.2. Cree un nuevo proyecto en blanco en Thonny.3. Importe tres módulos de código escrito previamente. El primero es onewire, un módulo que permite que Pico se comunique con la interfaz de un solo cable del DS18B20. El siguiente es ds18x20, un módulo que interpreta los datos del sensor del DS18B20 y nos proporciona datos legibles por humanos. Por último, importamos el tiempo que se usa para marcar el ritmo de nuestro código de proyecto. import onewire, ds18x20, time4. Desde el módulo Máquina importe la clase Pin. Esto permitirá que nuestro código interactúe con los componentes conectados al GPIO. from machine import Pin5. Cree dos objetos, SensorPin y alerta. SensorPin es el pin GPIO que se usa para conectar el pin de datos del DS18B20 al Pico. Alert es el pin GPIO que se conecta al ánodo (pata larga) del LED. SensorPin = Pin (26, Pin.IN) alerta = Pin (15, Pin.OUT)6. Cree un objeto, sensor y utilícelo para decirle al módulo ds18x20 dónde encontrar nuestro sensor de temperatura DS18B20. Esta línea también usa el módulo onewire, ya que ese es el protocolo que usa el sensor para la conexión.sensor = ds18x20.DS18X20(onewire.OneWire(SensorPin))7. Cree un objeto, roms y use el objeto sensor para escanear la interfaz para encontrar nuestro sensor de temperatura DS18B20. Todos los dispositivos de un solo cable, como nuestro DS18B20, tienen un número de registro único almacenado en la ROM que debemos identificar antes de poder usarlos.roms = sensor.scan()8. Usa un ciclo while True para ejecutar las siguientes líneas de código en un bucle interminable.while True:9. Establezca la lectura de temperatura para usar Celsius. Tenga en cuenta que el código dentro del bucle while True está sangrado para mostrar que pertenece al bucle. sensor.convert_temp()10. Agregue una pausa de dos segundos al código. Esto le da al DS18B20 tiempo para asentarse antes de tomar una lectura. tiempo.dormir(2)11. Use un bucle for para iterar a través de la lista de ROM devuelta. Como solo tenemos un DS18B20 en la interfaz de un cable, solo se almacenará una ROM en la lista que iteramos. para rom en roms:12. Cree un objeto, temperatura, y utilícelo para almacenar la salida de lectura del sensor DS18B20. La salida está envuelta en una función round() que redondeará los datos devueltos a 1 lugar decimal. temperatura = round(sensor.read_temp(rom),1)13. Utilice una prueba condicional para comparar el valor almacenado en el objeto de temperatura con un valor codificado. En este ejemplo, si la temperatura es inferior o igual a 20 grados centígrados, la condición se evaluará como verdadera y se ejecutará la siguiente sección del código sangrado. si la temperatura Imprime un mensaje a Python Shell que advierte al usuario que el temperamento está por debajo de los 20 C e incluye el valor de la temperatura en la oración. print(“Advertencia de que la temperatura es”,temperatura,”C”)15. Utilice un bucle for para que el LED parpadee 10 veces, con un retraso de 0,5 segundos. for i in range(10): alert.toggle() time.sleep(0.5)16. Crear una condición else que se active si la temperatura es superior a 20 C. Esta condición imprimirá la temperatura actual antes de finalizar. más: imprimir (temperatura, “C”) 17. Agregar una pausa de cinco segundos antes de finalizar el ciclo y volver al inicio del ciclo. tiempo.dormir(5)18. Guarde el código en Raspberry Pi Pico como TemperatureMonitor.py.19 Haga clic en el icono Ejecutar para iniciar el código. Después de una breve pausa, los detalles de la temperatura aparecerán en el shell de Python. Si la temperatura es inferior a 20 C, el LED parpadeará cinco veces para avisarnos.
importar onewire, ds18x20, tiempo desde la máquina importar Pin SensorPin = Pin(26, Pin.IN) alerta = Pin(15, Pin.OUT) sensor = ds18x20.DS18X20(onewire.OneWire(SensorPin)) roms = sensor.scan() print(roms) while True: sensor.convert_temp() time.sleep(2) for rom in roms: temperatura = round(sensor.read_temp(rom),1) if temperatura
Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…
Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…
Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…
Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…
Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…
El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…