Proyectos variados realizados mientras juegan con Raspberry Pi Pico.
Note Makepico es un script para crear proyectos PICO listos para usar. Los otros artículos son demostraciones y juegos de pico.
Un proyecto de muestra C ++ que reúne el PICO y el Waveshare Pico SIM7080G Cat-M1 Modem Board.
Este es el diseño del circuito:
GCC 10.3.1 arm-none-eabi
: cd <YOUR_GIT_DIRECTORY>/pi-pico/cellular-iot-demo
cmake -S . -B build/
cmake --build build --clean-first
El dispositivo acepta comandos en forma JSON. Por ejemplo:
{ "cmd" : " num " , "val" : 2021 }
La cadena JSON debe convertirse en una cadena Base64 para la transmisión por SMS:
SEND_DATA= $( echo ' {"cmd": "num", "val": 2021} ' | base64 )
Luego puedes enviar el SMS. Por ejemplo, usando Twilio Super SIM:
curl -X POST https://supersim.twilio.com/v1/SmsCommands
--data-urlencode " ${SIM_SID} "
--data-urlencode " Payload= ${SEND_DATA} "
-u " ${ACCOUNT_SID} : ${ACCOUNT_AUTH_TOKEN} "
Necesitará variables de shell para el SID de su Super SIM, y su Token de autorización y token de autorización de Twilio. Diferentes marcas de SIM tendrán diferentes configuraciones, por supuesto.
Alternativamente, simplemente golpee esos valores en el script cmd.sh
que está incluido y llámelo con dos argumentos. Por ejemplo"
./cmd.sh num 9876
enviará (base64 codificado):
{ "cmd" : " num " , "val" : 9876 }
Comandos disponibles desde el dispositivo:
led
- Flash el led pico. Requiere un objeto val
con el número de flashes como entero.num
- Escribe un valor en la pantalla. Requiere un objeto val
con el número (entre 0 y 9999) como entero.tmp
- Envíe una lectura de temperatura Celsius. Requiere que la flota de su Super SIM se configure con un SMS comandos webhook, o equivalente a otras marcas de SIM. Los comandos SMS originados en el dispositivo Super SIM se envían al número 000, por lo que deberá alterar ese valor en el código (en modem.cpp
). También requiere que el código del lado del servidor procese o muestre los datos recibidos.tmpcon
- Lectura continua de temperatura en el LED, pero no se publican datos.flash
- flash un código en el LED. Requiere un objeto code
con un patrón de cadena, por ejemplo. LBSBL
DONDE:L
- Long on (500 ms)S
- Corto (250 ms)B
- corta (250 ms)rssi
- lectura continua de RSSI en el LED.Este proyecto utiliza el siguiente código de terceros:
Un juego de arcade 3D de estilo retro escrito en C. Para más detalles, consulte esta página.
El joystick que se muestra no es el que se usa, pero te da la idea. Conecte el púrpura al pin X, blanco al pasador y.
Construya a partir del código fuente o copie phantoms.uf2
a su PICO. Por favor, consulte el SHA 256:
d9e4e2d28b8a5b983e1551d114cd4ae6d668858b43a9df6c92f946327a96f146
GCC 10.3.1 arm-none-eabi
: cd <YOUR_GIT_DIRECTORY>/pi-pico/phantoms
cmake -S . -B build/
cmake --build build --clean-first
Vea esta publicación de blog para obtener todos los detalles.
Este juego se basa en un original de 1982 creado por Ken Kalish de Med Systems para la computadora de color tandy. El diseño es de Ken; El código es mío, y solo he tomado unas pocas libertades con ciertos detalles.
Phantom Slayer usa Tinymt, Copyright © 2011 Mutsuo Saito, Makoto Matsumoto, la Universidad de Hiroshima y la Universidad de Tokio. Reservados todos los derechos. Licenciado bajo la licencia BSD de tres cláusulas.
Un proyecto de muestra C para construir un juego divertido.
Construir desde el código fuente o copiar wumpus.uf2
a su PICO. Por favor, consulte el SHA 256:
65957c643df25f89ddd3f70f16131c7037e582fa04743c35b7af78b90eb0a0f5
GCC 10.3.1 arm-none-eabi
: cd <YOUR_GIT_DIRECTORY>/pi-pico/wumpus
cmake -S . -B build/
cmake --build build --clean-first
Este es un pequeño juego divertido para cazar el Wumpus. Muévete a través de la cueva con el joystick.
Una luz roja indica un pozo cercano: si caes, te matarán.
Un sonido de twitter indica un bate cercano. Si ingresa a su cuadrado, lo llevará a otra parte de la cueva.
Una luz verde indica que el wumpus está cerca. Ingrese su cuadrado y se comerá, pero si está seguro de dónde está, presione el botón para disparar una flecha para matarla primero. Para disparar la flecha con éxito, retroceda y luego muévase hacia el wumpus en la dirección que desea que vuele la flecha. Si te pierdes, ¡la bestia te atrapará!
Esta versión se basó en una versión Arduino creada por Corey Faure. Este es en gran medida su juego, pero me he tomado algunas libertades con un par de animaciones y reescribí el código.
Hunt the Wumpus usa Tinymt, Copyright © 2011 Mutsuo Saito, Makoto Matsumoto, Universidad de Hiroshima y la Universidad de Tokio. Reservados todos los derechos. Licenciado bajo la licencia BSD de tres cláusulas.
Un proyecto de muestra C. Requiere un LED de 4 dígitos, 7 segmentos basado en HT16K33 y un sensor SGP30 TVOC. Usé este sensor y esta pantalla:
Un proyecto de muestra C. Requiere una matriz LED 8x8 basada en HT16K33. Usé esta pantalla.
Una muestra de proyecto Micopython. Requiere una matriz LED 8x8 basada en HT16K33.
Pico Proyecto Configurar script para Z Shell. Requiere Pico C SDK preinstalado.
tmpcon
y rssi
a la demostración de IoT celular .POST
OPS y varias mejoras.main.c/cpp
y main.h
no, no archivos específicos del proyecto.CMakeLists.txt
DE MAKEPICO.txt ahora usa CMake 3.14.main.c
de Makepico ahora llama stdio_init_all()
.-c
para crear un proyecto C ++.-n
para que pueda agregar su nombre para comentarios de código.utils.h
/ utils.c
.-d
/ --debug
para agregar el soporte de depuración SWD VSCODE.launch.json
de VSCode amigable para el depurador.Todo el código fuente publicado bajo la licencia MIT. Copyright © 2022, Tony Smith (@smittytone).