Fliper
Zajedno gradimo stolni fliper s Arduinom: tipke, senzori kuglice, zavojnice, lampice, LED zaslon i zvuk, dio po dio kroz radionice.

Uvod
Fliper je igra u kojoj se metalna kuglica kotrlja niz kosu ploču, a igrač je s dvije palice odbija natrag prema vrhu. Kuglica se usput sudara s odbijačima, pogađa mete i prolazi kroz staze, a svaki pogodak donosi bodove. Lampice trepću, zvučnik svira, a zaslon pokazuje rezultat. Kad kuglica pobjegne pokraj palica i upadne u rupu na dnu ploče, igrač je izgubio kuglicu. Igra najčešće traje tri kuglice.
Ove godine na Arduino radionicama gradimo vlastiti fliper. Bit će manji od onih u igraonicama: ploča je velika otprilike 30 × 55 cm, a čelična kuglica ima promjer 15 mm. Sve što u njemu radi napravit ćemo i programirati sami, dio po dio: tipke, senzore koji prepoznaju kuglicu, zavojnice koje udaraju kuglicu, lampice, LED zaslon i zvuk. Svaka radionica od 3. poglavlja nadalje uči nešto što fliperu treba.
Malo povijesti flipera

Fliper potječe od bagatelle, stolne igre iz Francuske 18. stoljeća. Igrači su štapom gurali kuglice po kosom stolu punom čavlića (engl. pins), pa se igra na engleskom i danas zove pinball.
Godine 1871. Montague Redgrave patentirao je u SAD-u bagatelu s oprugom i klipom koji izbacuje kuglicu. Takav klip ima i bagatela na slici (dolje desno), a izbacivač na istom načelu ima i većina današnjih flipera.
Bagatela iz 1940-ih, Te Manawa Museums Trust. Fotografija: Jess O'Brien, Te Manawa Museum Society (izvor), CC BY-NC 4.0, izrezano.
Prvi aparati na kovanice pojavili su se početkom 1930-ih (Baffle Ball, 1931.). Palica još nije bilo: igrač je izbacio kuglicu i gledao kamo će pasti. Neki su igrači tresli i podizali aparat da pomognu kuglici, pa je sredinom 1930-ih izumljen tilt, prekidač koji tada prekine igru.
Palice (engl. flippers) prvi je put imao Humpty Dumpty iz 1947.: šest malih palica, po tri sa svake strane. Već sljedeće godine pojavio se aparat s dvije palice na dnu ploče, kao danas. Po palicama igru kod nas zovemo fliper.
U New Yorku je fliper od 1942. do 1976. bio zabranjen, jer su ga smatrali igrom na sreću. Zabranu je pomogao ukinuti Roger Sharpe: pred gradskim vijećnicima najavio je u koju će stazu pogoditi kuglicom i pogodio. Tako ih je uvjerio da je fliper igra vještine.
Kako radi fliper
Ploča flipera nije vodoravna. Nagnuta je prema igraču, kod nas za oko 6,5°, pa sila teža stalno vuče kuglicu prema dolje. Sve ostalo u igri bori se protiv toga:
- Izbacivač gura kuglicu uz stazu za izbacivanje na vrh ploče.
- Palice vraćaju kuglicu prema gore. Igrač ih pokreće tipkama na bokovima aparata.
- Odbijači i praćke same udare kuglicu čim ih ona dotakne, pa kuglica odleti u neočekivanom smjeru.
- Mete, prolazi i senzori javljaju kuda je kuglica prošla, a program za to dodjeljuje bodove.
- Lampice, zaslon i zvučnici pokazuju igraču što se događa i što sljedeće treba pogoditi.
- Tilt pazi da igrač aparat ne trese previše: nakon dva upozorenja igra uzima kuglicu.
Fliper je zato dobar primjer uređaja s ulazima i izlazima, kakve smo već upoznali na radionicama. Ulazi su tipke i senzori koji prepoznaju kuglicu. Program na Arduinu odlučuje što s tim podacima, a izlazi su zavojnice (solenoidi) koje pokreću palice, praćke i odbijače, zatim lampice, zaslon i zvuk.
Posao dijele četiri Arduina Uno: dva pokreću zavojnice, jedan vodi igru i broji bodove, a jedan upravlja zaslonom, lampicama i zvukom. Tako palice uvijek odmah reagiraju na tipke, čak i kad je program igre zauzet nečim drugim. Kako dva Arduina razgovaraju, vidjeli smo već na dva semafora na križanju. Zašto baš četiri pločice i koje su druge mogućnosti, piše u odjeljku Koji Arduino?
Zavojnice dolaze kasnije
Zavojnice flipera rade na 12 V, povlače jaku struju i mogu se zagrijati. Njih spajamo tek u 5. poglavlju, kad naučimo kako ih sigurno napajati i zaštititi, i uvijek uz voditelja.
Početna ideja

Za početak smo fliper nacrtali kao tehnički crtež, iz tri smjera: tlocrt (odozgo, desno), bokocrt (sa strane) i nacrt (sprijeda). Kotne linije su tu samo za izgled, pa na njima nema brojeva. Na vrhu stranice isti je fliper nacrtan u izometriji, kao da ga gledamo sprijeda zdesna i odozgo.
Crtež je polazna ideja, a ne gotov plan. Dok budemo radili prototip od kartona, isprobavali palicu na probnom stolu i slagali ploču u prirodnoj veličini, mnogo toga će se promijeniti, a crtež ćemo mijenjati zajedno s fliperom.
Legenda
Brojevi na crtežu idu redom kojim dijelove upoznajemo na radionicama. Uz svaki dio piše radionica u kojoj ga radimo. Poveznice vode na radionice koje su već objavljene, a ostale ćemo dodati kad ih objavimo.
- 1L, 1R – tipke flipera, lijeva i desna, pokreću palice. Radionica 3.0: Tipkala kako treba.
- 2A – tipka Start pokreće igru. Kratki pritisak i držanje tipke mogu značiti različite stvari. Radionica 3.0: Tipkala kako treba.
- 2B – tipka za izbacivanje šalje kuglicu u igru. Radionica 3.0: Tipkala kako treba.
- 3 – senzor kuglice javlja da je kuglica prošla: kuglica pritisne pločicu, a pločica mikroprekidač ispod ploče. Na crtežu su senzori u četiri staze pokraj palica i na vrhu staze za izbacivanje. Radionica 3.2: Prepoznavanje kuglice. Mikroprekidač Arduino čita isto kao tipkalo, a to smo obradili u radionici 3.0: Tipkala kako treba.
- 4 – prolaz (rollover): staza na vrhu ploče s prekidačem koji kuglica pritisne dok prolazi. Radionica 3.2: Prepoznavanje kuglice.
- 5 – meta: pločica koju kuglica udari, a iza nje je mikroprekidač. Na ploči ih je mnogo, pa ih Arduino čita kroz matricu prekidača. Radionice 3.2 i 3.3: Prepoznavanje kuglice i Mnogo prekidača na malo pinova.
- 6 – rupa za kuglicu: tu kuglica izlazi iz igre, a senzor u njoj javlja da je kuglica izgubljena. Radionica 3.2: Prepoznavanje kuglice.
- 7 – tilt: četiri male sklopke s kuglicom na dnu kućišta, položene gotovo vodoravno i okrenute na četiri strane, kao kompas. Kad igrač prejako gurne ili podigne fliper, kuglica u jednoj od njih se otkotrlja i sklopka se otvori. Nakon dva upozorenja igrač gubi kuglicu. Tilt je ispod ploče, pa je na crtežu isprekidan. Radionica 3.2: Prepoznavanje kuglice.
- 8 – zaslon od četiri LED matrice 8×8 prikazuje rezultat, poruke i animacije. Radionice 4.0 i 4.1. Sličice za matricu već možeš crtati u generatoru znakova.
- 9 – lampice na ploči pokazuju igraču što treba pogoditi. Radionica 4.1. LED-ice smo redom palili već na semaforu za automobile i pješake.
- 10 – RFID čitač ispod pregrade na dnu ploče prepoznaje karticu igrača. Radionica 4.2. Djelilo napona koje mu treba upoznali smo u radionici 2.1: Djelilo napona, Arduino i PWM.
- 11 – stupić između palica: podiže ga servomotor da spasi kuglicu. Radionica 4.3.
- 12 – zvučnici sviraju zvučne efekte i glazbu. Radionice 3.1 i 4.4.
- 13 – praćka (slingshot): trokut s gumom. Kad kuglica udari u gumu, pritisne mikroprekidač iza nje, a zavojnica odbaci kuglicu. Radionica 5.2. Tranzistor kao sklopku upoznali smo u radionici 2.0: Arduino - korak po korak.
- 14 – odbijač (pop bumper) udari kuglicu čim ga ona dotakne: kuglica pritisne mikroprekidač ispod odbijača, a zavojnica je odbaci. Radionica 5.2.
- 15 – palica flipera odbija kuglicu prema gore, a pokreće je zavojnica. Radionica 5.3: Fliper na probnom stolu.
- 16 – staza za izbacivanje: odavde kuglica kreće u igru. Lampice duž staze pale se redom prema gore, kao poziv da igrač izbaci kuglicu. Izbacivač pokreće zavojnica. Radionica 5.2.
- 17 – jednosmjerna vratašca puštaju kuglicu iz staze za izbacivanje na ploču, ali ne i natrag. To je mehanički dio koji ćemo ispisati 3D printerom.
Vijci uz rub kućišta, na odbijačima i na praćkama drže prozirni poklopac koji ćemo staviti na gotov fliper. Zato vijci nemaju svoj broj.

Bokocrt pokazuje fliper s desne strane, igrač stoji lijevo. Vidi se nagib ploče i tipke na prednjoj strani. Isprekidane crte su dijelovi koji se izvana ne vide: ploča, kuglica na njoj, zavojnice ispod ploče, tilt na dnu kućišta i zaslon u kutiji.

Nacrt pokazuje fliper onako kako ga vidi igrač: zaslon i zvučnike na kutiji, tipke na prednjoj strani i bokovima, a iznad prednje strane dijelove ploče koji se izdižu dovoljno visoko da se vide.
Gradnja: visine i razmaci
Većinu dijelova na ploči napravit ćemo sami i ispisati 3D printerom: odbijače, praćke, palice, vodilice i zidiće između staza. Zato unaprijed moramo odlučiti koliko visok smije biti koji dio i koliko visoko iznad ploče stoji prozirni poklopac. Ovo je sadašnji plan, a provjerit ćemo ga na prototipu.
Kuglica i poklopac
Kuglica je čelična, promjera 15 mm. Teška je oko 14 g, sedam puta više od kuglice od 8 mm koju smo isprva planirali, pa lakše pritisne mikroprekidač.
Kuglica smije poskakivati i udarati u poklopac, jer to igru čini zanimljivijom. Ali ne smije preskočiti vodilicu ni neku drugu prepreku i tako upasti tamo gdje ne treba. Za to vrijedi jedno pravilo:
Razmak između vrha prepreke i poklopca najviše je pola promjera kuglice.
Tada se sredina kuglice nikad ne može podići iznad vrha prepreke, pa kuglica u prepreku može udariti samo sa strane i odbiti se. Kad bi razmak bio tek malo manji od kuglice, kuglica ne bi mogla prijeći prepreku, ali mogla bi skočiti na njezin rub. Tamo bi zapela između ruba i poklopca ili bi se kotrljala po vrhu vodilice kao po tračnici.
Zato iznad svake nepomične prepreke ostavljamo 5 mm. To je manje od pola kuglice (7,5 mm), a ostaje i oko 2 mm za slučaj da se šperploča malo izvije ili da se poklopac između nosača malo savije.
Odbijač određuje visinu poklopca
Najviši dio na ploči je odbijač, pa o njemu ovisi koliko visoko stoji poklopac. Odbijač ima tri dijela:
- Suknja pri dnu: u nju kuglica udari, suknja se nagne i pritisne mikroprekidač ispod ploče.
- Prsten iznad suknje: zavojnica ga povuče prema dolje, a on gurne kuglicu u stranu.
- Tijelo u sredini: pričvršćeno je za ploču, prsten klizi po njemu, a na vrhu nosi poklopac.
Prsten mora kuglicu gurnuti u stranu, a ne pritisnuti je u ploču. Prsten uvijek gura kuglicu prema njezinoj sredini. Ako je dotakne blizu vrha, gura je uglavnom prema dolje i kuglica ostane na mjestu. Ako je dotakne otprilike na pola puta između sredine i vrha (pod 45°), gura je jednako u stranu i prema dolje, i kuglica odleti.
Zato donji vanjski rub prstena ima skošeni rub od 45°, širok 3–4 mm. Koso lice uvijek gura pod istim kutom, čak i kad kuglica ne stoji točno na pravom mjestu. Prsten je 2–3 mm širi od suknje, pa skošeni rub dođe iznad gornjeg vanjskog dijela kuglice koja dodiruje suknju.
| Dio odbijača | Visina iznad ploče |
|---|---|
| Rub suknje, gdje kuglica udari (visina sredine kuglice) | 7,5 mm |
| Donji rub prstena kad je povučen (malo iznad sredine kuglice) | 9 mm |
| Donji rub prstena u mirovanju (malo iznad vrha kuglice) | 16 mm |
| Prsten sa skošenim rubom | + 5 mm |
| Tijelo iznad prstena | + 2 mm |
| Vrh odbijača | 23 mm |
Poklopac leži na vrhu odbijača, s gumenom podloškom od oko 1 mm, pa je oko 24 mm iznad ploče.
Prsten pritom prijeđe oko 7 mm. Zavojnica najjače vuče pri kraju svog hoda, pa je postavljamo tako da prsten koristi zadnjih 7 mm njezina hoda, a ne prvih.
Dok prvi ispisani odbijač ne proradi, poklopac stoji na nosačima koje možemo mijenjati. Konačnu visinu poklopca odredimo tek kad odbijač radi kako treba.
Visine ostalih dijelova
Nepomične prepreke sežu do 5 mm ispod poklopca. Pomični dijelovi trebaju malo više mjesta, da ne stružu po poklopcu kad se on savije, ali razmak iznad njih i dalje je manji od kuglice.
| Dio | Visina iznad ploče (poklopac 24 mm) |
|---|---|
| Vodilice, vodilica staze za izbacivanje, luk na vrhu ploče | 19 mm |
| Zidići između staza (prolazi na vrhu i staze pokraj palica) | 19 mm |
| Tijela praćki i zid iza kosih meta | 19 mm |
| Nosač jednosmjernih vratašca | 19 mm |
| Osovina vratašca (iznad vrha kuglice) | barem 16 mm |
| Palica flipera | oko 16 mm |
| Stupić između palica, podignut | barem 16 mm |
| Guma na praćkama i palicama (oko visine sredine kuglice) | 6–9 mm |
Poklopac leži na vanjskim zidovima i na nosačima s vijcima na odbijačima i praćkama, pa oni sežu sve do njega.
Palica je viša od kuglice, i to je u redu. Guma na njoj je na visini sredine kuglice, a viša palica sprječava da kuglica preskoči palicu i upadne u rupu. Stupić servomotor mora podići 16 mm, a to može ako mu je poluga dovoljno duga.
Ispis i sastavljanje
- Vodilice i zidiće ispisujemo uspravno, sa stijenkama debelim 2–3 mm, pa im ne trebaju potpore. PETG bolje od PLA podnosi udarce čelične kuglice.
- Gornji rub svake vodilice zaoblimo ili skosimo. Ako kuglica ipak dođe do ruba, sklizne s njega umjesto da zapne.
- Vodilice pričvrstimo za ploču vijcima ili ljepilom. Vodilica koja se pomakne i za milimetar otvori procjep u kojem kuglica zapne.
- Prsten odbijača ispisujemo naopako, sa skošenim rubom prema gore, pa mu ne trebaju potpore. Između prstena i tijela ostavimo 0,3–0,5 mm zazora. Prvo ispišemo kratak probni prsten, jer svaki printer ispisuje malo drukčije.
- Prsten vuku dvije čelične šipke kroz ploču (šipka od 3 mm ili navojna šipka M3), a ne ispisane. Ispisana šipka se savije, prsten se nagne i zapne. Dvije šipke drže ga ravno.
- Poklopac leži na tijelu odbijača, a ne na prstenu, pa se prsten slobodno miče ispod njega.
- Gume na praćkama i palicama su kupljeni O-prstenovi, a ne ispisani: bolje odskaču i jeftini su.
- Suknja odbijača ujedno je njegov prekidač. Mora se nagnuti dovoljno da pritisne mikroprekidač i kad je kuglica samo lagano dotakne, pa je isprobamo zajedno s ostalim mikroprekidačima.
- Poklopac je od pleksiglasa debelog 3 mm. Ako ćemo se naslanjati na njega, uzmemo pleksiglas od 4 mm ili polikarbonat, koji ne puca, ali se lakše ogrebe. Na nosače ga stavljamo s gumenom podloškom i vijke ne zatežemo previše, jer pleksiglas puca oko rupa.
Provjera na prototipu
- Poklopac stavimo na nosače i između poklopca i svih nepomičnih prepreka guramo svrdlo od 7 mm, cijelom duljinom. Svrdlo nigdje ne smije proći.
- Rukom pritisnemo poklopac u sredini i provjerimo da ništa ne dodiruje palice.
- Kuglicu snažno odbijemo prema praćkama i vodilicama i gledamo preskače li ih.
Koji Arduino?
Na radionicama radimo s Arduinom Uno, a prvi plan bio je da fliper pokreću tri Una. Prije nego što smo odlučili, usporedili smo Uno s tri druge pločice: Nano je zapravo Uno u malom kućištu, Mega ima mnogo više pinova, a Giga je mnogo brži i ima mnogo više memorije. Pokazalo se da broj pinova nije jedino što je važno.
Na što gledamo
- Broj pinova: svaka tipka, prekidač, zavojnica i modul zauzima jedan ili više pinova. Pinove D0 i D1 ostavljamo za Serial Monitor.
- Napon logike: Uno, Nano i Mega rade na 5 V, kao i MAX7219 i MOSFET-i koji uključuju zavojnice. Pločici koja radi na 3,3 V trebaju dodatni dijelovi, a 5 V na njezinu pinu može je uništiti.
- Memorija: RAM čuva varijable dok program radi (Uno ima samo 2 KB), a EEPROM pamti podatke i kad isključimo napajanje, na primjer najbolje rezultate.
- Serijski priključci: DFPlayer s Arduinom razgovara serijskom vezom. Uno ima samo jedan serijski priključak, a njega koristi Serial Monitor, pa DFPlayer dobije programski (SoftwareSerial).
- Tajmeri: na Unu biblioteka Servo zauzme tajmer koji radi PWM na pinovima D9 i D10, a PWM nam treba za palice. Zato servomotori i palice ne mogu biti na istom Unu.
- 3,3 V za RFID čitač: RC522 se napaja s 3,3 V, a neke ga pločice ne mogu dati dovoljno.
- Spajanje: zavojnice tresu kućište, pa se žice za spajanje s vremenom olabave.
- Cijena i zalihe: Una imamo 15–16, a ostale pločice trebalo bi kupiti.
Pločice jedna uz drugu
| Uno R3 | Nano (klasični) | Mega 2560 | Giga R1 WiFi | |
|---|---|---|---|---|
| Napon logike | 5 V | 5 V | 5 V | 3,3 V, pinovi ne podnose 5 V |
| Pinova za ulaze i izlaze (bez D0 i D1) | 18 | 18 + A6 i A7, samo kao ulazi | 68 | oko 74 |
| RAM / EEPROM | 2 KB / 1 KB | 2 KB / 1 KB | 8 KB / 4 KB | 1 MB / nema ga |
| Serijskih priključaka | 1 | 1 | 4 | 4 |
| Sukobi tajmera | Servo i PWM na D9 i D10 | isto kao Uno | Servo zauzme samo D44–D46 | nema važnih |
| 3,3 V za RC522 | pin 3.3V, dovoljno | na kopijama često preslabo (daje ga USB čip) | pin 3.3V, dovoljno | radi na 3,3 V |
| Spajanje u fliperu | žice ili pločica za nadogradnju (shield) | utakne se u letvice zalemljene na pločicu | žice ili pločica za nadogradnju (shield) | žice ili pločica za nadogradnju |
| Približna cijena (kopija) | 5–8 € | 3–5 € | oko 15 € | 70–80 € (nema kopija) |
| Na zalihi | 15–16 | nema | nema | nema |
Cijene su iz 2026. i brzo se mijenjaju.
Stane li posao na pločicu?
Svaki Arduino u fliperu ima svoj posao. Prebrojili smo koliko pinova treba za koji posao, prema crtežu: 15 senzora i meta na ploči čitamo kroz matricu prekidača 4 × 4 (8 pinova), RFID čitač treba 5 pinova, a Arduino koji upravlja zavojnicama javlja glavnom Arduinu što se dogodilo posebnim žicama, kao na dva semafora na križanju.
Odbijači na crtežu su aktivni: svaki ima zavojnicu koja odbaci kuglicu. Odbijač može biti i pasivan, pa kuglicu samo prepozna, a odbije je guma.
| Posao | Pinova | Uno | Nano | Mega | Giga |
|---|---|---|---|---|---|
| Zavojnice bez aktivnih odbijača: 5 zavojnica, uključivanje 12 V, 5 ulaza, 3 žice prema glavnom Arduinu | 14 | ✓ | ✓ | ✓ | ✓ (uz MOSFET-e za 3,3 V) |
| Zavojnice s 4 aktivna odbijača: 9 zavojnica, 9 ulaza, 4 žice | 23 | ✗ | ✗ | ✓ | ✓ |
| Glavni Arduino (igra): matrica 8, Start, tilt, čitač 5, I2C 2, žice 3 | 20 | samo uz trikove | ✓ (Start i tilt na A6 i A7) | ✓ | ✓ |
| Prikaz: MAX7219 3, servomotori 3, DFPlayer 2, I2C 2 | 10 | ✓ | ✓ | ✓ | uz pretvarač razine |
| Igra i prikaz na jednoj pločici | 26–27 | ✗ | ✗ | ✓ | ✓ |
| Sve na jednoj pločici | oko 44 | ✗ | ✗ | ✓ | ✓ |
- Trikovi na Unu: tipku Start i tilt stavimo u matricu, a pin RST čitača ne spojimo. I tada ne ostane nijedan slobodan pin.
- A6 i A7 na Nanu mogu samo mjeriti napon i nemaju ugrađeni otpornik prema 5 V. S otpornikom od 10 kΩ prema 5 V
analogRead()ih čita kao prekidače. Tako glavni Arduino točno stane na Nano, ali bez ijednog pina viška.
Koliko pločica treba
| Izbor | Pločica | Aktivni odbijači | Napomena |
|---|---|---|---|
| 3 Una (prvi plan) | 3 | ne | Glavnom Arduinu jedva ima dovoljno pinova |
| 4 Una | 4 | da | Naš izbor: zavojnice su na dvije pločice, koje se žicama dogovaraju koliko ih smije raditi |
| 3 Nana | 3 | ne | Kao prvi plan, s malo više mjesta za glavni Arduino |
| Mega (zavojnice) i 2 Nana (igra, prikaz) | 3 | da | Sve zavojnice na jednoj pločici, ali Megu i Nana treba kupiti |
| 2 Mege | 2 | da | Igra i prikaz dijele jedan program |
| 1 Mega | 1 | da | Palice čekaju program igre |
| 1 Giga | 1 | da | 3,3 V, cijena, dvije jezgre |
Zašto ne jedna velika pločica
Mega ima dovoljno pinova za cijeli fliper. Ipak, glavni razlog za više pločica nisu pinovi, nego to da palice nikad ne čekaju program igre i da greška u programu igre ne može ostaviti zavojnicu uključenu. Na jednoj pločici sve dijeli isti loop():
- Jedan
delay()u animaciji rezultata zaustavi i palice. - Čitanje kartice zna neko vrijeme čekati kad kartice nema.
- Ako se program zaglavi, zavojnicu čuvaju samo watchdog (sklop koji ponovno pokrene zaglavljeni mikrokontroler) i prekidač za isključivanje 12 V.
Kad zavojnice imaju svoju pločicu s malim i jednostavnim programom, toga nema. S više pločica svaki tim ima i svoj program, a pokvarenu pločicu brzo zamijenimo.
Zašto ne Giga
- 3,3 V: pinovi ne podnose 5 V. Jedna žica s 5 V na krivom pinu uništi pločicu od 70–80 €.
- Dodatni dijelovi: MAX7219 na ulazu za podatke treba barem 3,5 V, pa mu treba pretvarač razine, a MOSFET-i moraju pouzdano uključivati na 3,3 V. Iz istih razloga u fliperu nema ni ESP32.
- Dvije jezgre: zavojnice na jednoj jezgri, a igra na drugoj, dobra je ideja, ali dvije jezgre koje razgovaraju preteško je programirati za naše radionice.
- Nema EEPROM-a, pa najbolji rezultati trebaju drukčiji kod.
- Biblioteke: svaku treba provjeriti radi li na Gigi.
- Wi-Fi nam ne treba: podatke polaznika ne šaljemo nikamo.
Nano: što je dobro, a na što paziti
Dobro je:
- Čvrsti spojevi: Nano se utakne u letvice zalemljene na pločicu sa sklopovima ili na pločicu s rupicama. Žice za spajanje zbog trešnje zavojnica s vremenom olabave, a labav spoj čest je kvar. Nano u letvicama zamijenimo u minuti. Uno za isto treba pločicu za nadogradnju.
- Isti program: Nano ima isti čip, iste biblioteke i iste tajmere kao Uno. Na radionicama i dalje radimo s Unom, a programi bez izmjena rade i na Nanu.
- Malen i jeftin: stane ispod ploče, a nekoliko rezervnih malo košta.
Treba paziti:
- Bootloader: mnogim kopijama u Arduino IDE-u treba odabrati
Processor: ATmega328P (Old Bootloader), inače program ne uspije prenijeti. Najbolje je to napisati na naljepnicu na pločici. - USB: kopije obično imaju USB čip CH340, kojemu na nekim računalima treba upravljački program. Starije imaju krhki mini-USB, pa je bolje kupiti one s USB-C.
- 3,3 V za čitač: na kopijama pin 3.3V daje USB čip i često je preslab za RC522. Čitaču treba poseban regulator od 3,3 V.
- Letvice stižu nezalemljene, pa ih zalemi voditelj, kao i letvice RFID čitača.
- Nano Every ima 6 KB RAM-a i radi na 5 V, ali ima drukčiji čip, druge tajmere i ne podržava ga svaka biblioteka. Nano na 3,3 V (33 IoT, 33 BLE, ESP32, RP2040) ne dolazi u obzir iz istih razloga kao Giga.
Naš izbor: četiri Una
Una imamo dovoljno, pa fliper pokreću četiri Una. Odbijači su aktivni, a sve zavojnice s prekidačima ne stanu na jedan Uno, pa ih dijele dvije pločice:
| Uno | Posao | Pinova (od 18) |
|---|---|---|
| Palice | Tipke palica i izbacivača, prekidači praćki; 2 palice, 2 praćke i izbacivač; uključivanje 12 V; 3 žice prema glavnom Arduinu i 2 prema odbijačima | 16 |
| Odbijači | Prekidači i zavojnice 4 odbijača; 1 žica prema glavnom Arduinu i 2 prema palicama | 11 |
| Glavni Arduino | Matrica 8 (15 senzora i Start), tilt, I2C 2, 5 žica prema ostalim Unima | 16 |
| Prikaz | MAX7219 3, servomotori 3, DFPlayer 2, I2C 2, čitač kartica 5, 1 žica prema glavnom Arduinu | 16 |
- Najviše tri zavojnice odjednom. Odbijači uključuju jednu po jednu zavojnicu, i to samo dok im palice žicom javljaju da smiju. Dok odbijač radi, javljaju to drugom žicom natrag, a palice ga broje kao jednu od tri zavojnice. Ako obje pločice odluče u istom trenutku, četiri zavojnice mogu nakratko raditi zajedno, ali napajanje od 12 V biramo s rezervom, pa to ne smeta. Kako se dva Arduina dogovaraju žicama, vidjeli smo na dva semafora na križanju.
- Palice paze na odbijače. Pločica za palice uključuje 12 V za sve zavojnice. Ako odbijač radi predugo, na primjer zato što se njegov program zaglavio, palice isključe 12 V. Kad se pločica za palice resetira, 12 V se isključi samo od sebe.
- Čitač kartica je na prikazu, a ne na glavnom Arduinu, jer na glavnom ne bi ostao nijedan slobodan pin ni uz sve trikove. Prikaz čita kartice prije igre, pamti tko igra i čuva najbolje rezultate u EEPROM-u, jer ih i pokazuje.
- Čvrsti spojevi: pločicu za zavojnice projektiramo u radionici 6.4 kao pločicu za nadogradnju (shield) koja se utakne na Uno. Ista pločica služi za palice i za odbijače. Glavni Arduino i prikaz dobiju kupljene pločice za nadogradnju s rupicama, na koje zalemimo priključke. Tako u fliperu nema žica za spajanje koje bi se od trešnje olabavile. Razmak između pinova D7 i D8 na Unu veći je nego između ostalih pinova, pa obična pločica s rupicama ne stane na Uno.
- Isti Uno kao na radionicama: svaki program prvo isprobamo na probnoj pločici, a pokvareni Uno zamijenimo rezervnim.
Prije gradnje isprobat ćemo ispisani odbijač na solenoidu. Ako ne bude pouzdano odbacivao kuglicu, odbijači postaju pasivni: Uno za odbijače otpada, a fliper pokreću tri Una. Popis svih ulaza i izlaza složit ćemo u radionici 6.3.
Što slijedi
U 3., 4. i 5. poglavlju upoznajemo dijelove flipera, jedan po jedan. U 6. poglavlju fliper zajedno projektiramo: radimo prototip od kartona, slažemo ploču u prirodnoj veličini, pišemo pravila igre i dijelimo posao na četiri tima. U 7. poglavlju timovi fliper grade i programiraju, a godinu završavamo turnirom u fliperu.