banner

Nouvelles

Nov 20, 2023

Comment faire une horloge de résistance Raspberry Pi Pico W

Décoder les codes de couleur des résistances pour indiquer l'heure

Les codes de couleur des résistances sont une partie essentielle de la formation des fabricants. Le système de code couleur est utilisé en continu depuis les années 1930 et a été introduit par la Radio Manufacturer's Association comme une méthode compacte pour marquer les valeurs numériques sur les petits composants. Le code ne contient que 10 couleurs, mais il peut toujours être difficile de se souvenir de leurs valeurs, sauf si vous les utilisez tous les jours.

Ce projet vous aide à utiliser le code de résistance tous les jours pour indiquer l'heure et utilise un Raspberry Pi Pico W pour se connecter à un serveur NTP (Network Time Protocol) via Wi-Fi pour l'heure actuelle. Une fois cela fait, le Pico W utilise la bande Neopixel WS2812B pour afficher l'heure actuelle sous forme de couleurs de code de résistance. En regardant le code en action tous les jours, vous décoderez bientôt les valeurs de résistance plus rapidement pendant votre sommeil !

Les LED RVB adressables individuellement WS2812B, communément appelées "NeoPixels", sont des LED super lumineuses et facilement contrôlables qui peuvent être de n'importe quelle couleur. Ils sont souvent utilisés pour ajouter un éclairage d'ambiance à un projet et ils peuvent également être utilisés dans des costumes et des accessoires de cosplay.

La bande Neopixel d'Adafruit a besoin de 5 V pour piloter les LED, mais peut accepter un signal logique de 3,3 V sur la ligne de données.

Le câblage de l'horloge de la résistance est simple, avec seulement GND, Data et Power requis pour connecter le NeoPixel au Pico W. Connecter le fil pour qu'il rentre dans le boîtier imprimé en 3D peut être un peu délicat.

1.Commencez avec le Pi Picoetle stick Neopixel face vers le haut, avec l'extrémité d'entrée du NeoPixel près de la prise USB.

2.Connectez les fils comme indiqué sur le schéma de circuit, en laissant juste assez de câble pour plier l'ensemble de l'écran à l'arrière du Raspberry Pi Pico W. Les fils devront être soudés, une tâche facile pour la plupart des fabricants. Si vous n'avez pas de fer à souder ou si vous avez envie d'une mise à niveau, consultez notre liste des meilleurs fers à souder. Soyez prudent ici, car la bande Neopixel a des connexions aux deux extrémités afin qu'elles puissent être enchaînées. Une extrémité de la bande est l'entrée, tandis que l'autre est la sortie. Vous devriez souder des fils à l'extrémité d'entrée.

3.Pliez l'ensemble d'affichage à l'arrière du Pi Pico W, de sorte que la rangée de lumières LED soit alignée avec la ligne médiane du Pico.

4.Fixez la bande LED en place à l'aide d'un petit carré de ruban mousse double face.La mousse permet à la bande NeoPixel de s'asseoir parallèlement au Raspberry Pi Pico W avec de la place en dessous pour ranger tout excès de câble.

Pour la plupart des projets, la boîte dans laquelle vous mettez tout n'est pas trop importante. L'horloge de la résistance est un peu différente car nous devons faire quelque chose d'un peu astucieux pour obtenir toutes les couleurs dont nous avons besoin. Le code de la résistance est conçu pour le marquage avec de la peinture et utilise des couleurs un peu difficiles à obtenir en mélangeant la lumière des LED. Plus particulièrement, le noir, le marron et le gris ne sont pas le genre de couleurs que vous pouvez obtenir à partir d'une LED. Placer un morceau de plastique teinté noir devant les LED aide ici, de sorte que lorsque la LED est éteinte, le plastique sera noir, mais dès que la LED est allumée, vous verrez les couleurs. La teinte foncée réduira la luminosité des LED, ce qui facilitera la différenciation entre les couleurs comme le marron et l'orange.

1.Imprimez en 3D la pièce du boîtier Raspberry Pi Pico.Vous pouvez poncer, remplir et finir l'extérieur du boîtier comme bon vous semble.

2.Insérez le Pico-W avec la prise USB située dans l'encoche du boîtier, de sorte que le Pico et le NeoPixel rentrent dans le boîtier imprimé.

3.Coupez deux morceaux d'acrylique teinté pour s'adapter au haut et au bas du boîtier imprimé en 3D.Si vous avez accès à un découpeur laser, vous pouvez l'utiliser pour couper et graver le plastique.

4.Ajoutez une goutte de superglue dans les coins supérieurs (le côté où se trouvent les LED) du boîtier imprimé en 3D et collez le plastique teinté en place.Si vous avez utilisé un Sharpie pour colorer le plastique, placez le côté avec l'encre Sharpie vers l'intérieur du boîtier.

5.Collez l'autre plastique en place à l'arrière du boîtier imprimé en 3D.Vous pouvez utiliser de la colle chaude à basse température sur ce côté du boîtier si vous préférez, afin que le Pico W puisse être retiré plus facilement à l'avenir.

Le Raspberry Pi Pico utilise MicroPython pour contrôler le stick Neopixel et se connecter aux serveurs NTP via une connexion Wi-Fi.

1.Suivez ce guidepour télécharger et installer le firmware MicroPython sur le Raspberry Pi Pico W, puis configurer Thonny

2.Créer un nouveau fichier dans Thonny et appelez-le wifidetails.py. Ce fichier sera utilisé pour stocker les détails de connexion pour le réseau sans fil.

3.Ajouter les lignes suivantesau wifidetails.py, en remplaçant le MYSSID et le MYPASS par le SSID et le mot de passe de votre réseau sans fil.

4.Enregistrez le fichier sur le Raspberry Pi Pico W.

5.Créez un nouveau fichier dans Thonny et appelez-le main.py.C'est le fichier qui s'exécutera lorsque l'horloge sera branchée. MicroPython est configuré pour exécuter main.py lorsque la carte est sous tension.

6.Importez les modules qui vous permettront de vous connecter au serveur NTP, y compris les informations de connexion du fichier wifidetails.py que vous venez de créer.

7.Importez les modules pour accéder aux broches GPIO et contrôler les NeoPixels.

8.Créer un dictionnaire Python contenant des valeurs RVB pour chaque couleur du code couleur de la résistance. Vous devrez peut-être modifier ces valeurs pour obtenir la meilleure correspondance avec le plastique teinté que vous utilisez. Un dictionnaire est un objet de stockage de données qui utilise une clé pour récupérer une valeur, dans ce cas nous utilisons un nombre, de 0 à 9, comme clé pour récupérer la valeur correspondante.

9.Créez un objet, np, pour dire à notre code que les NeoPixels sont connectés à la broche 0 sur le Raspberry Pi Pico W.

dix.Configurez et démarrez la connexion au réseau Wi-Fi en utilisant le ssid et le mot de passe de wifidetails.py.

11.Attendez que le réseau Wi-Fi finisse de se connecter.

12.Vérifiez que le réseau s'est connecté avec succès et échouez normalement en cas de problème.Si la connexion réseau est bonne, l'adresse IP de l'horloge est imprimée sur le shell Python.

13.Obtenez l'heure d'un serveur NTP à l'aide du module ntptime et réinitialisez le RTC (horloge en temps réel) du Pico W pour qu'il corresponde.

14. Créez une boucle pour lire l'heure de l'horloge en temps réel et stockez-la dans une variable, ct. Utilisez ensuite le formatage de chaîne pour stocker l'heure sous la forme d'une chaîne à 6 chiffresnous pouvons parcourir pour définir les valeurs RVB NeoPixel.

15. La variable timestring est maintenant une chaîne au format "HHMMSS".Nous parcourons cette chaîne pour définir les valeurs RVB stockées dans le dictionnaire rc sur les 6 premiers NeoPixels de la bande, puis nous écrivons les modifications apportées aux NeoPixels.C'est la fin de la boucle principale, nous ajoutons donc un délai pour "cocher" l'horloge et réduire la charge sur le Pico W.

16.Enregistrez le code sur le Raspberry Pi Pico W et cliquez sur Exécuter pour démarrer. Le projet obtiendra l'heure actuelle et les NeoPixels changeront de couleur pour indiquer l'heure. Chaque fois que le Pico est mis sous tension, le code enregistré dans main.py s'exécutera automatiquement.

Rejoignez les experts qui lisent Tom's Hardware pour en savoir plus sur l'actualité technologique des passionnés de PC - et ce depuis plus de 25 ans. Nous enverrons les dernières nouvelles et des critiques approfondies des processeurs, des GPU, de l'IA, du matériel des fabricants et plus directement dans votre boîte de réception.

Andrew est un père au foyer, un écrivain, un éditeur et un créateur professionnel. Avec un atelier en constante évolution, Andrew fabrique, modifie et répare ses projets avec sa fille à ses côtés. Plusieurs décennies d'expérience dans l'industrie et un doctorat. de l'Ironbridge Institute signifie que les publications d'Andrew couvrent une gamme éclectique de sujets, y compris les anciens systèmes d'écriture babyloniens à la fabrication d'accessoires, les aides à l'accessibilité, les dispositifs médicaux et le bien-être, la sécurité par mot de passe, la numérisation 3D et l'impression 3D. L'ensemble de compétences d'Andrew comprend la fabrication additive et soustractive, la découpe au laser, la programmation dans plus de 40 ans de langages et de frameworks populaires, les microprocesseurs, les dispositifs électromécaniques, les moteurs marins et une gamme d'outils d'usinage manuels et CNC. Basé près d'Ironbridge en Angleterre (le berceau de la révolution industrielle), Andrew a un penchant pour les techniques de fabrication patrimoniales et l'esthétique de la fin du 19e et du début du 20e siècle.

Milk-V propose un trio d'alternatives RISC-V Raspberry Pi

Raspberry PI Pico W Copter est prêt à décoller

Le boîtier SilverStone Sugo SFF prend en charge les GPU à quatre emplacements

Par Les Pounder23 avril 2023

Par Avram Piltch22 avril 2023

Par Brandon Hill21 avril 2023

Par Avram Piltch20 avril 2023

Par Brandon Hill16 avril 2023

Par Les Pounder15 avril 2023

Par Les Pounder9 avril 2023

Par Les Pounder25 mars 2023

Par Jarred Walton19 mars 2023

Par Les Pounder18 mars 2023

Par Avram Piltch15 mars 2023

Commencez avec le Pi Pico le bâton Neopixel face vers le haut, avec l'extrémité d'entrée du NeoPixel près de la prise USB. Connectez les fils comme indiqué sur le schéma de circuit, en laissant juste assez de câble pour plier l'ensemble de l'écran à l'arrière du Raspberry Pi Pico W. Pliez l'ensemble de l'écran à l'arrière du Pi Pico W, de sorte que la rangée de lumières LED soit alignée avec la ligne médiane du Pico. Fixez la bande LED en place à l'aide d'un petit carré de ruban mousse double face. Imprimez en 3D la pièce du boîtier Raspberry Pi Pico. Insérez le Pico-W avec la prise USB située dans l'encoche du boîtier, de sorte que le Pico et le NeoPixel rentrent dans le boîtier imprimé. Coupez deux morceaux d'acrylique teinté pour s'adapter au haut et au bas du boîtier imprimé en 3D. Ajoutez une goutte de superglue dans les coins supérieurs (le côté où se trouvent les LED) du boîtier imprimé en 3D et collez le plastique teinté en place. Collez l'autre plastique en place à l'arrière du boîtier imprimé en 3D. Suivez ce guide Créez un nouveau fichier dans Thonny Ajoutez les lignes suivantes Enregistrez le fichier sur le Raspberry Pi Pico W. Créez un nouveau fichier dans Thonny et appelez-le main.py. Importez les modules qui vous permettront de vous connecter au serveur NTP Importez les modules pour accéder aux broches GPIO et contrôler les NeoPixels. Créer un dictionnaire Python contenant des valeurs RVB Créez un objet, np, pour dire à notre code que les NeoPixels sont connectés à la broche 0 sur le Raspberry Pi Pico W. Configurez et commencez la connexion au réseau Wi-Fi en utilisant le ssid et le mot de passe de wifidetails.py. Attendez que le réseau Wi-Fi finisse de se connecter. Vérifiez que le réseau s'est connecté avec succès et échouez normalement en cas de problème. Obtenez l'heure d'un serveur NTP à l'aide du module ntptime et réinitialisez le RTC (horloge en temps réel) du Pico W pour qu'il corresponde. Créez une boucle pour lire l'heure de l'horloge en temps réel et stockez-la dans une variable, ct. Utilisez ensuite le formatage de chaîne pour stocker l'heure sous forme de chaîne à 6 chiffres. Nous parcourons cette chaîne pour définir les valeurs RVB stockées dans le dictionnaire rc sur les 6 premiers NeoPixels de la bande, puis nous écrivons les modifications apportées aux NeoPixels. Enregistrez le code sur le Raspberry Pi Pico W et cliquez sur Exécuter pour démarrer.
PARTAGER