Projets assortis réalisés en jouant avec le Raspberry Pi Pico.
Remarque MakePico est un script pour créer des projets PICO prêts à l'emploi. Les autres articles sont des démos et des jeux Pico.
Un exemple de projet C ++ rassemblant le Pico et la carte de modem PICO SIM7080G CAT-M1 waveshare ensemble.
Ceci est la disposition du circuit:
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
L'appareil accepte les commandes sous forme JSON. Par exemple:
{ "cmd" : " num " , "val" : 2021 }
La chaîne JSON doit être convertie en une chaîne Base64 pour la transmission par SMS:
SEND_DATA= $( echo ' {"cmd": "num", "val": 2021} ' | base64 )
Vous pouvez ensuite envoyer le SMS. Par exemple, en utilisant 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} "
Vous aurez besoin de variables de coquille pour votre SID de Super Sim, et votre Twilio Compte SID et le jeton d'autorisation. Bien sûr, différentes marques de SIM auront des paramètres différents.
Alternativement, appuyez simplement sur ces valeurs dans le script cmd.sh
qui est inclus et appelez-le avec deux arguments. Par exemple"
./cmd.sh num 9876
Enverra (base64 encodé):
{ "cmd" : " num " , "val" : 9876 }
Commandes disponibles sur l'appareil:
led
- flasher le Pico LED. Nécessite un objet val
avec le nombre de flashs comme entier.num
- Écrivez une valeur sur l'écran. Nécessite un objet val
avec le nombre (entre 0 et 9999) comme entier.tmp
- Renvoyez une lecture de température Celsius. Exige que la flotte de votre Super Sim soit configurée avec un webhook de commandes SMS, ou équivalent pour d'autres marques de SIM. Les commandes SMS originaires des périphériques de SIM sont envoyées au nombre 000, vous devrez donc modifier cette valeur dans le code (dans modem.cpp
). Il nécessite également du code côté serveur pour traiter ou afficher les données reçues.tmpcon
- Lire de température continue sur la LED, mais pas les données sont publiées sur ElSwhere.flash
- Flash un code sur la LED. Nécessite un objet code
avec un motif de chaîne, par exemple. LBSBL
où:L
- long sur (500 ms)S
- court sur (250 ms)B
- à court (250 ms)rssi
- lecture RSSI continue sur la LED.Ce projet utilise le code tiers suivant:
Un jeu d'arcade 3D de style rétro écrit en C. Pour plus de détails, consultez cette page.
Le joystick montré n'est pas celui utilisé, mais il vous donne l'idée. Connectez le violet à la broche x, blanc à la broche Y.
Construire à partir du code source ou copier phantoms.uf2
à votre pico. Veuillez vérifier le 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
Consultez cet article de blog pour plus de détails.
Ces jeux sont basés sur un original de 1982 créé par Ken Kalish de Med Systems pour l'ordinateur Tandy Color. La conception est celle de Ken; Le code est à moi et je n'ai pris que quelques libertés avec certains détails.
Phantom Slayer utilise Tinymt, Copyright © 2011 Mutsuo Saito, Makoto Matsumoto, Université d'Hiroshima et l'Université de Tokyo. Tous droits réservés. Licencié en vertu de la licence BSD à trois clauses.
Un échantillon de projet C pour construire un jeu amusant.
Construisez à partir du code source ou copiez wumpus.uf2
à votre pico. Veuillez vérifier le 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
C'est un petit jeu amusant pour chasser le Wumpus. Déplacez-vous dans la grotte avec le joystick.
Une lumière rouge indique une fosse voisine - si vous tombez, vous serez tué.
Un son de Twitter indique une batte à proximité. Si vous entrez dans son carré, il vous transportera dans une autre partie de la grotte.
Un feu vert indique que le wumpus est proche. Entrez son carré et il vous mangera, mais si vous êtes sûr où il se trouve, appuyez sur le bouton pour tirer une flèche pour le tuer en premier. Pour tirer la flèche avec succès, reculer, puis se diriger vers le Wumpus dans la direction que vous voulez vers la flèche pour voler. Si vous manquez, la bête vous attrapera!
Cette version était basée sur une version Arduino créée par Corey Faure. C'est vraiment son jeu, mais j'ai pris quelques libertés avec quelques animations et réécrit le code.
Hunt the Wumpus utilise Tinymt, Copyright © 2011 Mutsuo Saito, Makoto Matsumoto, Université d'Hiroshima et l'Université de Tokyo. Tous droits réservés. Licencié en vertu de la licence BSD à trois clauses.
Un projet CHET C. Nécessite une LED à 4 chiffres à 4 chiffres HT16K33, un capteur TVOC SGP30. J'ai utilisé ce capteur et cet affichage:
Un projet CHET C. Nécessite une matrice LED 8x8 basée sur HT16K33. J'ai utilisé cet écran.
Un échantillon de projet Micropython. Nécessite une matrice LED 8x8 basée sur HT16K33.
Script de configuration du projet PICO pour Z Shell. Nécessite Pico C SDK préinstallé.
tmpcon
et rssi
à la démo IoT cellulaire .POST
et diverses améliorations.main.c/cpp
et main.h
non spécifiques au projet.CMakeLists.txt
de MakePico utilise désormais Cmake 3.14.main.c
appelle désormais stdio_init_all()
.-c
commutateur pour créer un projet C ++.-n
pour pouvoir ajouter votre nom pour les commentaires de code.utils.h
/ utils.c
.-d
/ --debug
commutateur pour ajouter la prise en charge de débogage SWD VSCODE.launch.json
de VScode convivial pour le débogueur.Tous les code source publiés sous la licence MIT. Copyright © 2022, Tony Smith (@SmityTone).