Kazalo:
- 1. korak: Izdelava primera
- Korak 2: Izdelava mehanika Flipperja
- 3. korak: Polaganje sten
- 4. korak: Dodajanje točkovnih blokov
- 5. korak: Dodajanje igre čez stik
- 6. korak: Vrtanje lukenj za kable
- 7. korak: Ožičite vse
- 8. korak: nalaganje kode
Video: Arduino: Pinball Machine: 8 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Ker sem imel vedno rad tako flipere kot elektroniko, sem se odločil, da bom zgradil svoj fliper. Za programiranje in elektroniko sem se odločil za Arduino, ker je zelo dostopna platforma, ki je hkrati kompaktna in enostavna za uporabo.
V tem priročniku bom razložil svoj razvojni proces, zato bi morda kdo od vas navdušenih lahko ustvaril nekaj podobnega.
1. korak: Izdelava primera
Začnimo z ohišjem fliperja. Naredil sem dokaj preprosto konstrukcijo. Odrezal sem spodnjo ploščo in uporabil 4 drobne lesene stebre v vogalih za povezavo stenskih kosov. Velikost vašega ohišja je vaša lastna izbira, odločil sem se, da bo nekoliko manjši od originalnega fliperja, saj nisem nameraval dodati nobenih super spektakularnih dodatkov, ki bi zapolnili prostor. Uporabil sem oba vijaka in lepilo, da je ohišje čim bolj stabilno. Na hrbtni strani sem izvrtal dve luknji v kosu za dve nogi, ki bosta fliperju dala ikonični nagib. Še enkrat, višina nog je odvisna od vas. Čim višje naredite noge, hitreje se bo žogica kotalila (navzdol).
Korak 2: Izdelava mehanika Flipperja
Ker sem hotel omejiti stroške tega projekta, sem se odločil, da bom namesto elektronskih izdelal popolnoma mehanske plavuti. Če vas zanimajo elektronske plavuti, lahko uporabite konstrukcijo, ki je nekoliko enaka, vendar s tako imenovanim "solenoidom" (solenoidi z dovolj moči za nadzor plavuti so bili zame predragi).
Začel sem z vrtanjem dveh lukenj na dnu za vrtilno točko obeh plavuti. Luknje sem (po mojem mnenju) preblizu drug drugemu naredil, zaradi česar je bila igra na koncu nekoliko preveč enostavna. Zato pazite, da plavuti ne postavljate preblizu drug drugemu, razen če želite enostaven slog igranja.
Prav tako sem izvrtal dve luknji v obeh stranskih stenah vzporedno z luknjami za plavuti. Te luknje je treba uporabiti za dva gumba na pladnju.
Z vzmetmi sem potegnil plavuti nazaj v prvotni položaj in med plavuti in gumbi naredil vrtljivo konstrukcijo, da so se vrtile, ko pritisnemo gumbe. Da bi preprečili, da bi vzmeti preveč potegnile plavuti, sem privijal dva vijaka, s katerim sta plavuti držala v prvotnem položaju.
3. korak: Polaganje sten
Postavil sem nekaj sten, da sem fliper preusmeril proti plavuti. Izdelati jih je zelo preprosto. Preprosto izvrtajte 3 luknje na dnu ohišja in potisnite tri lesene zatiče. Okoli zatičev zavijte gumijasti trak in končali ste.
4. korak: Dodajanje točkovnih blokov
Kocke so eden najpomembnejših delov fliperja, zato poskrbite, da boste ta del izvedli pravilno. Za svoj fliper sem naredil tri bloke, a spet je vse odvisno od vas.
Odsekal sem majhen kos metle in okoli njega zavil bakreno žico. Arduino bo to bakreno žico nenehno napajal s 5V. Za boljši stik z žogico sem ob strani spajkala štiri vzmeti za pero.
Način delovanja blokov partiture je, da žoga zaključi vezje, ki vodi do vhodnega zatiča na Arduinu. Torej sem naredil lepilno aluminijasto folijo na dno ohišja (NE DOTIKAJ SE BAKRA) in folijo povezal z zatičem na Arduinu. Kadarkoli žoga zadene tako baker kot aluminij, je vezje končano in Arduino bo prejel signal.
Vse rezalne bloke sem povezal z aluminijasto folijo, vendar ne pozabite, da lepljiva stran NE prevaja elektrike.
5. korak: Dodajanje igre čez stik
Na dnu fliperja, med plavuti, sem dodal igro nad stikom. Ko žoga zadene ta stik, igralec izgubi žogo. Konstrukcija, ki sem jo naredil, je zelo podobna rezalnim blokom. Le tu sem uporabil dva vijaka, na dnu pa spet kos aluminijaste folije.
6. korak: Vrtanje lukenj za kable
Preden začnemo ožičenje vse do Arduina, moramo najprej izvrtati nekaj lukenj za kable. V obeh kosih aluminijaste folije sem izvrtal luknjo, tako da je ena luknja v aluminijasti foliji blizu blokov in ena luknja v aluminijasti foliji v bližini igre nad stikom.
Poleg tega sem spodaj levo, med stenami, izvrtal tudi luknjo za kabel, ki vodi do dodatnih krogelnih vrat Servo.
Spodaj mora biti tudi luknja za kabel, priključen na LCD.
7. korak: Ožičite vse
To shemo sem naredil za boljši pregled, kam naj gredo vsi kabli. Križi so točke, kjer se kabli povežejo. Poskušal sem čim bolj spajkati, da bi bilo vse nekoliko bolj stabilno in zanesljivo. Ožičenje bo trajalo nekaj časa, a potem, ko ste to naredili, ste že skoraj tam!
8. korak: nalaganje kode
Naložite naslednjo kodo v svoj Arduino, da bo vaš fliper zaživel!
// Vključi knjižnico za lcd
#include #include
// Inicializiramo podatkovne nožice lcd
LCD tekoči kristal (7, 8, 9, 10, 11, 12);
// Ustvarite servo
Servo ballGateServo;
// Ustvarjamo spremenljivke za zatiče, ki jih uporabljamo
int gameoverPin = 6; int scorePin = 5; int speakerPin = 4; int ballGateServoPin = 3;
// Inicializirajte spremenljivke igranja za fliper
int rezultat = 0; int najvišji rezultat = 500; bool highscoreReached = false; int kroglice = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = false;
// to kodo zaženite enkrat pri prvem okvirju
void setup () {// Nastavite pinMode za nožice, ki jih uporabljamo pinMode (gameoverPin, INPUT); pinMode (scorePin, INPUT);
// Inicializirajte lcd tako, da določite širino in višino
lcd.begin (16, 2);
// Servo krogličnih vrat pritrdite na ustrezen zatič
ballGateServo.attach (ballGateServoPin);
// Ponastavite servo vrata na začetni položaj
ballGateServo.write (0); }
// Zaženi to kodo za vsak okvir
void loop () {// Zajem pin vhodov int gameoverState = digitalRead (gameoverPin); int scoreState = digitalRead (scorePin);
// Če je vnos vnešen, dodajte oceni
if (scoreState) {ton (speakerPin, 1000); rezultat += 10; } else {noTone (4); }
// Odštejemo od žog, če se sproži igralna jama
if (gameoverState in! gameoverTriggered) {žogice -= 1; gameoverTriggered = res; gameoverTimer = gameoverTimerDuration; }
// Zaženite časovnik za prehod igre, takoj ko se žogica ne dotakne stika za prehod igre
if (! gameoverState) {if (gameoverTimer> = 1) {gameoverTimer -= 1; } else {gameoverTriggered = false; }}
// Besedilo o igri prestavite na lcd in ponastavite rezultat in žogice
if (žoge <= 0) {lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); zamuda (250); lcd.print ("GAME OVER"); lcd.setCursor (0, 1); lcd.print ("Poskusi znova?"); zamuda (250); } lcd.clear (); rezultat = 0; ballGateServo.write (0); highscoreReached = false; kroglice = 3; }
if (score> highscore and! highscoreReached) {
lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); zamuda (250); lcd.print ("NEW HIGHSCORE"); lcd.setCursor (0, 1); lcd.print ("Nenadna smrt!"); zamuda (250); } lcd.clear (); kroglice = 1; ballGateServo.write (120); rezultat = rezultat; highscoreReached = res; }
// Posodobite rezultat, če je trenutni rezultat višji
if (rezultat> najvišji rezultat) {vrhunski rezultat = rezultat; }
// kurzor nastavimo na vrstico 0
lcd.setCursor (0, 0); // Natisni trenutno (visoko) oceno na lcd if (score <= 0) {lcd.print ("Highscore:" + String (highscore) + ""); } else {lcd.print ("Score:" + String (score) + ""); }
// kurzor nastavimo na 1. vrstico
lcd.setCursor (0, 1);
// Natisnite trenutno količino kroglic na lcd
lcd.print ("Kroglice:" + niz (kroglice)); }
Priporočena:
ULTRASONIC LEVITATION Machine, ki uporablja ARDUINO: 8 korakov (s slikami)
ULTRASONIC LEVITATION Machine, ki uporablja ARDUINO: Zelo zanimivo je videti nekaj, kar lebdi v zraku ali prostem prostoru, kot so vesoljske ladje tujcev. ravno o tem gre pri projektu proti gravitaciji. Predmet (v bistvu majhen kos papirja ali termokola) je postavljen med dve ultrazvočni trans
Arduino Pinball Machine, ki se igra sam !: 13 korakov (s slikami)
Arduino fliper, ki se igra sam !: " Stroj za fliper, ki se igra sam, ali mu to ne vzame vsega užitka? &Quot; Slišim, da sprašujete. Morda, če se ne ukvarjate z avtonomnimi roboti. Jaz pa se zelo ukvarjam z izdelavo robotov, ki zmorejo kul stvari, in ta
Micro: bit - Micro Drum Machine: 10 korakov (s slikami)
Micro: bit - Micro Drum Machine: To je mikro: bitni mikro bobni stroj, ki namesto samo ustvarja zvok, dejansko bobni. Težko ga navdihujejo zajci iz orkestra micro: bit. Vzelo mi je nekaj časa, da sem našel nekaj solenoidov, ki so bili enostavni za uporabo z mocro: bit,
Madness Machine: 5 korakov (s slikami)
Madness Machine: Majhen projekt z enim samim zlim namenom, ki zavaja ljudi, da preverijo svoje telefone
WW2 Radio Broadcast Time Machine: 13 korakov (s slikami)
WW2 Radio Broadcast Time Machine: Ideja za to je bila uporabiti nekaj delov, ki sem jih imel naokoli, in zgraditi zvočni džuboks, oblikovan v starem radiu. Da bi zagotovil več namena, sem se odločil tudi, da ga napolnim s starimi radijskimi oddajami iz 2. svetovne vojne in nato prenamenim