Design-Herausforderung, Teil 1

vor 2 years 42 weeks
Das Telefon klingelt, du reißt dich von deinem Arduino los und gehst ran! Stimme: Hier ist der Geschäftsführer von Super Blink Spaß, einem Unternehmen, das auf Blinklicht-Produkte spezialisiert ist. Wir haben festgestellt, dass die Mehrheit unserer Kunden Fahrrad fährt und mehr Sicherheit wünscht. Wir denken darüber nach, eine Sicherheitsbeleuchtung für ein Fahrrad anzubieten. Dafür haben wir eine Elektronik-Ingenieurin eingestellt. Sie hat sich aber leider in einen mehrwöchigen Surfurlaub verabschiedet und uns im Stich gelassen. Wir haben folgende Skizze auf ihrem Schreibtisch gefunden: bikelite.png Alles was das Fahrradlicht tun muss, ist anzugehen, wenn der Schalter gedrückt wird und bei dem nächsten Schalterdruck auszugehen. Können wir Sie für dieses Projekt anstellen? Du: Sicher, das ist kein Problem. Ich werde ihnen meinen Vertrag zuschicken und werde sofort beginnen, sobald der Vertrag unterschrieben ist. Der Vertrag wurde gefaxt und unterschrieben, Jetzt liegt alles bei dir. Hier ist ein Video, das die Anforderung des Kunden zeigt:
  1. Baue die Schaltung auf deinem Steckbrett so wie in der Schaltskizze auf. Benutze Drahtbrücken (Jumper) um alls Kathoden der LEDs (die negativen, kurzen Anschlüsse) mit GND zu verbinden. Wenn es dir schwer fällt, diesen Schaltkreis aufzubauen, dann schaue dir dieses hochauflösende Foto an.
  2. Teste die LEDs. Schreibe einen kleinen Sketch um sicher zustellen, dass alle Verbindungen richtig hergestellt wurden und die LEDs leuchten.
  3. Verbinde den Schalter so wie in der Schaltskizze dargestellt. Falls der Schalter noch aus der vorangegangenen Übung gesteckt ist, dann lasse ihn so wie er ist. Wenn es dir schwer fällt, diesen Schaltkreis aufzubauen, dann schaue dir dieses hochauflösende Foto an.
  4. Teste den Schalter Verändere einen früheren Sketch so, dass alle LEDs angehen, sobald der Schalter gedrückt wird. Wenn der Schater los gelassen wird, sollen die LEDs ausgehen.
  5. Passe den Sketch "Tastendrücke" an Benutze statt der Variablen buttonPresses die Variable lightMode, welche mit dem Zustand 0 (= aus) startet. Die Variable lightMode wird den Zustand der LEDs überwachen. Wenn der Schalter gedrückt ist, soll der Wert dieser Variablen verändert werden. Wenn der Wert 0 ist, soll das Licht aus sein, ist er 1, soll das Licht an sein. Markiere den folgenden Text mit der Maus, um die Lösung zu sehen /* * Fahrradlicht Version 1 */ int led1Pin = 12; int led2Pin = 11; int led3Pin = 10; int led4Pin = 9; int led5Pin = 8; int switchPin = 2;              // Schalter ist mit Pin 2 verbunden int val;                        // Variable für den Pin Zustand int buttonState;                // Variable für den letzten Schalterzustand int lightMode = 0;              // Ist das Licht an oder aus? void setup() {   pinMode(switchPin, INPUT);    // Schalter-Pin ist Input   pinMode(led1Pin, OUTPUT);   pinMode(led2Pin, OUTPUT);   pinMode(led3Pin, OUTPUT);   pinMode(led4Pin, OUTPUT);   pinMode(led5Pin, OUTPUT);      Serial.begin(9600);                   // Start der seriellen Kommunikation mit 9600bps   buttonState = digitalRead(switchPin); // Anfangszustand lesen } void loop(){   val = digitalRead(switchPin);        // Eingabewert lesen und in val speichern   if (val != buttonState) {            // Der Zustand des Schalters hat sich verändert     if (val == LOW) {        // Ist der Schalter gedrückt?       if (lightMode == 0) // Licht ist aus         lightMode = 1;  // Licht anschalten         digitalWrite(led1Pin, HIGH);         digitalWrite(led2Pin, HIGH);         digitalWrite(led3Pin, HIGH);         digitalWrite(led4Pin, HIGH);         digitalWrite(led5Pin, HIGH);       } else    // Licht ist an         lightMode = 0;  // Licht ausschalten         digitalWrite(led1Pin, LOW);         digitalWrite(led2Pin, LOW);         digitalWrite(led3Pin, LOW);         digitalWrite(led4Pin, LOW);         digitalWrite(led5Pin, LOW);       }     }   }   buttonState = val;  // Den Zustand merken }

1 Antwort auf “Design-Herausforderung, Teil 1”


  1. r.merk (not verified) sagt:

    Hallo zusammen,

    vielen Dank demjenigen, der sich die Mühe gemacht hat, das Tutorial zu übersetzten.
    Hier ist aber leider ein kleiner Fehler unterlaufen.

    Bei 5. Passe den Sketch "Tastendrücke" an fehlt die geschwungene Klammer "{" zweimal.
    "if (lightMode == 0) // Licht ist aus" sollte,
    "if (lightMode == 0) { // Licht ist aus" sein.
    Und
    "} else // Licht ist an" sollte,
    "} else { // Licht ist an" sein.

    Grüße,
    Roland

    Login or register to post comments