Food Selector

Wer isst schon gern alleine? Aber sich mit den Kollegen abzustimmen, wo es heute zum Mittag hingehen soll ist nicht immer einfach.

Der FoodSelector löst dieses Problem auf pragmatische Weise. Eine Karte mit den Restaurants der Umgebung dient als Untergrund für LEDs, die nach Drücken eines Tasters blinken. Am Ende leuchtet per Zufall noch eine LED. Das ist das Ziel. Das Restaurant des Tages.

Bauteile

Schaltplan

Arduino Projekt Food Selector Schaltplan

Code

/* Code für FoodSelector – ein Arduino Projekt für den Bürofrieden*/

int theLedPins[] = {3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}; // nutzt die analogen Eingänge als digitale Ausgänge (A0 = D14, A1 = D15 etc.)
int numberOfLeds = 15;
int buttonPin = 2;
int currentLed = 0; // die Led, die gerade im Karousell dran ist

void setup() {
  Serial.begin(9600);
  for (int i=0; i<numberOfLeds; i++){
    pinMode(theLedPins[i], OUTPUT);  
  }
  pinMode(buttonPin, INPUT_PULLUP);
}

void allOff(){
  for (int i=0; i<numberOfLeds; i++){
    digitalWrite(theLedPins[i], LOW);  
  }
}

void blinking(){
  int turns = 150;
  for (int i=0; i<turns; i++){
    
    digitalWrite(theLedPins[currentLed], HIGH);
    delay(i);
    digitalWrite(theLedPins[currentLed], LOW);

    currentLed++;
    if (currentLed>numberOfLeds) currentLed = 0;
  }
}

void lastLight(){
    digitalWrite(theLedPins[currentLed], HIGH);  
}

void loop() {
  if (digitalRead(buttonPin)==LOW){
    allOff();
    blinking();
    lastLight();
  }
  delay(10);
}

ishiro präsentiert buch

Wow! Ich hoffe, der Beitrag hat dir gefallen. Wenn ja hab ich was für dich. Das neue E-Book von StartHardware! Darin findest du die beliebtesten Projekte von StartHardware und vieles mehr!

Wenn du noch tiefer einsteigen willst, empfehle ich Dir das Buch: Arduino: Kompendium: Elektronik, Programmierung und Projekte* – Damit wirst Du zum Arduino-Profi!

Und falls du weitere Fragen hast, stelle sie gern hier im Arduino-Forum :-)

Schreibe einen Kommentar

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

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.