Aufgepasst!
Günstige Hardware und kostenlose eBooks für den Arduino gibt es bei AZ Delivery
Info zu meinen Partnerlinks
Ist schon seltsam, auf was für Ideen ich manchmal komme.
Ich weiß ehrlich gesagt gar nicht mehr, wie die Idee in meinem Kopf entstanden ist, aber irgendwie war sie plötzlich da: ich wollte ein Trinkspiel mit einem Arduino bauen.
Gut, es ist nicht wirklich ein Trinkspiel, sondern mehr ein Zufallsgenerator, der gestartet wird, wenn etwas auf einen Drucksensor gelegt/gestellt wird, aber Trinkspiel ist doch viel click-baitiger, oder?
In meinem Kopf sah das ganze so aus:
ein Kurzer wird in die Mitte eines LED-Ringlichts auf einen Drucksensor gestellt und startet somit den Zufallsgenerator, welcher durch ein laufendes Licht abgebildet wird. Irgendwann bleibt eine LED stehen und signalisiert so der Person, die dem Licht am nähsten ist, dass der Kurze durch eben diese Person konsumiert werden muss.
Quasi Flaschendrehen mit Technik.
Nun spukt diese Idee schon seit gut über einem Jahr in meinem Kopf herum. Ungefähr genau so lang liegen die Bauteile in der Kiste.
Nun begab es sich, dass ich über eine Woche kzH (krank zu Hause) hocken musste und mir die Decke auf den Kopf gefallen ist.
Also endlich mal den Kram aus der Kiste geholt und einfach angefangen.
Nachfolgend der Code, das Innenleben des hässlichen Kastens und das Ergebnis. Zugegeben, das Ding sieht nicht sonderlich schön aus. Aber darum geht’s ja auch nicht. Und außerdem hab ich keinen 3D-Drucker, um hübsche Gehäuse zu drucken.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
//Variablen festlegen int pressurePIN = 0; int currentPressure = 0; int numLights = 24; int lightsPIN = 6; int zufall; //LEDs initialisieren #include <Adafruit_NeoPixel.h> Adafruit_NeoPixel leds = Adafruit_NeoPixel(numLights, lightsPIN, NEO_GRB + NEO_KHZ800); void setup() { //LEDs einstellen und starten leds.setBrightness(32); leds.begin(); leds.show(); } void loop() { currentPressure = analogRead(pressurePIN); if (currentPressure > 1000) { flashRed(); } else { choose(); } } void choose() { //Endposition zufällig bestimmen randomSeed(analogRead(1)); zufall = random(0,numLights-1); //Ein paar Runden Licht, jede etwas langsamer for (int runde=15;runde>6;runde--) { for (int i=0;i<numLights;i++) { randomizeColors(); leds.setPixelColor(i,255,128,0); leds.show(); delay(800/runde); leds.setPixelColor(i,0,0,0); leds.show(); if (analogRead(pressurePIN)> 1000) { return; } } } //Ab in die Parkposition for (int i=0;i<zufall;i++) { randomizeColors(); leds.setPixelColor(i,255,128,0); leds.show(); delay(800/5); leds.setPixelColor(i,0,0,0); leds.show(); if (analogRead(pressurePIN)> 1000) { return; } } //Rot blinken und warten, dass der Gegenstand vom Sensor entfernt wird while (currentPressure<1000) { //wait currentPressure = analogRead(pressurePIN); leds.setPixelColor(zufall,255,0,0); leds.show(); delay(500); leds.setPixelColor(zufall,0,0,0); leds.show(); delay(500); } } void flashRed() { for (int i=0;i<numLights;i++) { leds.setPixelColor(i,0,255, 0); } leds.show(); delay(500); for (int i=0;i<numLights;i++) { leds.setPixelColor(i,0,0,0); } leds.show(); delay(500); } |
Wenn Dir dieser Beitrag geholfen hat und/oder Du mich finanziell unterstützen magst, kannst Du dies gerne per Paypal machen.
Alternativ kannst Du Dir meinen Amazon-Partnerlink in die Favoriten legen und Amazon bei Deinen zukünftigen Einkäufen darüber aufrufen:
Es entstehen Dir dadurch keine Mehrkosten, ich erhalte aber eine kleine Provision.
Über einen Kommentar freue ich mich natürlich auch :-)
Jan B-Punkt
Neueste Artikel von Jan B-Punkt (alle ansehen)
- Adventskalender Gewinnspiele 2024 - 1. Dezember 2024
- Freie News für freie User – Schneller als die Paywall - 22. April 2024
- Adventskalender Gewinnspiele 2023 - 1. Dezember 2023
- Angespielt: Starship Troopers: Extermination - 19. Mai 2023
- Fazit zum ATOMSTACK A5 pro nach zwei Monaten Nutzung - 9. Mai 2023