Përmbajtje:
- Hapi 1: Ndërtimi i çështjes
- Hapi 2: Ndërtimi i Mekanikës Flipper
- Hapi 3: Vendosja e Mureve
- Hapi 4: Shtimi i Blloqeve të Rezultateve
- Hapi 5: Shtimi i lojës mbi kontaktin
- Hapi 6: Shpimi i vrimave të kabllove
- Hapi 7: Instalimi i gjithçkaje
- Hapi 8: Ngarkimi i Kodit
Video: Arduino: Makinë Pinball: 8 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Meqenëse gjithmonë i kam dashur të dy makinat e pinballit dhe elektronikën, vendosa të krijoj makinën time të pinballit. Zgjodha Arduino për programim dhe elektronikë, sepse është një platformë shumë e arritshme që është kompakte dhe e lehtë për t’u përdorur.
Në këtë udhëzues unë do të shpjegoj procesin tim të zhvillimit, kështu që ndoshta njëri prej jush entuziastë mund të krijojë diçka të ngjashme.
Hapi 1: Ndërtimi i çështjes
Le të fillojmë me rastin e makinës pinball. Kam bërë një ndërtim mjaft të thjeshtë. Kam sharruar një pjatë të poshtme dhe kam përdorur 4 shtylla të vogla prej druri në qoshe për të lidhur pjesët e murit. Madhësia e kutisë suaj është zgjedhja juaj, unë zgjodha ta bëj atë më të vogël se një makinë pinball origjinale pasi nuk po planifikoja të shtoja ndonjë shtesë super spektakolare për të mbushur hapësirën. Kam përdorur të dy vida dhe zam për ta bërë rastin sa më të qëndrueshëm. Në pjesën e pasme kam shpuar dy vrima në pjesën e dyshemesë për dy këmbët që do t'i japin makinës së pinballit pjerrësinë portreti. Përsëri, lartësia e këmbëve varet nga ju. Sa më i gjatë të bëni këmbët, aq më shpejt topi do të rrokulliset (poshtë).
Hapi 2: Ndërtimi i Mekanikës Flipper
Meqë doja të kufizoja koston e këtij projekti, vendosa të bëj rrahëse plotësisht mekanike në vend të atyre elektronike. Nëse jeni të interesuar për rrahësit elektronikë, mund të përdorni një strukturë që është disi e njëjtë, por me një të ashtuquajtur 'solenoid' të lidhur me të (solenoidët me fuqi të mjaftueshme për të kontrolluar rrahësit ishin shumë të shtrenjtë për mua).
Fillova duke shpuar dy vrima në pjesën e poshtme për pikën e boshtit të të dy rrahësve. Unë i shpova vrimat (sipas mendimit tim) pak shumë pranë njëra -tjetrës, dhe kjo bëri që loja të ishte pak shumë e lehtë në fund. Pra, kini kujdes që të mos i vendosni rrahësit shumë pranë njëri -tjetrit, përveç nëse dëshironi një stil të lehtë të lojës.
Unë gjithashtu shpova dy vrima në të dy muret anësore paralelisht me vrimat e palosjeve. Këto vrima do të përdoren për dy butonat e rrotulluesve.
Kam përdorur burime për t'i tërhequr rrahësit përsëri në pozicionin origjinal, dhe kam bërë një konstruksion rrotullues midis rrahësve dhe butonave për t'i bërë ata të rrotullohen kur shtypen butonat. Për të ndaluar që burimet të tërhiqen shumë përpara, unë vendosa dy vida për t'i mbajtur palosësit në pozicionin e tyre origjinal.
Hapi 3: Vendosja e Mureve
Vendosa nja dy mure për të përcjellur pinballin drejt flippers. Ato janë shumë të thjeshta për tu bërë. Thjesht shponi 3 vrima në pjesën e poshtme të kutisë dhe futni tre kunja prej druri. Mbështillni një brez gome rreth kunjave dhe mbaroni.
Hapi 4: Shtimi i Blloqeve të Rezultateve
Blloqet e rezultateve janë një nga pjesët më vendimtare të makinës së pinballit, prandaj sigurohuni që ta bëni këtë pjesë siç duhet. Kam bërë tre blloqe për makinën time të pinballit, por përsëri e gjitha varet nga ju.
Unë sharrova një copë të vogël të një fshesë, dhe mbështolla tela bakri rreth saj. Arduino do ta furnizojë këtë tel bakri vazhdimisht me 5V. Kam ngjitur katër burime stilolapsi në anën për kontakt më të mirë me topin.
Mënyra se si funksionon blloqet e rezultateve është se topi përfundon një qark që çon në një kunj hyrës në Arduino. Kështu që ajo që bëra ishte ngjitja e letrës së aluminit në pjesën e poshtme të kutisë (MOS PREK T CO BAKURIT) dhe lidhja petë me një kunj në Arduino. Sa herë që topi godet si bakrin ashtu edhe aluminin, qarku është i plotë dhe Arduino do të marrë një sinjal.
Unë i lidha të gjitha blloqet e rezultateve së bashku duke përdorur fletë alumini, por mbani në mend se ana ngjitëse NUK përcjell energji elektrike.
Hapi 5: Shtimi i lojës mbi kontaktin
Në fund të makinës së pinballit, në mes të rrahësve, shtova një lojë mbi kontaktin. Sa herë që topi godet këtë kontakt, lojtari do të humbasë një top. Ndërtimi që kam bërë është shumë i njëjtë me blloqet e rezultateve. Vetëm këtu kam përdorur dy vida, dhe përsëri një copë letër alumini në pjesën e poshtme.
Hapi 6: Shpimi i vrimave të kabllove
Para se të fillojmë të lidhim gjithçka deri në Arduino, duhet së pari të shpojmë disa vrima për kabllot. Unë shpova një vrimë përmes të dy pjesëve të fletës së aluminit, kështu që një vrimë në fletën e aluminit afër blloqeve të pikave dhe një vrimë në fletën e aluminit pranë lojës mbi kontakt.
Përveç kësaj, unë gjithashtu shpova një vrimë në pjesën e poshtme të majtë, në mes të mureve, për kabllon që çon në portën shtesë të topit Servo.
Gjithashtu duhet të ketë një vrimë për kabllon e lidhur me LCD -në në fund.
Hapi 7: Instalimi i gjithçkaje
Unë e bëra këtë skemë për të pasur një pasqyrë më të mirë se ku duhet të shkojnë të gjitha kabllot. Kryqet janë pikat ku lidhen kabllot. Unë u përpoqa të bashkoj sa më shumë që të jetë e mundur për t'i bërë gjithçka pak më të qëndrueshme dhe të besueshme. Instalimet elektrike do të kërkojnë ca kohë, por pasi të jetë bërë kjo, ju jeni pothuajse atje!
Hapi 8: Ngarkimi i Kodit
Ngarko kodin e mëposhtëm në Arduino tuaj për të bërë që pinball -i juaj të jetojë!
// Përfshini bibliotekën për LCD
#përfshi #përfshi
// Filloni kunjat e të dhënave LCD
LiquidCrystal LCD (7, 8, 9, 10, 11, 12);
// Krijoni një servo
Servo ballGateServo;
// Krijoni variabla për kunjat që po përdorim
int gameoverPin = 6; int scorePin = 5; int speakerPin = 4; int ballGateServoPin = 3;
// Filloni variablat e lojës për makinën e pinballit
int rezultati = 0; int rezultati i lartë = 500; bool highscoreReached = false; topa int = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = false;
// ekzekutoni këtë kod një herë në kuadrin e parë
void setup () {// Vendosni pinMode për kunjat që po përdorim pinMode (gameoverPin, INPUT); pinMode (scorePin, INPUT);
// Filloni LCD duke dhënë gjerësinë dhe lartësinë
lcd.filloni (16, 2);
// Bashkojeni servo portën e topit në kunjin e duhur
ballGateServo.attach (ballGateServoPin);
// Rivendosni servo portën në pozicionin fillestar
ballGateServo.shkruaj (0); }
// Drejtojeni këtë kod çdo kornizë të vetme
void loop () {// Kapni hyrjet e pin në gameoverState = digitalRead (gameoverPin); int scoreState = digitalRead (scorePin);
// Shtoni në rezultatin nëse merret hyrja
if (scoreState) {ton (speakerPin, 1000); rezultati += 10; } tjetër {noTone (4); }
// Zbritni nga topat nëse gropa e lojërave nxitet
nëse (gameoverState dhe! gameoverTriggered) {topa -= 1; gameoverTriggered = e vërtetë; gameoverTimer = gameoverTimerDuration; }
// Nisni kohëmatësin e lojës, sapo topi të mos prekë kontaktin e lojës
nëse (! gameoverState) {if (gameoverTimer> = 1) {gameoverTimer -= 1; } else {gameoverTriggered = false; }}
// Mbyllni sytë tekstin e lojës mbi LCD dhe rivendosni rezultatin dhe topat
if (topa <= 0) {lcd.setCursor (0, 0); për (int i = 5; i> = 1; i--) {lcd.qartë (); vonesë (250); lcd.print ("GAME OVER"); lcd.setCursor (0, 1); lcd.print ("Provo përsëri?"); vonesë (250); } lcd.qartë (); rezultat = 0; ballGateServo.shkruaj (0); highscoreReached = false; topa = 3; }
nëse (rezultati> rezultati më i lartë dhe! rezultati më i lartëRrihet) {
lcd.setCursor (0, 0); për (int i = 5; i> = 1; i--) {lcd.qartë (); vonesë (250); lcd.print ("REAL HIGHSCORE"); lcd.setCursor (0, 1); lcd.print ("Vdekja e papritur!"); vonesë (250); } lcd.qartë (); topa = 1; ballGateServo.shkruaj (120); rezultati i lartë = rezultati; highscoreReached = e vërtetë; }
// Përditësoni rezultatin e lartë nëse rezultati aktual është më i lartë
nëse (rezultati> rezultati më i lartë) {rezultati më i lartë = rezultati; }
// Vendoseni kursorin në rreshtin 0
lcd.setCursor (0, 0); // Shtyp rezultatin aktual (të lartë) në LCD nëse (rezultati <= 0) {lcd.print ("Rezultati më i lartë:" + Vargu (rezultati i lartë) + ""); } else {lcd.print ("Rezultati:" + Vargu (rezultati) + ""); }
// Vendoseni kursorin në rreshtin 1
lcd.setCursor (0, 1);
// Shtypni sasinë aktuale të topave në LCD
lcd.print ("Topa:" + Varg (topa)); }
Recommended:
Makinë DIY Arduino Bluetooth e kontrolluar: 6 hapa (me fotografi)
Makinë DIY Arduino Bluetooth e kontrolluar: Përshëndetje miq! Emri im është Nikolas, jam 15 vjeç dhe jetoj në Athinë, Greqi. Sot do t'ju tregoj se si të bëni një makinë me 2 rrota të kontrolluar me Bluetooth duke përdorur një Arduino Nano, një printer 3D dhe disa përbërës të thjeshtë elektronikë! Sigurohuni që të shikoni timen
Makinë LEVITIMI ULTRASONIK duke përdorur ARDUINO: 8 hapa (me fotografi)
Makinë LEVITIMI ULTRASONIK Përdorimi i ARDUINO: veryshtë shumë interesante të shohësh diçka që lundron në ajër ose hapësirë të lirë si anije kozmike të huaja. kjo është pikërisht ajo që ka të bëjë me një projekt kundër gravitetit. Objekti (në thelb një copë e vogël letre ose termokolli) vendoset midis dy trans -tejzanor
Arduino Pinball Makinë që Luan Veten !: 13 hapa (me fotografi)
Makinë Pinball Arduino që Luan Vetë !: " Një makinë pinballi që luan vetë, a nuk e heq gjithë argëtimin nga ajo? &Quot; Unë dëgjoj që ju pyesni. Ndoshta nëse nuk jeni në robotë autonomë mund të ndodhë. Unë, megjithatë, jam shumë për ndërtimin e robotëve që mund të bëjnë gjëra të bukura, dhe ky
Makinë Pinball Tabletop Duke përdorur Plaformën e Embedded të bazuar në Evive- Arduino: 18 hapa (me fotografi)
Makinë Pinball Tabletop Duke përdorur Evive- Arduino Bazuar në platformën e integruar: Një fundjavë tjetër, një lojë tjetër emocionuese! Dhe këtë herë, nuk është tjetër veçse loja arcade e preferuar e të gjithëve - Pinball! Ky projekt do t'ju tregojë se si ta bëni makinën tuaj Pinball lehtë në shtëpi. E tëra që ju nevojitet janë përbërës nga eviv
Makinë Play Station Makinë e printuar pa tela 3D me telekomandë: 7 hapa (me fotografi)
Play Station Makinë me printim pa tela 3D me telekomandë: Kush nuk i pëlqen lojërat? Gara dhe Luftimet në Botën Virtuale të Play Station dhe Xbox !! Pra, për ta sjellë atë argëtim në jetën reale, e bëra këtë Instructable në të cilin do t'ju tregoj se si mund të përdorni çdo Kontrollues të Telekomandës Play Station (Me tela