Arduino Lektion 19 – Teil 2: KY-037 mit LED Balkenanzeige

Da nun die LED Balkenanzeige geliefert wurde kann nun der Teil 2 zum Hochempfindlichen Geräuschdetektor kommen.

Im ersten Teil zum Geräuschdetektor Arduino Lektion 19 – Teil 1: Hochempfindlicher Geräuschdetektor „Klatschdetektor“ habe ich erklärt wie dieser aufgebaut bzw. betrieben werden kann darum gehe ich hier nicht weiter darauf ein.

Teileliste

1x Arduino Nano
1x KY-037 Hochempfindlicher Geräuschdetektor
1x LED Balkenanzeige (rot)
1x Breadboard
3x 20cm Breadboard Kabel
10x 10cm Breadboard Kabel

Aufbau

Aufbau der Schaltung.
Aufbau der Schaltung.

Das ich von den 10cm Breadboardkabeln nur die Farben rot, orange, gelb, weiß und schwarz habe ist das schwarze Kabel nicht wie zu vermuten ist GND sondern ein digitaler PIN als Ausgang.

Quellcode

int microPin = 7; // analoger Pin für das Mikrofon - Input

// digitale Pin's für die LED Balkenanzeige
int led1 = 2; 
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 12;
int led7 = 8;
int led8 = 9;
int led9 = 10;
int led10 = 11;

int sensityValue = 30;
int offset = 5;


void setup() {
  //LED Pin's als Ausgang deklarieren
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(led8, OUTPUT);
  pinMode(led9, OUTPUT);
  pinMode(led10, OUTPUT);
    
  pinMode(microPin, INPUT);  //Den PIR Sensor als Eingang deklarieren
  Serial.begin(9600); //Serielle kommunikation mit 9600 Baud beginnen.
}
 
void loop(){
   int val = analogRead(microPin);
   Serial.println(val);
   
   digitalWrite(led1, (sensityValue+offset)  > val ? HIGH : LOW);  
   digitalWrite(led2, (sensityValue+(offset*2))  > val ? HIGH : LOW);  
   digitalWrite(led3, (sensityValue+(offset*3))  > val ? HIGH : LOW);  
   digitalWrite(led4, (sensityValue+(offset*4))  > val ? HIGH : LOW);  
   digitalWrite(led5, (sensityValue+(offset*5))  > val ? HIGH : LOW);  
   digitalWrite(led6, (sensityValue+(offset*6))  > val ? HIGH : LOW);  
   digitalWrite(led7, (sensityValue+(offset*7))  > val ? HIGH : LOW);  
   digitalWrite(led8, (sensityValue+(offset*8))  > val ? HIGH : LOW);  
   digitalWrite(led9, (sensityValue+(offset*9))  > val ? HIGH : LOW);  
   digitalWrite(led10, (sensityValue+(offset*10))  > val ? HIGH : LOW);  
}

Mein Arduino Nano hat eine fehlfunktion auf dem digitalen Pin 7 daher habe ich die LED 6 auf den Pin 12 geschaltet.

Video

KY-037 mit LED Balkenanzeige

Download

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.