Beskorisna kutija (useless box)
Karakter u kutiji
Uvod
Useless box je legendarni mali projekt iz elektronike: kutija koja svaki put kad je uključite – sama sebe isključi. Iako je šala jednostavna, iza nje stoji kombinacija mehanike, elektronike i programiranja.
U ovom projektu učenici koriste Arduino i SG90 servo motor(e) kako bi napravili kutiju koja otvara poklopac, gurne prekidač i vrati se u skriveni položaj. Uz usputnu zabavu vježbaju rad s PWM signalom, analiziraju kako servo vuče struju pod opterećenjem i zašto je kvalitetno napajanje jednako važno kao i sam program.
Cilj projekta
- Objasniti kako Arduino čita stanje prekidača i na temelju toga pokreće servo.
- Opisati koliko napona i struje treba SG90 servo za pouzdan rad u kutiji.
- Prepoznati razliku između mirnog položaja i opterećenog stanja serva kad gura prekidač i poklopac.
- Uočiti tipične probleme: trzanje, nedostatak momenta, slab izvor napajanja, neugodno zujanje i nestabilnost.
Istraživanje i analiza
Zadatak 1: Analiza funkcije i blok dijagrama
- Nacrtaj blok dijagram sklopa:
prekidač ⇒ Arduino ulaz ⇒ program ⇒ PWM izlaz ⇒ SG90 servo ⇒ mehanička poluga/poklopac. - Izričito označi da servo ima svoj 5 V i masu, koja je zajednička s Arduinom.
- U jednoj rečenici opiši što se dogodi kad korisnik uključi prekidač.
Zadatak 2: Analiza napajanja i struje
- Polazeći od SG90 specifikacija (4.8–6 V, tipično nekoliko stotina mA pri opterećenju), procijeni zašto nije dobra ideja napajati servo direktno s 5 V pina Arduina, osobito ako se koristi USB ili slabiji izvor.
- Izradi tablicu procijenjenih struja:
- servo u mirovanju (držanje park pozicije),
- servo pri polaganom izlasku,
- servo pri naglom guranju prekidača (veće opterećenje).
- Diskutiraj koliko struje treba planirati za jedan SG90 u ovakvom projektu (recimo 0.5–1 A rezerve na 5 V napajanju), i zašto je to i dalje malo, ali bitno sigurnije od napajanja samo preko Arduina.
Zadatak 3: Mehaničko opterećenje i moment
- Identificiraj sve što servo motor mora savladati.
- Procijeni kojim redoslijedom su ti otpori, što je najteže za servo i u kojem trenutku vjerojatno troši najviše struje.
- Razmisli i objasni što se može dogoditi ako je ručica predugačka ili je kutijica teža nego što je SG90 voli.
Zadatak 4: Analiza stabilnosti i rubnih slučajeva (edge-cases)
- Navedi situacije u kojima se box može početi ponašati čudno.
- Razmisli i diskutiraj o uzrocima čudnog ponašanja.
Eksperimenti
Eksperiment 1: Servo na Arduinu vs. servo na vanjskom 5 V
- Prvo napajaj servo motor direktno s 5 V pina Arduina (uz nadzor i kratkotrajno korištenje), te promatraj ponašanje pri brzim pokretima ručice.
- Prebaci servo motor na odvojeno 5 V napajanje (baterijski paket ili adapter) s zajedničkom masom.
- Zabilježi razlike u trzajima, brzini, zvuku i eventualnom resetiranju Arduina.
- Zapiši zaključak.
Eksperiment 2: Različite osobnosti kutije
- Preuzmi ili napišii više Arduino rutina za useless box (brzo otvaranje, sporo sramežljivo otvaranje, odgađanje, dvostruko gašenje prekidača, itd.). Primjeri takvih projekata s više različitih ponašanja postoje i uključuju dodatne nasumične sekvence.
- Promotri koriste li sekvence različite brzine i kuteve serva te kako to utječe na trajanje gibanja, količinu buke i prividnu osobnost stroja.
- Zapiši zaključak.
Eksperiment 3: Šum na ulazu prekidača
- Učitaj verziju kôda bez
INPUT_PULLUPi s lebdećim ulazom prekidača. - Zatim učitaj verziju s
INPUT_PULLUPi ispravnim spajanjem prekidača na masu. - Promotro koliko se kaotično uređaj ponaša u prvoj verziji (lažna aktiviranja, nasumično pokretanje) u odnosu na drugu.
- Zapiši zaključak.
Pitanja
- Zašto useless box treba ozbiljno napajanje serva iako izgleda kao igračka?
- Kako položaj serva i duljina poluge utječu na snagu potrebnu za prebacivanje prekidača?
- Zašto je
INPUT_PULLUP(ili vanjski otpornik) bitan za ulaz prekidača? - Što bi se moralo promijeniti da isti koncept radi godinama, a ne samo na radionici?