NXT-Daten:
--
256kb flash
64kb ram
4kb flash
512 byte ram
LCD 100 * 60px
--
Umgebung:
- es gibt 2 Bereiche auf denen der NXT agiert:
1. Die Küche
2. Der Tisch
Beide sind durch eine Rampe von einander getrennt
- Auf dem Tisch ist in der Mitte eine schwarze Markierung
Diese dient dem NXT zur orientierung
- An den Seiten des Tisches können Kunden sitzen
Der NXT kommt von Süden
Kunde 1 ist im Osten, Kunde 2 im Norden und Kunde 3 im Westen
Ablauf:
- der NXT fährt die Tische vom Startpunkt aus rechtsrum (1 - 3) nachdem der Tastsensor betätigt wurde
- sitzt an einem Tisch ein Kunde, so...
- tut er das zwischen dem NXT und dem Tisch
- gibt der NXT eine Nachricht aufs Display damit der Kunde eine Bestellung aufgeben kann
- Bestellungen werden über den Lichtsensor durch Farben aufgegeben
- ist eine Bestellung aufgegeben worden...
- speichert der NXT diese
- oder saß kein Kunde am Tisch, fährt der NXT weiter
- Abbruch auch nach einer gewissen Zeitspanne möglich? Oder durch eine Auswahl?
- Ist der NXT fertig und in der Küche angekommen, dann gibt er da die Bestellungen aufs Display
- Wenn der NXT "beladen" wurde, fährt er zu den Tischen und liefert die Bestellungen aus
Fange in der "Küche" an
gehe in den Bestellmodus
- Bestellmudus: -
Warte auf Tastsensor
Fahre zum Tisch (Kennzeichnung)
Drehe zu Kunde 1 (rechts)
Messe Entfernung mit Ultraschall Sensor (in 60cm)
Wenn Objekt erkannt, gebe Bestelltext aus
- Warte auf Karte? (Messe mit Lichtsensor. Warten auf Tastsensor?)
Merke Bestellung
Wiederhole mit Kunde 2 und 3
Fahre zurück zur Küche
Wenn: Bestellungen gespeichert sind
dann: gehe in den Liefermodus und gebe Bestellungen aufs Display
sonst gehe in den Bestellmodus und wiederhole
Warte 5 Sekunden
Drehe um 180°
Warte auf Tastsensor
Setze "nächster Kunde" auf 1
- Liefermodus: -
# # # Option 1: # # # (Voreinstellung)
- Nehme alle Bestellung auf einmal
Fahre zurück zum Tisch
Gebe Bestellungen aufs Display
Warte auf Tastsensor
Drehe um 180°
# # # Option 2: # # #
- Nehme nur eine Bestellung gleichzeitig
Fahre zurück zum Tisch
Gibt auf Display Kunde und Bestellung aus.
Wenn: nächster Kunde = 1
dann: drehe rechts
setze Bestellung von Kunde 1 auf 0
wenn: Bestellung von Kunde 2 nicht 0
dann: setze "nächster Kunde" auf 2
sonst: wenn: Bestellung von Kunde 3 nicht 0
dann: setze "nächster Kunde" auf 3
sonst: setzte nächster Kunde auf 0
Warte auf Tastsensor
Drehe rechts
sonst: wenn: nächster Kunde = 2
dann: setze Bestellung von Kunde 2 auf 0
wenn: Bestellung von Kunde 3 nicht 0
dann: setze "nächster Kunde" auf 3
sonst: setzte nächster Kunde auf 0
Warte auf Tastsensor
Drehe um 180°
sonst: wenn: nächster Kunde = 3
drehe links
Warte auf Tastsensor
Drehe links
Fahre zurück zur Küche
Wenn: nächster Kunde nicht 0
dann: gebe nächsten Kunden und Bestellung auf Display
warte 5sec
drehe um 180°
warte auf Tastsensor
wiederhole option 2
# # # alle Optionen
Gehe in Bestellmodus