Najväčší problém, ktorý sme nevedeli vyriešiť, bol dosah. Svetelné senzory sa nedali použiť pri vzdialenosti väčšej ako 5 cm. Druhý problém boli prekrývajúce sa časovania, ale stále pomerne spoľahlivo ukazuje všetky typy signálov.
Maják je skonštruovaný s pomocou arduina, čo mikrokontroller, pomocou neho ovládame vlastnoručne urobený obvod s dvoma LED-kami (bielou a červenou). Program pre arduino:
int a = 0;int rdy = 1;int red = 2;int white = 3;
void setup() { pinMode(red,OUTPUT); pinMode(white,OUTPUT); Serial.begin(9600);}
void loop() { if (rdy = 1){ occ(); //sem sa zada funkcia a = 0; //reset a }}
//list funkciivoid f(){ rdy = 0; digitalWrite(white,1); digitalWrite(red,0); rdy = 1;}
void fl(){ rdy = 0; digitalWrite(white,1); delay(200); digitalWrite(white,0); delay(1800); rdy = 1;}
void q(){ rdy = 0; digitalWrite(white,1); delay(200); digitalWrite(white,0); delay(800); rdy = 1;}
void vq(){ rdy = 0; digitalWrite(white,1); delay(200); digitalWrite(white,0); delay(400); rdy = 1;}
void iq(){ rdy = 0; while(a < 10){ digitalWrite(white,1); delay(200); digitalWrite(white,0); delay(800); a ++; } if(a = 10){ digitalWrite(white,0); delay(4000); rdy = 1; }}
void iso(){ rdy = 0; digitalWrite(white,1); delay(2000); digitalWrite(white,0); delay(2000); rdy = 1; }
void occ(){ rdy = 0; digitalWrite(white,1); delay(1500); digitalWrite(white,0); delay(500); rdy = 1;}
void al(){ rdy = 0; digitalWrite(red,1); digitalWrite(white,0); delay(1000); digitalWrite(white,1); digitalWrite(red,0); delay(1000); rdy = 1;}
void mou(){ rdy = 0; digitalWrite(white,1); delay(50); digitalWrite(white,0); delay(100); digitalWrite(white,1); delay(50); digitalWrite(white,0); delay(100); digitalWrite(white,1); delay(200); digitalWrite(white,0); delay(400); rdy = 1;}
void lfi(){ rdy = 0; digitalWrite(white,1); delay(2000); digitalWrite(white,0); delay(7000); rdy = 1;}
EV3 program na špecifických miestach kontroluje, či je zapnuté / vypnuté svetlo. Funguje to na podobnom princípe, ako úloha z 3.zadania, tiež používa switche, ale žiadne interrupty. Robot zisťuje, ako dlho svieti svetlo a v prípade striedania červenej a bielej intenzitu svetla. Zistený typ signálu vypíše na display. (vizuálna reprezentácia programu je medzi fotografiami)
1. Pekne spracované riešenie úlohy i vo videu, ale občas sú v ňom niektoré údaje rozmazané (hlavne pri snímaní obrazovky počítača a kocky). 2. Dobrá práca, mohli ste skúsiť, či sa vám podarí zlepšiť merania pri vypnutom svetle, ale inak super. 3. Veľmi dobre ste si poradili s majákom, to sa mi naozaj páči. Aj rozpoznávanie je celkom dobre spravené, nemám námietky. 4. Za úlohu majáky získavate 3b. Páči sa mi, že ste na zostavenie majáku použili Arduino a ukázali ste aj priebeh vytvárania programu. Na videu skúšate rôzne módy, ktoré jednotka zvláda bez problémov rozoznávať. p.s. náš tip pre budúci raz: aj arduinový program môžete nahrať ako prílohu, netreba ho vkladať priamo do popisu riešenia
Konštrukcia robota pozostáva z dvoch zaujímavých častí, čo sú: 1.: zásobník, do ktorého sa zozbierajú kocky a 2. zberač, ktorý sa dá zdvihnúť a niektoré časti sa dajú aj kompletne odstrániť, aby sa s ním lepšie manipulovalo. Robot na začiatku pôjde dopredu (pozbiera všetky kocky), potom zdvihne zberač a začne rozdávať.
Program je pomerne jednoduchý, pozostáva z jazdenia dopredu a dozadu a gyro turnov (ktoré fungujú na systéme (gyro angle - target angle) / rýchlosť otáčania. Výsledok = rýchlosť otáčania, keď otáčanie je 100% doľava - podobne ako line follower). Ostatné je odhadovanie čísel, aby robot urobil to, čo chceme.
P.S.: Ak sa Vám program nezobrazí ihneď, prepnite prosím na iný program a potom naspäť. Ospravedlňujeme sa za technické problémy.
1. Hodil by sa podrobnejší popis robota a riešenia úlohy, ale inak pekné riešenie. 2. No ten smajlík je taký trochu nedotiahnutý, ale trochu to pripomína. 3. Robot je pekný, ale trocha ste si to zjednodušili - tie kocky by ste asi nevedeli pozbierať, keby boli náhodne porozhadzované, všakže? Aj ten smajlík na záver mohol byť trocha krajší :) 4. Za úlohu Vymeňme si úsmevy získavate 2,8b. Na videu ste neukázali, že robot dokáže pozbierať kocky z ľubovolných miest.