Liste des pieces minimum :
(1) Arduino Duemilanove (ou équivalent / compatible)
(8) LED de votre choix. J’ai utilisé 5mm 120-180 degré de T1-3/4 eau propre 1500mcd pure vert de l’écran LCD.
(8) résistances de 100 ohms 1/8 de watt (au minimum). J’ai utilisé (4) 330 ohms 1/4 watt et (4) 450 ohms 1/4 watt, juste parce que c’est ce que j’ai dû traîner. Je ne vois aucune différence de luminosité entre les deux.
(1) potentiomètre de k 10 de votre choix.
maquette de projet (1), sans soudure "push-in style.
(11) 4 pouces longueur du câble de raccordement , préférablement solid core avec conseils étamés. Torons fonctionnera, mais il est juste plus ennuyeux. J’ai utilisé des câbles pré-assemblés breadboardinging livré dans un kit.
Je n’ai pas écrit l’esquisse personnellement, mais plutôt modifié quelqu'un d’autre s pour s’adapter à mes besoins. Elle inclut la possibilité d’ajouter un bouton, qui je n’utilise pas.
L’esquisse pour l’Arduino est la suivante :
const int buttonPin = 2 ;
const int ledPin1 = 13 ;
buttonState int = 0 ;
la LED d’int [] = {3, 4, 6, 7, 8, 9, 10, 11} ;
#define NUMBER_OF_LEDS (sizeof(leds)/sizeof(int))
larson Boolean [] [NUMBER_OF_LEDS] = {}
{HAUTE, BASSE, FAIBLE, FAIBLE, FAIBLE, FAIBLE, FAIBLE, FAIBLE},
{BAS, HAUT, BAS, BAS, BAS, BAS, BAS, BAS},
{BAS, BAS, HAUT, BAS, BAS, BAS, BAS, BAS},
{FAIBLE, FAIBLE, BAS, HAUT, BAS, BAS, BAS, BAS},
{FAIBLE, FAIBLE, FAIBLE, FAIBLE, HAUT, BAS, BAS, BAS},
{FAIBLE, FAIBLE, FAIBLE, FAIBLE, FAIBLE, HAUTE, BASSE, BASSE},
{BAS, BAS, BAS, BAS, BAS, BAS, HAUT, BAS},
{FAIBLE, FAIBLE, FAIBLE, FAIBLE, FAIBLE, FAIBLE, FAIBLE, HAUT},
{BAS, BAS, BAS, BAS, BAS, BAS, HAUT, BAS},
{FAIBLE, FAIBLE, FAIBLE, FAIBLE, FAIBLE, HAUTE, BASSE, BASSE},
{FAIBLE, FAIBLE, FAIBLE, FAIBLE, HAUT, BAS, BAS, BAS},
{FAIBLE, FAIBLE, BAS, HAUT, BAS, BAS, BAS, BAS},
{BAS, BAS, HAUT, BAS, BAS, BAS, BAS, BAS},
{BAS, HAUT, BAS, BAS, BAS, BAS, BAS, BAS},
};
#define FRAMES (sizeof(larson)/(sizeof(larson[0])))
int sensorPin = 0 ;
void setup() {}
pinMode (ledPin1, sortie) ;
pinMode (buttonPin, entrée) ;
pour (int mené = 0; conduit < NUMBER_OF_LEDS ; led ++) {}
pinMode (leds [led], sortie) ;
}
}
void loop() {}
buttonState = digitalRead(buttonPin) ;
Si (buttonState == HIGH) {}
digitalWrite (ledPin1, HIGH) ;
}
else {}
longtemps = millis() ;
pour (cadre int = 0; cadre < cadres ; cadre ++) {}
pour (int mené = 0; conduit < NUMBER_OF_LEDS ; led ++) {}
digitalWrite (leds [led], larson[frame][led]) ;
}
int sensorValue = map(analogRead(sensorPin), 0, 1023, 0, 1000) ;
tandis que (sensorValue > = (millis() - temps)) {}
sensorValue = analogRead(sensorPin) ;
}
temps = millis() ;
}
}
}