-
Notifications
You must be signed in to change notification settings - Fork 1
7. Firmware i aplikacija
Firmware razvijen za mikrokontroler PIC24FJ64GA702 upravlja osnovnim funkcijama sistema – od očitavanja boja putem Color 10 Click senzora, pa sve do kontrole servo motora koji razvrstavaju pločice. Komunikacija sa računarom ostvarena je putem WiFi modula, omogućavajući bežični prijenos podataka.
Firmware je razvijen u programskom jeziku C i izvršava se na mikrokontroleru PIC24FJ64GA702. Njegove osnovne funkcije uključuju:
-
Inicijalizaciju i konfiguraciju perifernih uređaja, kao što su:
- I²C komunikacija za Color 10 Click senzor
- PWM signal za upravljanje servo motorom
- UART komunikacija sa WiFi modulom (ESP8266)
- Očitavanje boja pomoću senzora, gdje se analiziraju R, G i B kanali. Na osnovu prerađenih vrijednosti, firmware donosi odluku o kojoj boji se radi.
- Upravljanje motorom, tako što se servo postavlja u odgovarajući položaj u skladu s detektovanom bojom.
- Komunikaciju putem WiFi-a, prema unaprijed definisanom jednostavnom protokolu, čime omogućava komunikaciju sa aplikacijom.
- Reagovanje na komande korisnika (start, reset)
Firmware je optimizovan da radi u realnom vremenu, čime se omogućava brzo reagovanje na promjene ulaza i pouzdano upravljanje uređajem.
Desktop aplikacija omogućava korisniku nadzor i upravljanje sistemom, i implementirana je Javi. Ključne funkcionalnosti aplikacije su:
- Bežično povezivanje sa uređajem putem WiFi mreže
- Prikaz trenutnog statusa sistema, uključujući: trenutno detektovana boja, koje boje idu na koju stranu te start i reset opcija, gdje korisnik može u realnom vremenu pratiti kako se boje prepoznaju i sortiraju
- Slanje komandi ka uređaju, poput: pokretanja i zaustavljanja procesa, mogućnost zadavanja koje boje idu na koju stranu unaprijed
Aplikacija komunicira sa firmware-om putem tekstualnih poruka preko serijske komunikacije simulirane preko WiFi mreže, i omogućava interaktivno korisnika i sistema za razvstavanje boja.
Uvid u detaljniji firmware, možete posjetiti stranicu 6. Programiranje mikrokonrtolera