Raspberry pi pico
IDE Arduino
Práctica 1 y 2
Anteriormente se realizó estos dos
montaje programando en python, ahora lo realizo con el interface
de arduino.IDE Arduino
Práctica 1 y 2
En estos dos primeros montajes realizaré un parpadeo de un LED y en el segundo un semáforo.
Para añadir esta tarjeta a la interface de arduino debemos realizar una serie de pasos.
He realizado un pequeño tutorial en vídeo de como instalar la tarjeta en arduino sobre Linux.
Video tutorial.
Enlace para instalar la placa en arduino.
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
Para los que les guste una explicación mas completa os dejo 3 enlaces:
https://www.electroniclinic.com/raspberry-pi-pico-rp2040-programming-in-micropython-with-examples/
https://www.youtube.com/watch?v=2gihPgEkvL8
https://picockpit.com/raspberry-pi/es/todo-sobre-la-frambuesa-pi-pico/
En la propia placa de Raspberry se incluye un LED en el pin GP25, aunque externamente no se puede acceder al pin GP25.
/* Blink */ void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(100); digitalWrite(LED_BUILTIN, LOW); delay(100); } |
En el segundo montaje realizo un simple semáforo.
Se utilizan 5 pin de la Raspberry, 3 son para las luces de los coches, y 2 para las luces de los peatones.
/* # SEMÁFORO PARA RASPBERRY PI PICO # SETA43 # seta43.duckdns.org # seta43.blogspot.com # Palencia / España # 25-08-2022 */ #define sROJO 18 #define sAMARILLO 19 #define sVERDE 20 #define pVERDE 17 #define pROJO 16 int tPARPADEO=400; int tSEMAFORO=10000; int tAMARILLO=3000; long tPEATON=6000; void setup() { pinMode(sROJO, OUTPUT); pinMode(sAMARILLO, OUTPUT); pinMode(sVERDE, OUTPUT); pinMode(pVERDE, OUTPUT); pinMode(pROJO, OUTPUT); //#INICIALIZAR digitalWrite(sAMARILLO, HIGH); digitalWrite(sROJO, HIGH); digitalWrite(sVERDE, LOW); digitalWrite(pROJO, HIGH); digitalWrite(pVERDE, LOW); delay(2); } void loop() { digitalWrite(sAMARILLO, LOW); digitalWrite(sROJO, HIGH); digitalWrite(pROJO, LOW); digitalWrite(pVERDE, HIGH); delay(tPEATON); //Parpadeo verde peatón for(int z=0;z<=7;++z) { digitalWrite(pVERDE, LOW); delay(tPARPADEO); digitalWrite(pVERDE, HIGH); delay(tPARPADEO); } digitalWrite(pROJO, HIGH); delay(1000); digitalWrite(sVERDE, HIGH); digitalWrite(sROJO, LOW); delay(tSEMAFORO); digitalWrite(sAMARILLO, HIGH); digitalWrite(sVERDE, LOW); delay(tAMARILLO); } |
VÍDEOS
En cuestión de consumo, la placa Raspberry pi pico alimentada con 4V en el pin VSYS, el consumo es de entre 23 y 30 mA.
En cuanto a velocidad de programar en python a programar en C el resultado es el siguiente;
#python # 74 KHz import machine led = machine.Pin(17, machine.Pin.OUT) while True: led.value(0) led.value(1) |
// IDE arduino // sin goto 606 KHz // con goto 798 KHz void setup() { pinMode(17, OUTPUT); } void loop() { volver: digitalWrite(17, HIGH); digitalWrite(17, LOW); goto volver; } |
Debemos saber que se sube a la placa el programa mucho más rápido con el entorno de Python.
Vemos también que es 10 veces más rápido el programa en C.
Para casos que no se necesite mucha rapidez, como el caso del semáforo, es más cómodo programar en Python.
Espero que este montaje os haya parecido interesante.
Saludos.
Juan Galaz
Bibliografía:
seta_PIA
https://www.electroniclinic.com/raspberry-pi-pico-rp2040-programming-in-micropython-with-examples/
https://www.youtube.com/watch?v=2gihPgEkvL8
https://picockpit.com/raspberry-pi/es/todo-sobre-la-frambuesa-pi-pico/
No hay comentarios:
Publicar un comentario