Bonjour,
Je suis un débutant sur arduino depuis quelque mois.
Voici un premier projet fini et fonctionnel composer de
1 Arduino Nano
1 carte PCB 2.54 mm découpé en disque de 50mm
4 LED Vert 5mm
4 LED rouge 5mm
4 LED blanc 5mm
4 LED Bleu 5mm
16 résistance 220 Omhs
Le principe est simpliste c'est d'allumer l'une après l'autre les LED .
voici le code que j'ai fait (parmi tous les exemple que j'ai trouvé sur le net)
#include <EEPROM.h>
const int TEMPO = 100;
uint16_t data;
void dataWrite(uint16_t data);
// de S1 à S4 tableau des séquence
int s1[] = { 257,514,1028,2056,4112,8224,16448,32896,257,514,1028,2056,4112,8224,16448,16512}; // Rotation de 2 LED diamètralement oppées
int s2[] = { 33153,771,1542,3084,6168,12336,24672,49344,33153,771,1542,3084,6168,12336,24672,49344};// Rotation de 4 LED diamètralement oppées
int s3[] = { 49601,33667,1799,3598,7196,14392,28784,57568,49601,33667,1799,3598,7196,14392,28784,57568};// Rotation de 6 LED diamètralement oppées
int s4[] = { 57825,50115,34695,3855,7710,15420,30840,61680,57825,50115,1927,3855,7710,15420,30840,61680};// Rotation de 8 LED diamètralement oppées
void setup() { // init des sortie D0 à D15 en sortie
for (int i = 0; i < 16; i++) {
pinMode(i, OUTPUT);
}
}
void loop() {
for (int j = 0; j < 16; j++) {// séquence S1
dataWrite(s1[j]); // Mise a 1 des sorties
delay(TEMPO);
}
for (int j = 0; j < 16; j++) {
dataWrite(s2[j]);
delay(TEMPO);
}
for (int j = 0; j < 16; j++) {
dataWrite(s3[j]);
delay(TEMPO);
}
for (int j = 0; j < 16; j++) {
dataWrite(s4[j]);
delay(TEMPO);
}
}
void dataWrite(uint16_t data) {// fonction interpretant la valeur ex S1 [0]: décimal 257 en binaire 0000000100000001
for (int i = 0; i < 16; i++) {
digitalWrite(i, bitRead(data, i));
}
}
Screen du tableau excel pour écrire les séquences tableau S1[] du code IDE
photo
du boitier print 3D
photo du montage
Photo en fonctionnement
cordialement
jeepee0407







