Home > Technologie > Arduino Lichtempfindliches Balkendiagramm

Arduino Lichtempfindliches Balkendiagramm

0
Advertisement

Arduino Lichtempfindliches Balkendiagramm

Dies ist ein Projekt für Arduino, um ein Lichtempfindliches Balkendiagramm zu erstellen, das für Anfänger geeignet ist.

Arduino misst die Spannung an einem Spannungsteiler, der aus einem Widerstand und einem LDR (light dependent resistor) besteht.
Eine LED-Leiste leuchtet entsprechend der gemessenen Spannung.

Ziele:
* Erfahren Sie, wie ein LDR verwenden
* Erfahren Sie, wie eine Leiste von LEDs entsprechend einer gemessenen Spannung zu beleuchten

Schritt 1: Was Sie brauchen

Arduino Lichtempfindliches Balkendiagramm

Du wirst brauchen:
* Arduino UNO
* Einige LEDs
* Ein 560 Ohm Widerstand für jede LED (oder ein Wert ähnlich dem)
* Ein 10k Ohm Widerstand
* Ein LDR
* Versuchsaufbau für den Anschluß von zB ( http://www.oomlout.co.uk/prototyping-bundle-for-arduino-ardp-p-186.html )
* Einige Drähte

Schritt 2: Wire it up

Arduino Lichtempfindliches Balkendiagramm

Arduino Lichtempfindliches Balkendiagramm

Arduino Lichtempfindliches Balkendiagramm

Verdrahten Sie den Stromkreis wie in den Diagrammen gezeigt.

Schritt 3: Beleuchten der LEDs in einer Leiste

Die Umwandlung des analogen Wert auf eine Balkenanzeige mit der Kartenfunktion ziemlich leicht erreicht wird:

Sensorvalue = analogRead (analogInPin); // das analoge Wert lesen
ledLevel = map (Sensorvalue , 0, 700, 0, NbrLEDs); // Karte , um die Anzahl der LEDs

Der Sensorvalue Bereich 0 bis 1023 theoretisch. Praktisch geht es zwischen etwa 0 und 700 bei Tageslicht und den gewählten Komponentenwerten.

ledLevel werden 0 bis 6 zum Beispiel (wenn NbrLEDs = 6) sein, über dem gleichen Eingangsbereich.

Alles , was Sie tun müssen, dann ist ein auf dem ledLevel auf der Basis der LEDs einzuschalten for - Schleife verwenden.

Schritt 4: Hier ist der Code

aufrechtzuerhalten.
Bargraphskizze
Rezept 7.5 vom Arduino Kochbuch durch Michael Margolis

Schaltet eine Reihe von LEDs proportional zum Wert eines analogen Sensors ein.
Sechs LEDs werden gesteuert, aber Sie können die Anzahl der LEDs ändern, indem Sie ändern
Den Wert von NbrLEDs und das Hinzufügen der Pins zu dem ledPins-Array
* /

Const int NbrLEDs = 6;
Const int ledPins [] = {13, 12, 11, 10,9, 8};
const int analogInPin = 0; // Analogeingangsstift zu variablen Widerstand
Const int wait = 30;

// Tausche die Werte der beiden folgenden Konstanten aus, wenn Kathoden mit Gnd verbunden sind
Const boolean LED_ON = LOW;
Const boolean LED_OFF = HIGH;

int Sensorvalue = 0; // Wert vom Sensor gelesen
int ledLevel = 0; // Wertgeber in LED 'Bars' umgewandelt

Void setup () {
(Int led = 0, led <NbrLEDs, led ++)
{
pinMode (ledPins [LED], OUTPUT); // machen alle LED - Pins Ausgänge
aufrechtzuerhalten.
aufrechtzuerhalten.

Void Schleife () {
Sensorvalue = analogRead (analogInPin); // das analoge Wert lesen
ledLevel = map (Sensorvalue , 0, 700, 0, NbrLEDs); // Karte , um die Anzahl der LEDs
(Int led = 0, led <NbrLEDs, led ++)
{
Wenn (led <ledLevel) {
digital (ledPins [LED], LED_ON); // auf die Stifte drehen weniger als das Niveau
aufrechtzuerhalten.
sonst {
digital (ledPins [LED], LED_OFF); // Pins höher als das Niveau ausschalten
aufrechtzuerhalten.
aufrechtzuerhalten.
aufrechtzuerhalten.

Schritt 5: Genießen Sie

Arduino Lichtempfindliches Balkendiagramm

Versuchen Sie, es zu ändern "decay" das Balkendiagramm mit:

Zerfall = max (Sensorwert, Zerfall);

Und Verringerung Verfall jede Iteration.

Mehr unter:
https://www.inkling.com/read/arduino-cookbook-michael-margolis-2nd/chapter-7/recipe-7-5

Related Reading