Slijede razlike između dviju inačica stranice
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
studenti:mate_pavelic:mp_dnevnik [2014/02/23 17:46] mpavelic [Dnevnik rada] |
studenti:mate_pavelic:mp_dnevnik [2023/06/19 16:21] (trenutno) |
||
---|---|---|---|
Redak 131: | Redak 131: | ||
=== 5. tjedan (18.11 - 24.11.2013.) === | === 5. tjedan (18.11 - 24.11.2013.) === | ||
== Dosadašnji rad == | == Dosadašnji rad == | ||
- | Napravio sam prvu verziju Bee-bota koji se upravlja računalom preko USB kabela i može se kretati u smjeru naprijed-nazad. Rastavio sam DVD drive i na donji pravokutni dio limenog kučišta sam pričvrstio tri DC motora. Po jedan sa stražnje lijeve i desne strane i jedan naprijed u sredini. Zadnja dva sam spojio na Arduino, protoboard, IC s H-bridegom i njima pokretao autić, dok je prednji motor služio samo za održavanje ravnoteže. | + | Napravio sam prvu verziju Bee-bota kojom se upravlja računalom preko USB kabela i može se kretati u smjeru naprijed-nazad. Rastavio sam DVD drive i na donji pravokutni dio limenog kučišta sam pričvrstio tri DC motora. Po jedan sa stražnje lijeve i desne strane i jedan naprijed u sredini. Zadnja dva sam spojio na Arduino, protoboard, IC s H-bridegom i njima pokretao autić, dok je prednji motor služio samo za održavanje ravnoteže. |
+ | |||
+ | Program: | ||
+ | |||
+ | <code> | ||
+ | const int lijevigore = 10; | ||
+ | const int lijevidolje = 9; | ||
+ | const int desnigore = 6; | ||
+ | const int desnidolje = 5; | ||
+ | int val = 0; | ||
+ | #define BRZINA 255 | ||
+ | |||
+ | void setup () { | ||
+ | pinMode (lijevigore, OUTPUT); | ||
+ | pinMode (lijevidolje, OUTPUT); | ||
+ | pinMode (desnigore, OUTPUT); | ||
+ | pinMode (desnidolje, OUTPUT); | ||
+ | Serial.begin (9600); | ||
+ | } | ||
+ | |||
+ | void loop () { | ||
+ | |||
+ | if (Serial.available() > 0) { | ||
+ | val = Serial.read(); | ||
+ | if (val == 'a') { | ||
+ | analogWrite (desnigore, 0); | ||
+ | analogWrite (desnidolje, BRZINA); | ||
+ | analogWrite (lijevigore, 0); | ||
+ | analogWrite (lijevidolje, BRZINA); | ||
+ | } | ||
+ | |||
+ | if (val == 's') { | ||
+ | analogWrite (desnigore, BRZINA); | ||
+ | analogWrite (desnidolje, 0); | ||
+ | analogWrite (lijevigore, BRZINA); | ||
+ | analogWrite (lijevidolje, 0); | ||
+ | } | ||
+ | |||
+ | if (val == 'd') { | ||
+ | analogWrite (desnigore, 0); | ||
+ | analogWrite (desnidolje, 0); | ||
+ | analogWrite (lijevigore, 0); | ||
+ | analogWrite (lijevidolje, 0); | ||
+ | } | ||
+ | |||
+ | if (val == 'w') { | ||
+ | analogWrite (desnigore, 0); | ||
+ | analogWrite (desnidolje, BRZINA); | ||
+ | analogWrite (lijevigore, BRZINA); | ||
+ | analogWrite (lijevidolje, 0); | ||
+ | } | ||
+ | |||
+ | if (val == 'q') { | ||
+ | analogWrite (desnigore, BRZINA); | ||
+ | analogWrite (desnidolje, 0); | ||
+ | analogWrite (lijevigore, 0); | ||
+ | analogWrite (lijevidolje, BRZINA); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
== Daljnji koraci == | == Daljnji koraci == | ||
- | Napraviti cjelokupni program za rad Bee-bota, proučiti i naći rješenja za "ekstremne" slučajeve u kojima se Bee-bot može naći, uplodati programe direktno na zamjenski čip bez prethodnog uplodanja bootloadera. | + | Napraviti cjelokupni program za rad Bee-bota, uplodati programe direktno na zamjenski čip bez prethodnog uplodanja bootloadera. |
~~NOTOC~~ | ~~NOTOC~~ | ||
Redak 140: | Redak 201: | ||
=== 6. tjedan (25.11 - 1.12.2013.) === | === 6. tjedan (25.11 - 1.12.2013.) === | ||
== Dosadašnji rad == | == Dosadašnji rad == | ||
- | Mislim da bi rješenje za određivanje je li Bee-bot u nekom od "ekstremnih" slučajeva (podignut s poda, proklizavanje kotača ...) bilo korištenje akcelerometra koji može mjeriti vibracije. Odredio bih koliko iznose vibracije kada je Bee-bot u normalnom načinu rada i napravio bi rješenja za situacije kada se nađe u zabranjenom načinu rada. Umjesto prednjeg DC motora stavio sam kotač koji se može rotirati za 360 stupnjeva i tada bi autić mogao mijenjati smjer na način da se nakratko ugasi motor suprotan od strane u koju se želi dovesti autić tj. da se ostavi upaljen onaj u koju se stranu želi skrenuti. Tako ako se ostavi ugašen desni motor i lijevi upaljen motor će skrenuti u lijevo. Autić se nije pomicao, iako su motori radili kako treba. Pretpostavljam da su preslabi. | + | Umjesto prednjeg DC motora stavio sam kotač koji se može rotirati za 360 stupnjeva i tada bi autić mogao mijenjati smjer na način da se nakratko ugasi motor suprotan od strane u koju se želi dovesti autić tj. da se ostavi upaljen onaj u koju se stranu želi skrenuti. Tako ako se ostavi ugašen desni motor i lijevi upaljen motor će skrenuti u lijevo. Autić se nije pomicao, iako su motori radili kako treba. Pretpostavljam da su preslabi. |
~~NOTOC~~ | ~~NOTOC~~ | ||
Redak 146: | Redak 207: | ||
=== 7. tjedan (2.12 - 8.12.2013.) === | === 7. tjedan (2.12 - 8.12.2013.) === | ||
== Dosadašnji rad == | == Dosadašnji rad == | ||
- | Proučio sam kako i na koji način radi laserski miš za računalo i njeogv IC ću iskoristiti za određivanje brzine i stanja Bee-bota. | + | Proučio sam kako i na koji način radi laserski miš za računalo i njeogv IC ću kasnije, ukoliko bude vremena, iskoristiti za određivanje brzine Bee-bota. |
== Daljnji koraci == | == Daljnji koraci == | ||
- | Napraviti "dijagram stanja" koji će grafički prikazati što će Bee-bot izvršavati i u kojem će se stanju naći u ovisnosti o unešenoj naredbi. | + | Napraviti dijagram stanja koji će grafički prikazati što će Bee-bot izvršavati i u kojem će se stanju naći u ovisnosti o unešenoj naredbi. |
~~NOTOC~~ | ~~NOTOC~~ | ||
Redak 155: | Redak 216: | ||
=== 8. tjedan (9.12 - 15.12.2013.) === | === 8. tjedan (9.12 - 15.12.2013.) === | ||
== Dosadašnji rad == | == Dosadašnji rad == | ||
- | Napravio sam "dijagram stanja" koji pokazuje kako bi Bee-bot trebao raditi. Proučio sam i uspio uplodati program (sketch) na Arduino direktno, bez prethodnog uplodanja bootloadera, kako bi se uštedilo na količini memorije. | + | Napravio sam dijagram stanja koji pokazuje kako bi Bee-bot trebao raditi. Proučio sam i uspio uplodati program (sketch) na Arduino direktno, bez prethodnog uplodanja bootloadera, kako bi se uštedilo na količini memorije. |
== Daljnji koraci == | == Daljnji koraci == | ||
Probati pomoću zupčanika iz CD/DVD drivea dobiti da se Bee-bot može pomicati, jer DC motori imaju preslabi okretni momenat da bi uopće pokrenuli cijelu konstrukciju. | Probati pomoću zupčanika iz CD/DVD drivea dobiti da se Bee-bot može pomicati, jer DC motori imaju preslabi okretni momenat da bi uopće pokrenuli cijelu konstrukciju. | ||
Redak 164: | Redak 225: | ||
=== 10. tjedan (16.12 - 22.12.2013.) === | === 10. tjedan (16.12 - 22.12.2013.) === | ||
== Dosadašnji rad == | == Dosadašnji rad == | ||
- | Zupčanici iz CD/DVD drivea neće biti dobri jer nema niti jedan par međusobno istih zupčanika i niti jedan se ne može staviti na već izvađene motore. Izvadio sam iz dva DC/DVD drivea dio kučišta na kojem se nalazi DC motor zajedno sa zupčanicima koji se izbacuju "ladicu" drivea. | + | Zupčanici iz CD/DVD drivea neće biti dobri jer nema niti jedan par međusobno istih zupčanika i niti jedan se ne može staviti na već izvađene motore. Izvadio sam iz dva CD/DVD drivea dio kučišta na kojem se nalazi DC motor zajedno sa zupčanicima koji izbacuju "ladicu" drivea. |
== Daljnji koraci == | == Daljnji koraci == | ||
- | Pokušati staviti IC od laserskog miša i mjeriti brzinu konstrukcije. | + | Staviti DC motore sa zupčanicima koji se nalaze na komadu plastike iz kučišta CD/DVD drivea na šasiju autića. |
~~NOTOC~~ | ~~NOTOC~~ | ||
Redak 172: | Redak 233: | ||
=== 11. tjedan (23.12 - 29.12.2013.) === | === 11. tjedan (23.12 - 29.12.2013.) === | ||
== Dosadašnji rad == | == Dosadašnji rad == | ||
- | Motore sam zajedno sa zupčanicima na plastici iz kučišta drivea pričvrstio na šasiju i sada se konstrukcija bez problema pomiče u bilo kojem smjeru. Zamijenio sam podlogu od CD/DVD drivea na kojoj se nalazio sklop i na kojoj su bili pričvršćeni motori s poklopcem (gornjom stranom) HDD-a koja je čvršća i lakša i čitavom konstrukcijom za sada upravljam preko laptopa koji je USB kabelom spojen na Arduino i šaljem mu naredbe, preko serial porta, u kojem smjeru da okreče motore. | + | Motore sam zajedno sa zupčanicima na plastici iz kučišta drivea pričvrstio na šasiju i sada se konstrukcija bez problema pomiče u bilo kojem smjeru. Zamijenio sam podlogu od CD/DVD drivea na kojoj se nalazio sklop i na kojoj su bili pričvršćeni motori s poklopcem (gornjom stranom) HDD-a koja je čvršća i lakša. Autićem za sada upravljam preko laptopa koji je USB kabelom spojen na Arduino i šaljem mu naredbe, preko serial porta, u kojem smjeru da okreče motore. |
== Daljnji koraci == | == Daljnji koraci == | ||
Proučiti librarye napravljenje za Arduino za upravljanje IC-em iz laserskog miša. Saznati kako programirati Arduino da upravlja konstrukcijom bez da je prikopčan na laptop putem USB-a i da mu kao izvor energije služi baterija. | Proučiti librarye napravljenje za Arduino za upravljanje IC-em iz laserskog miša. Saznati kako programirati Arduino da upravlja konstrukcijom bez da je prikopčan na laptop putem USB-a i da mu kao izvor energije služi baterija. | ||
Redak 180: | Redak 241: | ||
=== 12. tjedan (30.12.2013. - 5.1.2014.) === | === 12. tjedan (30.12.2013. - 5.1.2014.) === | ||
== Dosadašnji rad == | == Dosadašnji rad == | ||
- | Napravio sam dijagram stanja i dijagram toka programa. Napravio sam pojednostavljeni sklop autića s tri push-buttona i dvije ledice. Pritiskanje prva dva gumba bi određivalo koja će LEDica blinkati, a treći gumb, kada se pritisne, bi u programu predstavljao kraj unosa naredbi preko prva dva gumba. Još nisam uspio dobiti program da ispravno radi, mada se program uploada bez javljanja grešaka. | + | Napravio sam novi dijagram stanja i dijagram toka programa. Napravio sam pojednostavljeni sklop autića s tri push-buttona i dvije ledice. Pritiskanje prva dva gumba određuje koja će LEDica blinkati, a treći gumb, kada se pritisne, u programu predstavlja kraj unosa naredbi preko prva dva gumba. Još nisam uspio dobiti program da ispravno radi, mada se program uploada bez javljanja grešaka. |
+ | |||
+ | Dijagram stanja (gornja slika) i dijagram toka programa (donja slika): | ||
+ | |||
+ | {{:studenti:mate_pavelic:dijagram.jpg|Dijagram stanja}} | ||
+ | |||
+ | {{:studenti:mate_pavelic:dijagram1.jpg|Dijagram toka programa}} | ||
== Daljnji koraci == | == Daljnji koraci == | ||
- | Poraviti program da radi kako treba i onda proširiti funkcionalnost na autić. Popraviti i doraditi dijagram stanja i dijagram toka programa | + | Poraviti program da radi kako treba i onda proširiti funkcionalnost na autić. |
~~NOTOC~~ | ~~NOTOC~~ | ||
Redak 188: | Redak 256: | ||
=== 13. tjedan (6.1.2014. - 12.1.2014.) === | === 13. tjedan (6.1.2014. - 12.1.2014.) === | ||
== Dosadašnji rad == | == Dosadašnji rad == | ||
- | Dodao sam još tri LEDice i sada ih ima sveukupno četiri i one predstavljaju smjer gibanja autića. Spojio sam i šest push-buttona od kojih prva četiri određuju koja će se LEDica blinkati. Peti button određuje kada je gotov unos naredbi i kada će početi blinkanje, a ako se pritisne dok LEDice blinkaju, označava kraj tj. LEDice prestaju blinkati. Šesti button služi za brisanje unešenih naredbi | + | Dodao sam još tri LEDice i sada ih ima sveukupno četiri i one predstavljaju smjer gibanja autića. Spojio sam i šest push-buttona od kojih prva četiri određuju koja će se LEDica blinkati. Peti button određuje kada je gotov unos naredbi i kada će početi blinkanje, a ako se pritisne dok LEDice blinkaju, označava kraj tj. LEDice prestaju blinkati. Šesti button će služiti za brisanje unešenih naredbi |
+ | |||
+ | Na schemi, LEDica koje je skroz desno je prva, od desna na lijevo redni brojevi im rastu do 4. Isto je i kod gumbova. Onaj skroz desno je prvi i od desna na lijevo redni brojevi im rastu do 6. Otpornici korišteni s LEDicama iznose 220 oma. Otpornici korišteni s gumbima iznose 2200 oma. [[studenti:mate_pavelic:mp_nauceno|Ovdje]] se nalazi objašnjenje kako se jedan analogan pin na Arduinu može iskoristiti za očitavanje više push-buttona. | ||
+ | |||
+ | Schema: | ||
+ | |||
+ | {{ :studenti:mate_pavelic:ledice.jpg }} | ||
== Daljnji koraci == | == Daljnji koraci == | ||
- | Postići da kada se stisne peti gumb dok LEDice još blinkaju, blinkanje prestane. | + | Postići da, kada se stisne peti gumb dok LEDice još blinkaju, blinkanje prestane. |
Redak 228: | Redak 303: | ||
---- | ---- | ||
=== 18. tjedan (10.2.2014. - 16.2.2014.) === | === 18. tjedan (10.2.2014. - 16.2.2014.) === | ||
+ | == Dosadašnji rad == | ||
+ | Na mjesto središnjeg kotača stavio sam završetak dezodoransa. Onaj dio kojim se nanosi tj. loptica u "čašici" koja se laganim pokretom okreće u bilo kojem smjeru. Autić se može pomicati naprijed-nazad, ali još uvijek se ne pomiče lijevo-desno. Mislim da je to zbog toga što nema svaki motor isti prijenos, jednom se prijenos sastoji od tri zupčanika, a drugom od dva zupčanika. Tako da se kotači ne okreču u potpunosti jednako. Probati ću naći još jedan prijednos koji bi odgovarao jednom od sadašnjih koje imam. Krenuo sam sa izradom završnog programa. | ||
+ | == Daljnji koraci == | ||
+ | Završiti program i pronaći prijenos za motore koji je isti kao jedan od sadašnja dva ili pokušati napraviti jedan. | ||
+ | ~~NOTOC~~ | ||
+ | |||
+ | ---- | ||
+ | === 19. tjedan (17.2.2014. - 23.2.2014.) === | ||
+ | == Dosadašnji rad == | ||
+ | Napravio sam završni program i radi kako treba. Očitavanje tipki se dešava tokom interrupta (svakih 0.16 milisekindi) i svaka tipka se sprema u buffer. Buffer je polje od 50 elemenata. Kada se dođe do kraja polja, spremanje tipki kreće od početka polja. U glavnom dijelu programa, ukoliko je program u stanju "PROGRAMIRANJE", iz buffera se čitaju tipke i ukoliko su to tipke: "NAPRIJED", "NAZAD", "LIJEVO" ili "DESNO", onda se one spremaju u polje za naredbe. Ukoliko je u bufferu tipka "CLEAR", onda se trenutno zapisane naredbe "brišu". Te ako je u bufferu tipka "GO", kreće se s izvođenjem naredbi koje su zapisane u polju naredbe i stanje postaje "VOZI". Ako je stanje "VOZI" i pritisne se tipka "GO", autić se zaustavlja, stanje postaje "PROGRAMIRAJ" i ponovo se čekaju nove naredbe. | ||
+ | == Daljnji koraci == | ||
+ | Prokomentirati program s profesorom i vidjeti što napraviti s motorima. | ||
+ | ~~NOTOC~~ | ||
+ | |||
+ | ---- | ||
+ | === 20. tjedan (24.2.2014. - 2.3.2014.) === | ||
+ | == Dosadašnji rad == | ||
+ | Program je imao problem da je jedan pritisak neke tipke očitavao kao više njih ([[studenti:mate_pavelic:mp_nauceno|bouncing]]) i to sam popravio i sada je program završen i radi bez problema. | ||
+ | == Daljnji koraci == | ||
+ | Naći rješenje za motore. | ||
+ | ~~NOTOC~~ | ||
+ | |||
+ | ---- | ||
+ | === 21. tjedan (3.3.2014. - 9.3.2014.) === | ||
== Dosadašnji rad == | == Dosadašnji rad == | ||
== Daljnji koraci == | == Daljnji koraci == | ||
+ | Naći rješenje za motore. | ||
~~NOTOC~~ | ~~NOTOC~~ |