Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Led Ring 50mm - FR

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 20

Bienvenue !

Nous vous remercions d'avoir acheté notre module AZ-Delivery LED Ring
50 mm. Dans les pages suivantes, vous apprendrez à utiliser et à configurer
cet appareil pratique.
Amusez-vous bien !
Table des matières

Présentation..................................................................................................3
Spécifications................................................................................................4
Brochage.......................................................................................................5
Configurer l’IDE Arduino................................................................................6
Configurer le Raspberry Pi et Python..........................................................10
Connecter le module à l’Atmega328p.........................................................11
Exemple de code....................................................................................12
Connecter le module au Raspberry Pi.........................................................16
Librairies et Outils pour Python...............................................................17
Script Python..........................................................................................18

-2-
Présentation

Le module LED Ring WS2812B 50 mm est un anneau avec 12 LEDs RGB,


aussi appelés pixels. Il ne nécessite qu'une seule broche de
microcontrôleur pour contrôler tous les pixels à l'aide d'un protocole de
contrôle à fil unique.

Chaque pixel LED se compose de 3 LED et d'une puce de contrôle


WS2812 intégrée. Toutes les LED de l'anneau sont adressables
individuellement.

L'état, la luminosité et la couleur de toutes les LED de chaque pixel peuvent


être contrôlés individuellement par un microcontrôleur.

Le module LED Ring a deux ports (entrée et sortie) afin que plusieurs
panneaux puissent être connectés en série (daisy-chaining).

L'anneau LED peut être utilisé pour le light painting, les effets de lumière,
les animations, etc. Il est également utilisé dans une variété d'applications
telles que l'éclairage décoratif à LED, les écrans vidéo intérieurs/extérieurs
irréguliers à LED, etc.

-3-
Spécifications

Tension d’utilisation 3.3 - 5V


LEDs 12 LEDs de diamètre 4mm
Point de montage 4 de diamètre 3mm
Dimensions Diamètre intérieur: 36mm [1.41in]
Diamètre extérieur: 50mm [1.97in]

-4-
Brochage

Le module LED Ring 50mm possède 4 broches. Le brochage est présenté


dans l'image suivante :

Remarque : avant de connecter le module une alimentation électrique sous


tension (en fonctionnement), assurez-vous que la masse est toujours
connectée en premier, avant tout autre fil.

-5-
Configurer l’IDE Arduino

Si l'IDE Arduino n'est pas installé, suivez le lien et téléchargez le fichier


d'installation pour le système d'exploitation de votre choix. La version
d'Arduino IDE utilisée pour cet eBook est 1.8.16.

Pour les utilisateurs de Windows, double-cliquez sur le fichier .exe


téléchargé et suivez les instructions de la fenêtre d'installation.

-6-
Pour les utilisateurs de Linux, téléchargez un fichier portant
l'extension .tar.xz, qui doit être extrait. Lorsqu'il est extrait, allez dans le
répertoire extrait et ouvrez le terminal dans ce répertoire. Deux scripts .sh
doivent être exécutés, le premier appelé arduino-linux-setup.sh et le second
appelé install.sh.
Pour exécuter le premier script dans le terminal, ouvrez le terminal dans le
répertoire extrait et exécutez la commande suivante :
sh arduino-linux-setup.sh user_name
user_name - est le nom du super utilisateur dans le système
d'exploitation Linux. Un mot de passe pour le super utilisateur doit être saisi
au moment du lancement de la commande. Attendez quelques minutes
pour que le script termine tout.

Le second script, appelé install.sh, doit être utilisé après l'installation du


premier script. Exécutez la commande suivante dans le terminal (répertoire
extrait) : sh install.sh

Après l'installation de ces scripts, allez dans le dossier Toutes Les


Applications, où est installé l'IDE Arduino.

-7-
Presque tous les systèmes d'exploitation sont livrés avec un éditeur de
texte préinstallé (par exemple, Windows est livré avec Notepad, Linux
Ubuntu avec Gedit, Linux Raspbian avec Leafpad, etc.) Tous ces éditeurs
de texte conviennent parfaitement à l'objectif de cet eBook.

La prochaine étape est de vérifier si votre PC peut détecter une carte


Atmega328p. Ouvrez l'IDE Arduino fraîchement installé, et allez dans :
Outils > Type de carte > {votre nom de carte ici}
{le nom de votre carte ici} devrait être l'Arduino/Genuino Uno, comme on
peut le voir sur l'image suivante :

Le port auquel la carte Atmega328p est connectée doit être sélectionné.


Allez dans : Outils > Port > {le nom du port }.
Lorsque la carte Atmega328p est connectée au port USB, le nom du port
peut être vu dans le menu déroulant de l'image précédente.

-8-
Si l'IDE Arduino est utilisé sous Windows, les noms des ports sont les
suivants :

Pour les utilisateurs de Linux le nom du port est /dev/ttyUSBx, où x


représente un nombre entier compris entre 0 et 9.

-9-
Configurer le Raspberry Pi et Python

Pour le Raspberry Pi, il faut d'abord installer le système d'exploitation, puis


tout configurer pour qu'il puisse être utilisé en mode distant. Ce mode
permet de se connecter à distance au Raspberry Pi sans avoir besoin d'un
écran de PC, d'une souris ou d'un clavier. Les seuls éléments utilisés dans
ce mode sont le Raspberry Pi lui-même, l'alimentation électrique et la
connexion Internet. Tout ceci est expliqué en détail dans le livre
électronique gratuit :
Raspberry Pi Quick Startup Guide

Le Raspberry Pi OS (système d'exploitation), précédemment connu sous le


nom de Raspbian, est livré avec Python préinstallé.

- 10 -
Connecter le module à l’Atmega328p

Connectez le module avec l'Atmega328p comme indiqué sur le schéma de


connexion suivant :

Module pin Mc pin Couleur


GND GND Noir
5V 5V Rouge
DI ~6 Bleu

- 11 -
Exemple de code

#include <Adafruit_NeoPixel.h>

#define LED_PIN 6
#define LED_COUNT 12

Adafruit_NeoPixel ring(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
ring.begin();
ring.show();
ring.setBrightness(50);
}

void loop() {

colorWipe(ring.Color(255, 0, 0), 50); // Red


colorWipe(ring.Color( 0, 255, 0), 50); // Green
colorWipe(ring.Color( 0, 0, 255), 50); // Blue

theaterChase(ring.Color(127, 127, 127), 50); // White, half brightness


theaterChase(ring.Color(127, 0, 0), 50); // Red, half brightness
theaterChase(ring.Color( 0, 0, 127), 50); // Blue, half brightness

rainbow(10); // Flowing rainbow cycle along the whole ring


theaterChaseRainbow(50); // Rainbow-enhanced theaterChase variant
}

- 12 -
void colorWipe(uint32_t color, int wait) {
for(int i=0; i<ring.numPixels(); i++) {
ring.setPixelColor(i, color);
ring.show();
delay(wait);
}
}

void theaterChase(uint32_t color, int wait) {


for(int a=0; a<10; a++) {
for(int b=0; b<3; b++) {
ring.clear();
for(int c=b; c<ring.numPixels(); c += 3) {
ring.setPixelColor(c, color); // Set pixel 'c' to value 'color'
}
ring.show();
delay(wait);
}
}
}

void rainbow(int wait) {

for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {


for(int i=0; i<ring.numPixels(); i++) {

int pixelHue = firstPixelHue + (i * 65536L / ring.numPixels());

ring.setPixelColor(i, ring.gamma32(ring.ColorHSV(pixelHue)));
}
ring.show();
delay(wait);
}
}

- 13 -
void theaterChaseRainbow(int wait) {
int firstPixelHue = 0; // First pixel starts at red (hue 0)
for(int a=0; a<30; a++) {
for(int b=0; b<3; b++) {
ring.clear();
for(int c=b; c<ring.numPixels(); c += 3) {

int hue = firstPixelHue + c * 65536L / ring.numPixels();


uint32_t color = ring.gamma32(ring.ColorHSV(hue));
ring.setPixelColor(c, color);
}
ring.show();
delay(wait);
firstPixelHue += 65536 / 90;
}
}
}

REMARQUE : Pour le "daisy-chaining" de deux LED Rings, il suffit d'augmenter le nombre


LED_COUNT à 24.

- 14 -
Connecter le module au Raspberry Pi

Connectez le module au Raspberry Pi comme indiqué sur le schéma de


connexion suivant :

Module pin Raspberry Pi pin Physical Couleur


pin
VCC 3V3 1 Rouge
GND GND 6 Noir
DI GPIO18 12 Bleu

- 15 -
Librairies et Outils pour Python

Pour utiliser l'appareil avec le Raspberry Pi, il est recommandé de


télécharger une bibliothèque Python externe. La bibliothèque utilisée dans
cet eBook est appelée
Adafruit_CircuitPython_NeoPixel.

Avant de pouvoir utiliser la bibliothèque, exécutez les commandes


suivantes :
sudo apt-get update
sudo pip3 install rpi_ws281x adafruit-circuitpython-
neopixel
sudo python3 -m pip install --force-reinstall adafruit-
blinka

Ensuite, pour télécharger une bibliothèque externe, exécutez la commande


suivante :
git clone https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel.git

Pour l'installer, passez d'abord dans le nouveau répertoire


Adafruit_CircuitPython_NeoPixel, en exécutant la commande
suivante :
cd Adafruit_CircuitPython_NeoPixel

et installez la bibliothèque avec la commande suivante :


sudo python3 setup.py install
- 16 -
Script Python

import time
import board
import neopixel

pixel_pin = board.D18
num_pixels = 12
ORDER = neopixel.GRB

pixels = neopixel.NeoPixel(
pixel_pin, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER
)

def wheel(pos):
if pos < 0 or pos > 255:
r = g = b = 0
elif pos < 85:
r = int(pos * 3)
g = int(255 - pos * 3)
b = 0
elif pos < 170:
pos -= 85
r = int(255 - pos * 3)
g = 0
b = int(pos * 3)
else:
pos -= 170
r = 0
g = int(pos * 3)
b = int(255 - pos * 3)
return (r, g, b) if ORDER in (neopixel.RGB, neopixel.GRB) else (r, g, b,
0)

- 17 -
def rainbow_cycle(wait):
for j in range(255):
for i in range(num_pixels):
pixel_index = (i * 256 // num_pixels) + j
pixels[i] = wheel(pixel_index & 255)
pixels.show()
time.sleep(wait)

print('U64 LED Matrix Module test script')


print('[Press CTRL + C to end the script!]')

try:
while True:
print('\nRainbow cycle 1')
pixels.fill((255, 0, 0))
pixels.show()
time.sleep(1)
print('Rainbow cycle 2')
pixels.fill((0, 255, 0))
pixels.show()
time.sleep(1)
print('Rainbow cycle 3')
pixels.fill((0, 0, 255))
pixels.show()
time.sleep(1)

rainbow_cycle(0.001)

except KeyboardInterrupt:
print('\nScript end!')

- 18 -
Enregistrez le script sous le nom RGBLEDring.py. Pour exécuter le script,
ouvrez le terminal dans le répertoire où le script est enregistré et exécutez
la commande suivante : sudo python3 RGBLEDring.py

Le résultat devrait ressembler à l'image suivante :

Pour terminer le script, appuyez sur 'CTRL + C' sur le clavier.

Vous avez réussi !


Vous pouvez maintenant utiliser votre module pour
divers projets.

- 19 -
Il est maintenant temps de concevoir vos propres projets. Vous pouvez le
faire à l'aide de nombreux exemples de scripts et autres didacticiels, que
vous trouverez sur Internet.

Si vous êtes à la recherche de produits microélectroniques et


d'accessoires de haute qualité, AZ-Delivery Vertriebs GmbH est votre
interlocuteur idéal pour vous les procurer. Vous bénéficierez de
nombreux exemples d'application, de guides d'installation complets,
de livres électroniques, de bibliothèques et de l'assistance de nos
experts techniques.

https://az-delivery.de
Amusez-vous bien !
Mentions légales
https://az-delivery.de/pages/about-us

- 20 -

Vous aimerez peut-être aussi