Teeautomat |
Unsere nützlichste "Erfindung" bislang. Endlich perfekt gezogener Tee. Das gab es bei uns vorher nicht, weil keiner die Teeuhr hört. Hier im Haushalt kann sich schon Sekunden nach dem nervtötenden Klang keiner daran erinnern, ob es nun geklingelt hat oder nicht. Der Teeautomat hilft und zieht den Teebeutel im richtigen Moment.Auf Wunsch wird auch schon mal den Kandis eingeworfen. Der Ablauf:
Was noch fehlt? Der zweite Roboter der die Arbeitsfläche wischt, nachdem der Kandis aus großer Höhe in den Tee gefallen ist. NXC Quelltext: #define BEUTEL_HEBER OUT_A #define BEUTEL_HEB_DREHUNGEN 1800 #define KANDIS_KIPPE OUT_B #define KANDIS_KIP_DREHUNGEN 160 #define KLINGEL_LAUSCHER IN_2 #define KLINGEL_GRENZWERT 90 #define BEDIENKNOPF IN_1 #define BEDIENKNOPF_WERT SENSOR_1 sub hebeBeutel() { RotateMotor(BEUTEL_HEBER,40,BEUTEL_HEB_DREHUNGEN); } sub kippeKandis() { RotateMotor(KANDIS_KIPPE,20,KANDIS_KIP_DREHUNGEN); Wait(1000); RotateMotor(KANDIS_KIPPE,20,-KANDIS_KIP_DREHUNGEN); } sub mitZucker() { PlayFile("mitzucker.rso"); Wait(3500); } sub endeMitZucker() { PlayTone(400,400); Wait(400); } sub teeIstFertig() { PlayFile("teeistfertig.rso"); Wait(3000); } task main () { SetSensorSound(KLINGEL_LAUSCHER); SetSensor(BEDIENKNOPF,SENSOR_TOUCH); until(BEDIENKNOPF_WERT==1); mitZucker(); bool mitZucker=false; int i=0; do { Wait(100); i++; int bedien= SENSOR_1; if (bedien==1) { mitZucker=true; } } while (i<50 && ! mitZucker); endeMitZucker(); until(SENSOR_2 > KLINGEL_GRENZWERT); Wait(2000); hebeBeutel(); if (mitZucker) { kippeKandis(); } teeIstFertig(); } |