Table of Contents

Masina simpla pinball

Introducere

Doresc sa imit jocul clasic de Pinball in care jucatorul trebuie sa actioneze 2 flippere pentru a-si mentine bila in plansa de joc cat mai mult timp sa acumuleze puncte. Voi utiliza elementele de baza ale jocului, si anume pop bumpers si slingshot bumpers, iar apoi diferite zone de contact pentru bila. O sa existe un display care arata scorul si cate bile mai sunt(din 3) si cred ca un buzzer pentru a anunta diferite evenimente.

Prezentarea pe scurt a proiectului vostru:

  • refac elementele de baza ale jocului de masa pinball
  • sa merite sa fie jucat si rejucat
  • Pinball space cadet de pe windowsXP si cele fizice pe care le gasesc in Romania
  • in realitate se introduc fise pentru a juca(deci evident bani) dar acest proiect este pentru amuzament

Descriere generală

Schema exterioara a plansei:

  • albastre vor fi elementele dinamice(flippere si bumpere).
  • negru pentru margini.
  • galben pentru puncte de trecere(pornesc stinse, cand trece bila o data se aprinde un led si daca trece iar se stinge; daca toate 3 devin active simultan voi oferi ori multe puncte ori un score multiplier pentru tot scorul facut dupa eveniment si pana pica bila curenta).
  • cyan o sa fie 3 butonase care la apasare li se aprinde becu, si ar functiona la fel cu trecerile marcate cu galben.
  • rosu este un un jackpot(o gramada de puncte, daca atingerea unui bumper da 500, asta rosu ar da 20.000)
  • verde e lansatorul(un solenoid activat prin buton)
  • mov este controlul bilelor(un servo activat de jucator cand ii pica bila sau la inceput, si o sa poata sa faca asta de 3 ori)
  • roz este senzorul care comunica microcontrollerului ca o bila a fost pierduta de jucator
  • gri sunt bilele, care in realitate au diametru de 2cm si sunt metalice

Terminologie utila:

  • Pop bumper-ul (cercurile albastre de sus) este o piesa circulara omniprezenta in mesele de pinball, de forma circulara care la contact cu bila se va lasa in jos, impingand-o de unde a venit.
  • Slingshot bumper-ul (triunghiurile cu o latura albastra, cea care lanseaza bila si 2 negre inerte) la fel de raspindit ca pop bumperul, de forma triunghiulara si are ca scop lansarea bilei in susul plansei si surprinderea jucatorului cu unghiuri diverse.
  • Flipper-ul (dungile albastre de jos) este elementul controlat de jucator, aflat jos si previne caderea bilei prin miscarea lui pe un unghi limitat in sus.
  • Medal targets(cele cyan) intr un joc mai complex ar oferi un rank pentru anumite bonusuri, dar cum astfel de mecanici necesisa o plansa mult mai mare, solenoizi mult mai puternici, si in general o investitie de mii de lei, eu ofer doar puncte. Trebuie lovite fiecare din cele 3 astfel in cat toate 3 becurile sa fie aprinse simultan pentru recompensa.
  • Re-entry lanes(cele galbene) usual se afla deasupra pop bumperelor dar functioneaza la fel ca in jocul standard.
  • Space Warp rollover (rosu) a fost facut de mine in cel mai pretios loc de pe plansa, el in mod normal neavand acasta importanta.

Hardware Design

Aici puneţi tot ce ţine de hardware design:

  • listă de piese:
  • Arduino Leonardo * 1
  • MODUL SENZOR BARIERA INFRAROSU TCRT5000 * 5
  • Solenoid, Ajmaker, 10N, 12V * 8
  • BUZZER 12 mm PCB 5 VDC 50 mA 85 dB * 1
  • DISPLAY LCD 2004A IIC 5V * 1
  • MINISERVOMOTOR SG90 * 1
  • Releu 8 10A 5V operationali pentru solenoizi
  • LED 3 mm ROSU * 6
  • Butoane * 6
  • Rezistente la nevoie
  • Trebuie precizat ca intentionez sa fac toate conexiunile la placa de prototipare, nu direct la placuta, cum arata aici, dar scopul si legaturile sunt aceleasi
  • de altfel bateria de 12v din schema este simbolica, folosind defapt o Sursa de alimentare modulara Koloreno, 120W, 12V, 10A, IP20
  • am reprezentat doar 1 solenoid din 8, dar restu sunt exact la fel. un fapt mai important este ca doar 3 dintre ele vor fi actionate efectiv de butoane, cele de la flippere si cel de lansare, la restu(bumepere) butonul o sa fie doar creerea unui contact intre niste lamele
  • sper sa fie okay(si in cablaj si in tensiuni), nu sunt chiar sigur
  • diagrame de semnal
  • rezultatele simulării

Software Design

Descrierea codului aplicaţiei (firmware):

  • Arduino IDE 1.8.5
  • TimerOne, LiquidCrystalI2C
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • Intreruperi generate de timer1 care verifica starea a 3a senzori tcrt5000, restul se face in loop momentan

Rezultate Obţinute

Rezultate: -mult chin

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

1)Undeva seara intre 2 si 3 mai 2024:

Adaugat tema si componentele utilizate + layout ul plansei

2)Seara lui 3 mai 2024:

Adaugat legenda plansei si descrierea sa

3)Miercuri 8 mai 2024:

Facut design efectiv pe lemn pentru masa

4)Sambata 11 mai 2024:

Taiat si perforat plansa, pentru a forma zona de joc(majoritatea pieselor deja sunt in posesia mea la acest moment)

5)Luni 13 mai 2024:

Asamblare masa + lacuire lemn pentru reducerea frecarilor si aspect(pana la urmatorul update ea se afla la uscat)

Aici pot fi observat aplicand lacul, dupa ce am fixat elementele statice de joc. P.S. ea e tinuta cu susul in jos in poza

6)Vineri 17 mai 2024:

Masa este gata, elementele de joc au fost montate, chiar daca mai pot fi modificate unele.
Asa arata fata, respectiv spatele:

Urmeaza punerea de cabluri si rezistente, dar asta lunea viitoare estimez.

7)Marti 21 mai 2024: Rezolvarea unui crippling bug care nu imi permitea sa dau upload la nici un fel de cod de pe platformio pe placuta, ca imi deconecta placuta cand incepea uploadul. Solutia a fost sa ma mut pe Arduino IDE 1.8.5. De altfel am descoperit importanta fluxului in lipirea cu ciocanul de incalzire. Maine sper sa am senzorii TCRT5000, ledurile si displayul utilizabile pentru prezentarea de laborator

8) 1 a.m. vineri 24 mai 2024: mecanismele de punctare led, display-ul, si servo-ul sunt online. A mai ramas doar detectarea jackpotului(punctu rosu de sus, se face repede), buzzerul, senzorul de game-over sa fie reintegrat(tot repede), si trasarea firelor pentru solenoizi(partea mai neplacuta). Posibila problema detectata cu pinul 3 in implementare. Daca este descoperit ca fiind defect, buzzer-ul nu va mai putea fi folosit.

9) Peste 24h, tot 1 a.m. dar 25 mai 2024: toate tcrt-urile sunt montate, dar trebuie calibrate si rezultatele a 2a dintre ele utilizate. Toti solenoizii sunt montati si functionali, dar controlul lor(pini de IN de pe relay nu sunt wired decat la IN8, si acolo cred ca va trebui refacut). Pin 3 nu a fost investigat, ramane de vazut maine(25 ziua) ce pot face cu el si buzzerul.

Spatele, da stiu haos:

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF