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);
}

Willst du noch mehr über Arduino erfahren, damit du so richtig durchstarten kannst?
Oder suchst du spannende Projekte zum Nachbauen?
Dann sieh' dir unbedingt die E-Books von StartHardware an.


Bevor du gehst, würdest du mir helfen, diese Website besser zu machen, indem du ganz kurz an einer Umfrage teilnimmst? Sind nur zehn Fragen und das würde mir sehr viel bedeuten.

Ich hoffe, der Beitrag hilft dir weiter. 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.