Note
Bonjour, bienvenue dans la communauté SunFounder des passionnés de Raspberry Pi, Arduino & ESP32 sur Facebook ! Explorez en profondeur le Raspberry Pi, l’Arduino et l’ESP32 avec d’autres passionnés.
Pourquoi nous rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre & Partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Avant-premières exclusives : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus exclusifs.
Réductions spéciales : Profitez de remises exclusives sur nos nouveaux produits.
Promotions festives et cadeaux : Participez à des concours et promotions spéciales.
👉 Prêt à explorer et créer avec nous ? Cliquez sur [ici] et rejoignez-nous dès aujourd’hui !
2. Suivre @CheerLights
Il s’agit d’un projet romantique. Rejoignez la communauté @CheerLights - Twitter de LED changeant de couleur, qui permet aux LED du monde entier de changer de couleur simultanément.
Vous pouvez le placer dans un coin de votre bureau pour vous rappeler que vous n’êtes pas seul.
Vous pouvez tweeter à @cheerlights en incluant le nom d’une couleur dans le tweet. Cela changera la couleur des LED à travers le monde en fonction de ce que vous avez spécifié.
Composants requis
Dans ce projet, nous aurons besoin des composants suivants.
Il est certainement pratique d’acheter un kit complet, voici le lien :
Nom |
DANS CE KIT |
LIEN |
|---|---|---|
Kepler Kit |
450+ |
Vous pouvez également les acheter séparément via les liens ci-dessous.
SN |
COMPOSANT |
QUANTITÉ |
LIEN |
|---|---|---|---|
1 |
1 |
||
2 |
Câble Micro USB |
1 |
|
3 |
1 |
||
4 |
Plusieurs |
||
5 |
1 |
||
6 |
1 |
||
7 |
Batterie 18650 |
1 |
|
8 |
Support de batterie |
1 |
Étapes
Montez le circuit.
Le module chargeur Li-po utilisé ici alimentera votre circuit, vous permettant de déconnecter le câble USB et d’emmener votre projet où bon vous semble !
Avertissement
Assurez-vous que votre module chargeur Li-po est connecté comme indiqué sur le schéma. Sinon, un court-circuit risque d’endommager votre batterie et votre circuit.
Accédez au dossier où vous avez téléchargé le code package et ouvrez le fichier
2_cheer_light.pysitué danskepler-kit-main/iot.Pour exécuter le script, cliquez sur le bouton Run current script ou appuyez sur F5, vous verrez alors l’indication de connexion, l’IP et la couleur (0xff0000 est rouge) dans le Shell.
Note
Avant d’exécuter le code, assurez-vous d’avoir les scripts
do_connect.pyetsecrets.pysur votre Pico W, sinon reportez-vous à 1. Accès au Réseau pour les créer.
Après le lancement du script, la bande RGB WS2812 affichera une couleur, et celle-ci pourra parfois changer.
Si vous souhaitez que ce script soit exécuté au démarrage, enregistrez-le sur le Raspberry Pi Pico W sous le nom
main.py, comme suit.Arrêtez le script en cours et cliquez sur File -> Save as.
Sélectionnez Raspberry Pi Pico dans la fenêtre pop-up qui apparaît.
Définissez le nom du fichier sur
main.py. Un message apparaîtra si un fichier du même nom existe déjà sur votre Pico W.
Vous pouvez maintenant débrancher le câble USB et utiliser le module chargeur Li-po pour alimenter le Raspberry Pi Pico W. Placez-le dans un coin et il fonctionnera automatiquement.
Comment ça marche ?
Le Raspberry Pi Pico W doit être connecté à Internet, comme décrit dans 1. Accès au Réseau. Pour ce projet, il suffit de procéder comme suit :
from do_connect import *
do_connect()
Configurez la bande RGB WS2812. Veuillez vous référer à 3.3 Bande LED RGB pour plus de détails sur son utilisation.
import machine
from ws2812 import WS2812
ws = WS2812(machine.Pin(18), 8)
Ensuite, nous avons besoin d’un moyen pour obtenir la couleur de @CheerLights. Il existe un système en arrière-plan qui prend les changements de couleur de Twitter et les publie au format JSON à l’URL : http://api.thingspeak.com/channels/1417/field/2/last.json.
Si vous ouvrez cette URL directement dans votre navigateur, vous verrez quelque chose comme ceci. Tout ce dont nous avons besoin, c’est des données de field2, qui sont une chaîne de caractères codée en couleur hexadécimale.
{"created_at":"2022-08-16T06:12:44Z","entry_id":870488,"field2":"#ff00ff"}
Nous devons utiliser le module urequests pour obtenir ces données et le module json pour les convertir en dictionnaire Python.
Le code suivant récupère la dernière couleur @CheerLights à partir de l’URL et renvoie une valeur de couleur utilisable par le WS2812.
def get_colour():
url = "http://api.thingspeak.com/channels/1417/field/2/last.json"
try:
r = urequests.get(url)
if r.status_code > 199 and r.status_code < 300:
cheerlights = json.loads(r.content.decode('utf-8'))
print(cheerlights['field2'])
colour = int('0x'+cheerlights['field2'][1:7])#Convert from String to Integer
r.close()
return colour
else:
return None
except Exception as e:
print(e)
return None
Enfin, utilisez une boucle pour que le WS2812 fonctionne une fois par minute.
while True:
colour = get_colour()
if colour is not None:
ws.write_all(colour)
time.sleep(60)