MicroPython — dodatni senzori i aktuatori
Pored ugrađenih senzora (akcelerometar, kompas, temperatura), micro:bit možemo povezati sa spoljnim senzorima i aktuatorima. Ovo omogućava izradu ozbiljnijih projekata i uvod u elektroniku.
U ovoj lekciji upoznaćemo se sa:
- digitalnim i analognim ulazima
- radom sa senzorima rastojanja
- servo motorima i drugim aktuatorima
GPIO pinovi na micro:bit-u
Micro:bit ima GPIO pinove (P0, P1, P2…) preko kojih komunicira sa spoljnim komponentama.
Pinovi mogu biti:
- ulazni — čitanje senzora
- izlazni — upravljanje aktuatorima
□ Referenca: MicroPython pin dokumentacija
Primer: analogno očitavanje senzora
Mnogi senzori (npr. potenciometar, senzor svetla, vlage) vraćaju analognu vrednost.
from microbit import *
while True:
vrednost = pin0.read_analog()
display.scroll(vrednost)
sleep(500)
Funkcija read_analog() vraća vrednost od 0 do 1023.
Senzor rastojanja (ultrasonični)
Ultrasonični senzor meri rastojanje pomoću zvučnih talasa. Često se koristi u robotici i pametnim sistemima.
Osnovna ideja:
- jedan pin šalje impuls (TRIG)
- drugi pin prima odjek (ECHO)
□ Ovaj senzor se često obrađuje detaljnije u višim razredima, ali je važno razumeti koncept.
□ MakeCode simulacija: https://makecode.microbit.org
Aktuatori — servo motor
Aktuatori su uređaji koji nešto rade:
- pokreću motor
- pale LED
- proizvode zvuk
Servo motor se kontroliše pomoću PWM signala.
from microbit import *
while True:
pin1.write_analog(30)
sleep(1000)
pin1.write_analog(120)
sleep(1000)
Promenom vrednosti menjamo ugao serva.
Kombinovanje senzora i aktuatora
Najzanimljiviji projekti nastaju kada:
- senzor meri stanje okoline
- program donosi odluku
- aktuator reaguje
Primer ideje:
- ako je temperatura visoka → uključi motor
- ako je rastojanje malo → oglasi alarm
Mini zadatak
Poveži jedan senzor (npr. potenciometar ili taster) i napiši program koji:
- očita vrednost senzora
- na osnovu vrednosti uključi ili isključi aktuator
Ne moraš imati pravu komponentu — razmišljaj algoritamski.
Veza sa narednim lekcijama
Ovo znanje koristićemo u:
- mini-projektima
- algoritmima i logici odlučivanja
- povezivanju sa računarom (Processing / serial)