Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Buzz Wire mit Punktezähler

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
Summer
× 1
5 mm LED:Rot
× 1
5 mm LED:Grün
× 1
Texas Instruments Schieberegister - seriell zu parallel
× 1
7-Segment-LED-Anzeige, rot
× 1
Widerstand 221 Ohm
× 10
9-V-Batterie (generisch)
× 1

Notwendige Werkzeuge und Maschinen

Bohrer, Schraubendreher
Lötkolben (generisch)

Über dieses Projekt

Nachdem ich mit Arduino herumgespielt hatte, nur um eine Weile Zeit zu vertreiben, beschloss ich, eine verbesserte Version des guten alten Buzz-Wire-Spiels zu machen, das Ihre Fehler zählt und verrückt wird, wenn Sie 10 Mal auf den Draht treffen!

Hier ist ein Video von mir, wie ich an meinem eigenen Spiel lutsche:

Der Quellcode ist in drei Dateien unterteilt.

Im Code ist nach jedem Ausfall eine „Grace Period“ von 500ms eingestellt. Sie können dies ändern, um dem Spieler nach jedem Buzz eine größere Pause zu geben.

Am Ende ist mir auch aufgefallen, dass die LEDs etwas zu hell sind! Fühlen Sie sich frei, die beiden verwendeten Widerstände durch stärkere zu ersetzen. Meine sind nur etwa 100 Ohm.

Für den Ring habe ich das Ende eines Schlüsselanhängers verwendet. Das Gute daran ist, dass Sie es einfach öffnen können und nicht den ganzen Weg zurück auf dem Kabel navigieren müssen.

Ich hoffe dir gefällt mein Projekt!

Code

  • nervous_meter_score.ino
  • score_display.ino
  • game.ino
nervous_meter_score.inoArduino
int LatchPin =3; // ST_CP [RCK] auf 74HC595int clockPin =4; // SH_CP [SCK] auf 74HC595int dataPin =2; // DS [S1] on 74HC595const int STOP_LED =6;const int GO_LED =7;const int BUZZ =8;const int TOUCH =10;const int fail_threshold =9;enum Status{ STOP =0, GO =1};void setup () { Serial.begin (9600); displayInitialSetup(); gameInitialSetup();}Status status =GO;int failCounter =0;void loop() { while (failCounter> fail_threshold) { gameover(); } Schalter (Status) { Fall GO:digitalWrite (GO_LED, HIGH); digitalWrite (STOP_LED, LOW); digitalWrite (BUZZ, NIEDRIG); if (digitalRead (TOUCH) ==HIGH) { Status =STOP; } brechen; Fall STOPP:digitalWrite(GO_LED, LOW); FailCounter++; if (failCounter> fail_threshold) break; displayDigit(FailCounter); Serial.println (FailCounter); FailAlarm(); Status =GO; brechen; }}Byte seg_spin[6] ={ B10000000, B01000000, B00100000, B00010000, B00001000, B00000100};void gameover(){ for (int i=0; i<6; i++) { digitalWrite (BUZZ, HIGH); Verzögerung(5); digitalWrite (BUZZ, NIEDRIG); Verzögerung (50); digitalWrite (LatchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, seg_spin[i]); digitalWrite (LatchPin, HIGH); Verzögerung(10); }}
score_display.inoArduino
byte seg_digits[10] ={ B11111100, // =0 B01100000, // =1 B11011010, // =2 B11110010, // =3 B01100110, // =4 B10110110, // =5 B10111110, // =6 B11100000, // =7 B11111110, // =8 B11100110 // =9}; Void displayDigit (int x) {digitalWrite (latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, seg_digits[x]); digitalWrite (latchPin, HIGH);}void displayInitialSetup () { pinMode (latchPin, OUTPUT); pinMode (dataPin, AUSGANG); pinMode (clockPin, AUSGANG); displayDigit(0);}
game.inoArduino
void gameInitialSetup(){ pinMode(STOP_LED, OUTPUT); pinMode (GO_LED, AUSGANG); pinMode (BUZZ, AUSGANG); PinMode (TOUCH, HIGH); digitalWrite (TOUCH, LOW);}void failAlarm () { digitalWrite (STOP_LED, HIGH); Signalton(); Verzögerung (150); digitalWrite (STOP_LED, LOW); digitalWrite (BUZZ, NIEDRIG); delay(500);}void beep(){ for(int i=0; i<3; i++) { digitalWrite (BUZZ, HIGH); Verzögerung (50); digitalWrite (BUZZ, NIEDRIG); Verzögerung (50); }}

Schaltpläne

Denken Sie nur daran, dass der D10, wenn er an die 5V angeschlossen wird, einen Fehler darstellt, der dazu führt, dass der Summer piept und der Zähler zählt. Im Schaltplan gab es keine Möglichkeit, es zu zeigen.
Bauen Sie also Ihre Drähte auf und strukturieren Sie sie entsprechend :)

Herstellungsprozess

  1. Reagiert das Wolframdrahtgewebe mit Luft?
  2. Tiara
  3. Stacheldraht
  4. LCD-Panel mit Arduino für Flugsimulator
  5. Schalter/LED-Panel mit Arduino für FS2020
  6. Python-Zähler in Sammlungen mit Beispiel
  7. Elektrische Projekte der E3.series - Drahteinführung mit E3.cable
  8. Arduino mit Bluetooth zur Steuerung einer LED!
  9. MOSMusic
  10. Erkunden von Nischen mit neuen EDM-Technologien