-
Notifications
You must be signed in to change notification settings - Fork 1
Python
8 dépôts github : exemples-de-montages festisol CROUS-micro-python piano visio anumby jouets developpement-voiture raspberry-pico Blog ateliers numériques Repair Café d'Orsay

Le raspberry pico est très économique (4 euros environ). Un clone existe pour 2 euros !

Le clone a 3 boutons et une diode LED tricolore

Il est très économique. Jouons avec pour réparer ou refaire de nouveaux jouets avec ce module plein de boutons et une drôle de led qui prend toutes les couleurs
ws2812.mp4
Ce modèle est peu documenté ; la diode multicolore est pin 23 ; documentation ici

Pour ce clone de Pico, la diode n'est pas toujours activée. Pour accéder à la led colorée une soudure entre les 2 plots RGB suffit pour donner l'accès à la pin 23 pour avoir des couleurs

En appuyant sur BOOT : cliquez sur BOOT tout en le branchant sur la prise USB pour faire apparaître le contenu du pico

Le contenu version constructeur est réduit à 2 fichiers ; ajouter au minimum le logiciel micropython ou circuitpython

La diode led bleue interne de ce modèle est sur l'entrée 25 au lieu de 2 sur les modèles britanniques (Pin 25). En ajoutant micropython comme dans les raspberry pico , je fais clignoter la diode led interne
# clignote
from machine import Pin
import time
led = Pin(25, Pin.OUT)
led.value(1)
while True:
led.value(1)
time.sleep(2)
led.value(0)
time.sleep(1)
Comment avoir la température ? le pico possède un capteur de température interne dans la puce. J'utilise le convertisseur analogique vers digital ( ADC ) ; je peux avoir sa valeur ( 0 à 65535 )
# lire la température
from machine import ADC
while True:
sensor_temp = ADC(4)
temperature = sensor_temp.read_u16()
print (temperature)
La valeur de sortie du convertisseur est brute ; il faut l'étalonner pour avoir des degrés ; pour rajouter un écran j'ai ajouté un affichage ici

Une bibliothèque est nécessaire pour la diode LED. Le fichier ws2812.py est disponible ici à charger dans le pico

from ws2812 import WS2812
import utime
import machine
power = machine.Pin(11,machine.Pin.OUT)
power.value(1)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
YELLOW = (255, 150, 0)
GREEN = (0, 255, 0)
CYAN = (0, 255, 255)
BLUE = (0, 0, 255)
PURPLE = (180, 0, 255)
WHITE = (255, 255, 255)
COLORS = (BLACK, RED, YELLOW, GREEN, CYAN, BLUE, PURPLE, WHITE)
#led = WS2812(12,1)#WS2812(pin_num,led_count)
led = WS2812(23,1)#WS2812(pin_num,led_count)
while True:
print("Beautiful color")
for color in COLORS:
led.pixels_fill(color)
led.pixels_show()
utime.sleep(0.2)
Comment réaliser avec ce module un montage sans composant pour donner la température ? Big Ben sonne des coups d'horloge pour les heures. Nous allons utiliser la led bleue "power" pour afficher la température par le nombre de flash des unités : 1 pour 1 degré ou 21 degrés , 2 pour 2 degrés ou 21 degrés

Nous utilisons la led de couleur : nous pouvons faire varier la couleur avec une roue de couleur ( wheel) variant du rouge chaud au bleu froid.

Le programme utilise la librairie de la led (ws2812) : wheel() varie de 0 à 255 et retourne une matrice (R,G,B) avec les trois couleurs
# roue de couleur de rouge > vert > bleu
for pos in range (255):
led.pixels_fill(led.wheel(pos))
led.pixels_show()
Pico pour lire la température avec des bips pour les unités (3 pour 23 degrés ) et la couleur (rampe de couleur ) sur la LED code ici
temperature.mp4
Le schéma complet de ce clone

Pas très facile d'avoir la dernière version ; pour pico j'ai eu besoin d'installer la version 4

Pour Linux https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico/2 nous n'avons pas acces au numero de version et Python n'est pas installé sur le pico ; pour les fans du libre et en attendant que Thonny prenne en compte le RP2040, il faut installer manuellement le dépot UF2 rp2-pico-20210902-v1.17 en le copiant dans le répertoire du RP2040 ; procéder à un reboot RP2040 en appuyant sur le bouton BOOTSEL pour tester le blink sous linux ou le micropython RP2040 pour allumer un feu tricolore. Sur internet de nombreux projets sont portés ou décrits sous forme de vidéos mais sans accéder aux sources : nous proposons de créer ensemble un dépôt avec les fichiers UF2 pour les projets que nous avons testés ou créés

Pas facile pour un nouvel utilisateur à trouver ; les librairies sont dans outils > gérer les paquets ; très pratique pour ajouter des composants

Je rentre le nom du composant (ici neopixel)

Je peux installer à partir d'un fichier



réaliser un feu tricolore README

compteur-tricolore.mp4

amusez vous à transformer le pico en une console de jeux avec les codes ici
Un pico relié à un affichage pour lire la température. Pas de capteur : nous utilisons le capteur interne du pico. Pas de soudure : l'afficheur basse consommation OLED se branche directement sur le pico avec une rallonge de câble Dupont femelle-femelle

code ici
affichage de la température avec un montage sans soudure !
télécommande sans fil "IR remote" code ici
code py_irremote ici

amusez vous à transformer votre pico en un périphérique USB pour faire une souris, un clavier ou un piano ! Choisissez la bibliothèque USBHID (human interface device) et amusez vous avec les exemples.

le pico prend le contrôle de la souris et la déplace de 100 pixels toutes les secondes : c'est perturbant !

Nous utilisons le capteur à ultrason raspberry-pi-pico-ultrasonic-sensor. Le montage est sans fil : il suffit de placer le capteur GND devant GND, echo pin 21, trig pin 20

from machine import Pin, time_pulse_us
import time
SOUND_SPEED=340 # Vitesse du son dans l'air
TRIG_PULSE_DURATION_US=10
echo_pin = Pin(21, Pin.IN)
trig_pin = Pin(20, Pin.OUT)
plus = Pin(19, Pin.OUT)
plus.value(1)
while True:
# Prepare le signal
trig_pin.value(0)
time.sleep_us(5)
# Créer une impulsion de 10 µs
trig_pin.value(1)
time.sleep_us(TRIG_PULSE_DURATION_US)
trig_pin.value(0)
ultrason_duration = time_pulse_us(echo_pin, 1, 30000) # Renvoie le temps de propagation de l'onde (en µs)
distance_cm = SOUND_SPEED * ultrason_duration / 20000
print(f"Distance : {distance_cm} cm")
time.sleep_ms(500)
nous utilisons la diode colorée !
Des lutins pour programmer des jeux sur esp32
un caméleon avec 3 méthodes de colorimétrie
une voiture pour suivre une ligne blanche
réaliser un afficheur à distance avec un vieil écran VGA
mesurer un courant sur place ou à distance
Une manette de jeux pour jouer avec la souris sous arduino
Une guirlande de Noel sous arduino
lire Rendering And Display Composition Doom

L'univers Arduino est vaste ; découvrez des montages en quelques clics pour faire des jouets avec des arduino, les nouveaux modules raspberry pico ou avec du wifi les petits esp CROUS-micro-python

La progression par 5 niveaux des exemples-de-montages est importante pour aborder des projets de plus en plus ambitieux. Compléter votre boite à outils avec des Capteurs, des Afficheurs en utilisant des Instruments de mesure. Regarder les Videos et montez vos propres projets pour refaire les jeux du festival festisol et commencer à utiliser les nouveaux raspberry-pico. Voulez-vous nous aider à développer d'autres applications ? Commencez un peu de code CROUS-micro-python, participez au developpement-voiture ou pour construire des jouets Anumby
