Arduino/Steuerung einer Lampe, die angeht, wenn bei Dunkelheit eine Person den Parkplatz betritt: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
main>Belofb
Keine Bearbeitungszusammenfassung
main>Belofb
(Der Programmcode wurde ergänzt)
Zeile 15: Zeile 15:
<pre>
<pre>
int ledPin = 13;
int ledPin = 13;
int inputPin = 2;
int LedPin = 13;
int val=0;
int BewegungsPin = 2;
int analogPin = A0;
int Bewegung=0;
int analogval=0;
int HelligkeitsPin = A0;
 
int Helligkeitswert=0;
void setup() {
unsigned long StartTime=0;
  pinMode(ledPin, OUTPUT);
void setup(){
  pinMode(inputPin, INPUT);
        pinMode(LedPin, OUTPUT);
  pinMode(analogPin, INPUT);  
        pinMode(BewegungsPin, INPUT);
 
  pinMode(HelligkeitsPin, INPUT);
}
void loop() {
  analogval=analogRead(analogPin);
  val=digitalRead(inputPin);
  if (val== HIGH&&analogval>200) {
    digitalWrite(ledPin,HIGH);
 
}
else {
  digitalWrite(ledPin,LOW); 
}
}
}
void loop() { 
Helligkeitswert=analogRead(HelligkeitsPin);
  Bewegung=digitalRead(BewegungsPin);
if (Bewegung== HIGH&&Helligkeitswert>200) {
  digitalWrite(LedPin,HIGH);
    StartTime=millis();
  }
      else if (millis()-StartTime>5000){   
digitalWrite(LedPin,LOW);
  }
}
</pre>
</pre>
{{SORTIERUNG:{{SUBPAGENAME}}}}
{{SORTIERUNG:{{SUBPAGENAME}}}}
[[Kategorie:Arduino]]
[[Kategorie:Arduino]]

Version vom 8. Juli 2015, 10:13 Uhr

Das Projekt wurde auch bisher schon im Unterricht umgesetzt, allerdings ohne Mikrocontroller, sondern mit analogen Bauteilen.

Für die Umsetzung mit dem Arduino haben wir uns mit den benötigten Sensoren beschäftigt. Unsere Wahl fiel auf einen passiven Infrarot-Bewegungsmelder (PIR) vom Typ HC-SR 501. Hier ist eine sehr gute Anleitung zu PIR-Sensoren verfügbar.


Das ist unsere Schaltung. Die Parkplatzlampe wird durch eine LED simuliert.

Leuchte mit Bewegungsmelder und Dunkelsensor


Das ist der Sketch für unsere Schaltung.

int ledPin = 13;
int LedPin = 13;
int BewegungsPin = 2;
int Bewegung=0;
int HelligkeitsPin = A0;
int Helligkeitswert=0;
unsigned long StartTime=0;
	void setup(){
        pinMode(LedPin, OUTPUT);
        pinMode(BewegungsPin, INPUT);
  	pinMode(HelligkeitsPin, INPUT);
}
void loop() {  
	Helligkeitswert=analogRead(HelligkeitsPin);
  	Bewegung=digitalRead(BewegungsPin);
 	if (Bewegung== HIGH&&Helligkeitswert>200) {
  		digitalWrite(LedPin,HIGH);
    		StartTime=millis();
   	}
       else if (millis()-StartTime>5000){    
		digitalWrite(LedPin,LOW);
   	 }
	}