Arduino & C++

LED & Piezo



Aufgabe 3

Schaltung 1

b) Kopiere dann den Code in deine Programmierumgebung und speichere ihn im Ordner WB unter den Namen schaltung1 ab. Lade ihn auf dein Arduino hoch. Und funktioniert alles? Passe ggf. deinen Programmcode an.

a) Baue die Schaltung nach. Achte darauf, dass du Pin 6 mit dem „langen Bein“ der LED verbindest. Das andere Bein wird mit dem GND Pin geschaltet. Dazwischen kannst du den Widerstand zuschalten.

int LED = 12;
int time1=500;

void setup() {
  pinMode(LED, OUTPUT);
}


void loop() {
    digitalWrite(LED, HIGH);
    delay(time1);
    digitalWrite(LED, LOW);
    delay(time1);
}

Aufgabe 4

Speichere zunächst deinen Programmcode als schaltung2 ab. Erzeuge nun eine neue Variable mit den Namen time2. Der Wert dieser Variable soll doppelt so groß sein wie der Wert von Variable time1. Dabei soll dieser Wert (Wert von time2) automatisch verdoppelt werden, wenn time1 angepasst wird.

Nun verlänge dein Programm, so dass die Anweisungen im loop()-Teil mit der Variable time2 ebenso zweimal durchlaufen wird.

So sollte deine LED blinken, wenn du beispeilsweise die Varaible time1 mit dem Wert 1000 zugewiesen hast.


Aufgabe 5

Speichere nun dein Programm als schleife1 ab. Nun sollst du eine Wiederholung mit fester Anzahl (Zählschleife) programmieren. Die LED soll eine bestimmte Anzahl den Vorgang aus Aufgabe 3 wiederhohlen. Nutze dafür die for-Schleife. Sie kann eine bestimmte Anzahl oft wiederholen. Dabei soll die Zählschleife (for-Schleife) 6 mal durchlaufen werden.

for (Startwert; Test; Fortsetzung){

//pass

}

Setzte dich selbständig damit auseinander. Diese Webseite hilft dir dabei.

Um den Effekt besser zu erkennen, baue in deine Schaltung zusätlich ein Piezoelement ein. Achte auf die richtige verpolung. Was macht das Piezoelement?

Aufgabe 6

Setze dich mit dem Notsignal SOS auseinander. Speichere deine Programmierung nun als sos1 ab. Realisiere in diesem Programm, dass die LED und das Piezoelement (visuell und akustisch) SOS als Ausgang liefern.

//
void loop() {
   for (zaehler=1; zaehler<=1; zaehler = zaehler+1){
    digitalWrite(LED, HIGH);
    delay(time1);
    digitalWrite(LED, LOW);
    delay(time1);
    digitalWrite(LED, HIGH);
    delay(time1);
    digitalWrite(LED, LOW);
    delay(time1);
    digitalWrite(LED, HIGH);
    delay(time1);
    digitalWrite(LED, LOW);
    delay(time1);
    digitalWrite(LED, HIGH);
// Und nun?
//
SOS

Aufgabe 7

Speichere deine Programmierung erneut unter einen neuen Namen ab. Nenne sie nun sos2. Kannst du deine Programmierung kürzer gestalten? Nutze mehrere for-Schleifen.

int LED = 6;
int time1=400;
int time2 = 2*time1;
int zaehler;

void setup() {
  pinMode(LED, OUTPUT);
}


void loop() {
   for (zaehler=1; zaehler<=1; zaehler = zaehler+1){
    digitalWrite(LED, HIGH);
    delay(time1);
    digitalWrite(LED, LOW);
    delay(time1);
    digitalWrite(LED, HIGH);
    delay(time1);
    digitalWrite(LED, LOW);
    delay(time1);
    digitalWrite(LED, HIGH);
    delay(time1);
    digitalWrite(LED, LOW);
    delay(time1);
    digitalWrite(LED, HIGH);
    delay(time2);
    digitalWrite(LED, LOW);
    delay(time2);
    digitalWrite(LED, HIGH);
    delay(time2);
    digitalWrite(LED, LOW);
    delay(time2);
    digitalWrite(LED, HIGH);
    delay(time2);
    digitalWrite(LED, LOW);
    delay(time2);
    digitalWrite(LED, HIGH);
    delay(time1);
    digitalWrite(LED, LOW);
    delay(time1);
    digitalWrite(LED, HIGH);
    delay(time1);
    digitalWrite(LED, LOW);
    delay(time1);
    digitalWrite(LED, HIGH);
    delay(time1);
    digitalWrite(LED, LOW);
    delay(time1);
}
int LED = 6;
int time1=400;
int time2 = 2*time1;
int zaehler;
int i;

void setup() {
  pinMode(LED, OUTPUT);
}


void loop() {
   for (zaehler=1; zaehler<=1; zaehler = zaehler+1){
      for (i=1; i<=3; i = i+1){
        //pass
        }
      for (i=1; i<=3; i = i+1){
        //pass
        }
      for (i=1; i<=3; i = i+1){
        //pass
        }        
}
delay(4000);
}
Creative Commons Lizenzvertrag
Diese Webseite und die Inhalte sind lizenziert unter einer Creative Commons Namensnennung – Nicht-kommerziell – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.