8 minute read

Shield-A, učilo za programiranje mikroupravljača (23 Dječje igralište od recikliranih lopatica

Next Article
vjetroturbina

vjetroturbina

Pisanice

SRETAN USKRS!

Advertisement

Ove, 2022. godine Uskrs slavimo u nedjelju 17. travnja. Pisanice se izrađuju na Veliku subotu u obiteljskom okruženju... Znaju biti prava mala umjetnička djela u oblikovanju ukrasa i odabiru više boja. Ujedno pisanica je znak blagostanja i darivanja, ljubavi i natjecanja... Izrada pisanica je tradicija hrvatskog naroda. Postoji čitav niz načina izrade i dakako i nabavljanja gotovog oblika jajeta od plastike, drva, stiropora, kamena. Pomagala te crtaći pribor olakšat će vaše kreacije. Tu su i različite vrste boja. Sve će to omogućiti nov pristup izradi pisanica u današnje vrijeme. Sadržaj jajeta moguće je ispuhati kroz rupice na tjemenima, koje načinite oštrim čavlićem ili iglom, tankim svrdlom i modelarskom električnom bušilicom, a rupice se zapune gipsom ili glinamolom. Ostaje lupina koja ukrašena može ostati sačuvana godinama jer ne postoji mogućnost kvarenja. Takva ljuska često služi za izazovno čipkasto ukrašavanje – izradu šupljina na ljusci pomoću modelarskog električnog alata. A prave pisanice izrađuju se nakon što se jaja skuhaju utvrdo i ohlade. Koriste se ona koja su bez pukotina. Odabiru se uglavnom kokošja jaja, no i guščja i pačja te jaja prepelica znaju biti izazovna za ukrašavanje. Već prema mogućnosti nabavke jer moraju biti svježa. Ukrasi se crtaju školskim perom na koje se stavi vosak te povremeno zagrijava na plamenu svijeće. Pisanica se zatim uroni i ostavi u vodi u kojoj je iskuhana lupina luka, koja daje nenametljivu smeđecrvenu boju. Dakako, postoji

Nastavak sa 16. stranice 0, I4 = 1) robot skreće lijevo i kada tipkala nisu pritisnuta robot se zaustavi. Slika 26._RV_natrag_PP Potprogram M_natrag provjerava stanje signala ulaza izmjeničnih tipkala (I2 i I3) upravljačkog sklopa. Pritiskom na oba tipkala (I2, I3 = 1) robotsko se vozilo kreće natrag, pritiskom na tipkalo (I2 = 1, I3 = 0) robot skreće lijevo, pritiskom na tipkalo (I2 = 0, I3 = 1) robot skreće desno, ako nisu pritisnuta tipkala robot se zaustavi. Zadatak_2: Konstruiraj model brzog robotskog vozila, napiši algoritam i dijagram tijeka (program) koji omogućava upravljanje robotskim vozilom pomoću upravljačkog sklopa s četiri tipkala. Robotizirani model vozila može se kretati u svim smjerovima (naprijed, natrag, lijevo, desno, okret ulijevo, okret udesno). Napravi program kojim tipkalo I4 pokreće motor M1 naprijed i I1 pokreće motor M2 naprijed, a tipkala I3 i I2 pokreću motore natrag. Smanji brzinu motora (v = 6) tijekom gibanja robotskog vozila naprijed i nazad. U trenutku skretanja dodatno smanji brzinu motora (v = 5). Slika 27._RV_sporo_PP Slika 28._RV_skretanje_PP

Vježbe upravljanja brzim robotskim vozilom: Vježba_1. Postavite na čvrstu podlogu dvije crne izolirane trake duljine dva metra, usporedno, međusobno udaljene pola metra. Prenesite program na TXT-sučelje i pokrenite robotsko vozilo. Upravljajte robotskim vozilom prema naprijed bez dodirivanja rubova izolirane trake. Prilagodite programski brzinu robota. Vježba_2. Na istoj stazi upravljajte robotskim vozilom prema natrag bez dodirivanja rubova izolirane trake. Prilagodite programski brzinu robota. Vježba_3. Postavite na čvrstu podlogu dvije crne izolirane trake proizvoljne duljine, usporedno u obliku slova S, međusobno udaljene pola metra. Prenesite program na TXT-sučelje i pokrenite robotsko vozilo. Upravljajte robotskim vozilom prema naprijed bez dodirivanja rubova izolirane trake. Prilagodite programski brzinu robota. Vježba_4. Postavite na čvrstu podlogu crnu izoliranu traku koja će opisati elipsu ili kružnicu promjera jedan metar. Prenesite program na TXT-sučelje i pokrenite robotsko vozilo. Upravljajte robotskim vozilom prema naprijed tako da desni kotač uvijek dodiruje crnu izoliranu traku. Prilagodite programski brzinu robota. Vježba_5. Postavite na čvrstu podlogu osam prepreka na udaljenost od 50 cm koje robot mora zaobići s lijeve ili desne strane. Prepreke su razmaknute kao na skijaškoj stazi za slalom. Prenesite program na TXT-sučelje i pokrenite robotsko vozilo. Prilagodite programski brzinu robota. Napomena: Prije pokretanja robotskog vozila provjerite napon izvora napajanja (baterije). Izazov_1: Napravite natjecanje između konstruktora robotskih vozila. Postavite na čvrstu podlogu dvije crne izolirane trake na početak i završetak trkaće staze duljine tri metra. Robotsko vozilo mora prijeći stazu u oba smjera tako da prođe cijelom dužinom crnu izoliranu traku oba puta. Mjerite i zbrojite vrijeme prolaska staze prve i druge vožnje. Pobjednik je konstruktor koji je ostvario najkraće vrijeme prolaska staze u obje vožnje.

čitav niz mogućnosti dobivanja drugih prirodnih boja. Vosak se obriše krpom. Kako bi se pisanica sjajila namaže se slaninom ili jestivim uljem. Kupovne boje pripremajte prema uputi u samo za to namijenjenim posudama do kojih vam nije suviše stalo jer ih ponekad nije moguće oprati! Stoga te posude i žlice čuvajte za iduću godinu. Pošaljite nam snimke svojih pisanica! Želimo vam zdravlja, sretan i blagoslovljen Uskrs!

Miljenko Ožura, prof. u miru

Petar Dobrić, prof.

ELEKTRONIKA

Shield-A, učilo za programiranje mikroupravljača (23)

U ovom ćemo nastavku upoznati komunikaciju prema protokolu 1-wire. Mikroupravljač i neka komponenta 1-wire povezuju se preko zajedničke mase (GND) i samo jedne linije, preko koje se obavlja dvosmjerna komunikacija. Na istu komunikacijsku liniju može se povezati više komponenti 1-wire iste ili različite namjene. Mikroupravljač ih razlikuje prema tvornički upisanom 64-bitnom serijskom broju: on se sastoji od 8-bitne oznake čipa, jedinstvene 48-bitne adrese i 8-bitnog kontrolnog broja (CRC). Serijski su brojevi jedinstveni ‒ ne postoje dvije komponente s jednakom oznakom. Od različitih komponenti koje koriste ovaj oblik komunikacije, najpopularniji su temperaturni senzori iz porodice DS1820. Koristit ćemo onaj s oznakom DS18B20, koji mjeri temperaturu u rasponu od -55°C do +125°C u 12-bitnoj rezoluciji, a za temperature između -10°C i +85°C ima točnost unutar ±0,5%. DS18B20 izgleda poput običnog malog tranzistora s tri izvoda, od kojih se dva spajaju na + i - pol napona napajanja, a treći na komunikacijsku liniju. Sam DS18B20 troši vrlo malo pa, ako se koristi kao zasebna komponenta, ne zahtijeva posebno napajanje jer dovoljno energije može “ukrasti” sa sabirnice. U tom slučaju, i “+” izvod treba spojiti na zajedničku masu. Mi ćemo koristiti modul koji se prodaje pod oznakom KY-001 i na kojem se, pored temperaturnog senzora, još nalazi i LE-dioda s odgovarajućim otpornikom. Potrošnja modula je 1-2 mA, pa smo predvidjeli “pravo” napajanje s pina VCC. Način povezivanja toga modula s razvojnim sustavom Shield-A prikazan je na Slici 72. Ako umjesto modula želimo koristiti samo senzor DS18B20, treba ga spojiti prema shemi s iste slike; LE-dioda nije nužna za ispravno funkcioniranje sklopa, ali pull-up otpornik R1 je. Komunikaciju započinje mikroupravljač reset signalom, kako bi ustanovio prisustvo čipova 1-wire na sabirnici. Nakon toga, mikroupravljač izdaje jednu od 10-ak naredbi koje čip DS18B20 poznaje. Ako se na sabirnici nalazi više od jednog DS18B20 (ili drugih čipova 1-wire), mikroupravljač mora najprije adresirati čip s kojim želi komunicirati, a nakon toga mu izdaje neku naredbu, npr. “započni mjerenje temperature” Ovisno o željenoj rezoluciji, mjerenje traje do 750 ms. Nakon isteka tog vremena, mikroupravljač ponovo generira reset signal, adresira isti čip i izdaje mu naredbu

Slika 72. KY-001, modul s 1-wire temperaturnim senzorom DS18B20

“čitaj RAM”; čip će sada poslati mikroupravljaču sadržaj svoje RAM memorije, u kojoj je upisana izmjerena temperatura. Naravno, za ovo je nužno da mikroupravljač poznaje 64-bitne serijske brojeve svih čipova povezanih na sabirnicu. Sve komponente 1-wire, pa tako i DS18B20, poznaju naredbu “čitaj ROM” nakon koje će mikroupravljaču poslati svoju adresu (točnije, svoj serijski broj). Ovo funkcionira ako se na sabirnici u tom času nalazi samo jedan čip; u protivnom nastaje kolizija. Razvijena je i procedura traženja adrese (ROM search) svih čipova 1-wire na sabirnici; ovim postupkom moguće je ustanoviti adrese prisutnih čipova, ali je nemoguće ustanoviti kojem čipu pripada koja adresa. Ako se na sabirnici 1-wire nalazi samo jedan čip DS18B20, komunikacijski protokol je jednostavniji: nakon reseta, mikroupravljač izdaje naredbu “preskačem adresiranje” i odmah zatim šalje željenu naredbu. Upravo za takvu konfiguraciju osmislili smo sljedeći programski zadatak! 20. programski zadatak: Za sklop prema Slici 72. treba napisati program koji će komunicirati s temperaturnim senzorom DS18B20. Kada na razvojnom sustavu Shield-A pritisnemo tipkalo SW1, program treba poslati naredbu čipu DS18B20 da počne mjeriti temperaturu, po završetku mjerenja prihvatiti rezultat i prikazati ga na alfanumeričkom displeju. Kada pritisnemo tipkalo SW2, program treba poslati naredbu čipu DS18B20 da mu pošalje svoju adresu, prihvatiti je i prikazati na LCD-u. Rješenje Bascom-AVR-a (program Shield-A_20. bas) Bascom-AVR ima naredbe za komunikaciju prema protokolu 1-wite, što će nam olakšati rješenje postavljenog zadatka. Nakon što na uobičajeni način konfiguriramo LCD i ulazne pinove PC1 i PC2, Config Portc.1 = Input Portc.1 = 1 Config Portc.2 = Input Portc.2 = 1 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin , _ Db7 = Pind.7 , Db6 = Pind.6 , _ Db5 = Pind.5 , Db4 = Pind.4 , _ E = Pind.3 , Rs = Pind.2 Cursor Off Cls još moramo konfigurirati i pin preko kojeg će se odvijati komunikacija 1-wire. Prema shemi sa Slike 72., to će biti PC5: Config 1wire = Portc.5 Slijedi glavna programska petlja, u kojoj provjeravamo je li pritisnuto neko od tipkala i izvršavamo pridružene potprograme:

Do Debounce Pinc.1 , 0 , Sw1_sub , Sub Debounce Pinc.2 , 0 , Sw2_sub , Sub Loop Ako je pritisnuto tipkalo SW1, izvršit će se potprogram Sw1_sub. U njemu na LCD-u najprije ispisujemo poruku „Temp = „ Sw1_sub: Cls Lcd „Temp = „; i zatim započinjemo proceduru mjerenja temperature. Komunikacija s čipom DS18B20 počinje reset signalom na komunikacijskoj liniji, koji generira mikroupravljač: Mjeri_disp_temp: 1wreset DS18B20 treba odgovoriti na reset; ako odgovor izostane, program će “shvatiti” da ga nismo spojili ili da je neispravan i postaviti bit Err u stanje 1. Zato ćemo odmah nakon reseta provjeriti stanje bita Err pa, ako je postavljen, poslati odgovarajuću poruku i prekinuti daljnje izvršenje potprograma: If Err = 1 Then Lcd „DS18B20?“ Return End If Ako je DS18B20 odgovorio na reset, program nastavlja dalje. Kako je u našem primjeru na sabirnici samo jedna komponenta 1-wire, možemo preskočiti adresiranje (naredba “&HCC“, skip ROM) i odmah zatim narediti čipu DS18B20 da počne mjeriti temperaturu (naredba “&H44“, convert T): 1wwrite &HCC 1wwrite &H44 Čipu DS18B20 trebamo dati dovoljno vremena da završi mjerenje; zato ćemo malo pričekati prije nego li ponovo pošaljemo reset i još jednom provjerimo je li sve u redu: Waitms 800 1wreset

This article is from: