Popis programu:
Pre tuto ulohu sme sa rozhodli vyskusat nieco nove a naprogramovat EV3 kocku v jazyku Csharp, ktory sa podoba na jazyk C.
Vyvojove prostredie sa da stiahnut na stranke https://visualstudio.microsoft.com/downloads/ (treba pouzit Community edition, ktora je urcena pre zaciatocnikov.)
Prvy krok je vytvorit WPF aplikaciu a do adresara s prelozenym programom (..binDebug) treba ulozit kniznice pre komunikaciu s EV3. Stranka http://www.monobrick.dk/ obsahuje podrobny navod ako zacat.
Nas program ma hlavne okno, ktore obsahuje niekolko kontrolnych prvkov na ovladanie v prvom riadku:
- tlacidlo Meraj, spusti v pozadi beziacu metodu, ktora periodicky cita udaje z optickeho senzora EV3,
a zapisuje novy udaj do zoznamu, ktory sa vykresluje
- tlacidlo Zmaz, vymaze zaznam hodnot, aby sa meranie mohlo opakovat
- Pocet merani (800) urcuje kolko merani sa uskutocni a vykresli na obrazovku
- MierkaX=3,Y=5 su koeficienty ktorymi sa prenasobi hodnota zo senzora a cislo merania, aby mal vykresleny graf spravnu mierku
- Vzorkovacia frekvencia (30 ms).
Vykreslovanie udajov sme skusali aj na kocke EV3, ale display bol maly a tazko sa z neho odcitavali udaje, zatialco nas program nam umoznil roztiahnut graf cez 2 monitory.
Popis konstrukcie robota:
Z lego kociek sme postavili asi pol metra vysoku vezu, a na jej vrchu sme umiestnili osku, na ktorej bolo zavesene kyvadlo. Vezu sme postavili tak aby mala v pravidelnym odstupoch umiestnene vyklenky, do ktorych sa dal umiestnit z jednej strany opticky senzor a z druhej strany LEDky z lego PowerFunctions.
Opticky senzor sme dostali na konci minuleho rocnika ako cenu v tejto sutazi, dakujeme , zisiel sa nam v tejto ulohe:).
Popis merania:
Namerany graf sme si skopirovali pomocou PrintScreen klavesy a ulozili do Paintu. V Painte sme pomocou kurzora mysi odcitali polohu maxim, ktore sa periodicky opakovali a zaznacili sme ich do tabulky. Odcitanim dvoch po sebe iducich maxim sme ziskaly polperiodu v pixeloch, ktoru sme previedli na sekundy pomocou nasledujuceho koeficientu:
Vzorkovacia frekvencia (ms) / (1000 (ms) * MierkaX (px)) (s)
Z dvoch po sebe iducich merani sme scitanim dostali periodu.
Merania sme uskutocnili pri 3 rozlicnych dlzkach ramena kyvadla: 21,35,49 lego cuplikov - co zodpoveda dlzkam 16.8cm, 28 cm a 39.2 cm.
Pre kazdu dlzku sme pripojili namerany graf. Pri urcovani periody kmitov sme pre kazdu dlzky vypocitali priemernu hodnotu z viacerych merani. Nakoniec sme porovnali namerane periody s teoretickymi hodnotami pre idealne kyvadlo (kde sa zanedbava trenie a odpor vzduchu).
Vysledky:
Z nasich nasich merani vyplyva:
- perioda kmitov nezavisi od amplitudy
- perioda kmitov sa predlzuje s odmocninou dlzky kyvadla.
Zaujimave pozorovania:
- Pri najdlhsom kyvadle a najvacsich amplitudach sme mali na zaciatku problem zaznamenat kmitanie (graf bol len rovna ciara). Kyvadlo pri najvacsej dlzke ramena a maximalnej vychylke naberie totiz rychlost tak velku ze opticky senzor nedokaze zaregistrovat jeho prechod. Ak uvazujeme sirku kyvadla 3 cm, pri ktorej senzor registruje jeho polohu v extremnom bode, tak jeho rychlost je pri periode merania 30 ms : v=3 cm / 30 ms = 0.03 m / 0.030 s = 1 m/s. Cize nas robot vie spolahlivo merat kyvadlo len ked je jeho maximalna rychlost mensia ako 1m/s. Prechod sa zacne registrovat az vtedy ked amplituda kmitania trocha klesne vplyvom trenia a odporu vzduchu.
- Ked sme nechali kyvadlo spustene dostatocne dlho, kmity sa kvoli treniu a odporu vzduchu postupne utlmili a graf bol na konci opat rovna ciara.
Good stuff! Inspiring! Thank you! Greetings from Vienna. :) Some sound output would help you to hear whether the sensor has noticed the pendulum passing by. 1. Mohli ste na kyvadlo nalepit napriklad papierik, ktory by ho rozsiril ale nezabrzdil a tak by senzor stihol zachytit. Ale inak je riesenie velmi pekne a precizne spracovane. 2. Za úlohu Kyvadlo získavate 3b. Páči sa mi ako podrobne ste popísali postup a samotné riešenie a taktiež, že ste sa pustili so nového programovacieho jazyka :) 3. Veľmi pekne popísané riešenie a získané výsledky z meraní (aj písomne aj na videu). Možno by sa do videa hodil ešte nejaký slovný popis alebo hudba. Inak super. 4. Pekná práca!
Popis ku konstrukcii:
Postavili sme dve takmer rovnake roboticke auticka.
Kazde obsahovalo 2 large servo motory na pohyb robota, 1 Lego kovovu gulicku ako pomocne koliesko a 1 Lego mindstorms EV3 kocku. Jediny rozdiel bol ze jeden z robotov mal aj infracerveny sensor na prijimanie signalov z dialkoveho ovladania.
It is awesome! :) Ďakujeme. 1. Veľmi pekné riešenie, ale dve zatáčky za sebou už by asi nezvládli, však? 2. Za úlohu Moderná doprava získavate 3b. Páči sa mi konštrukcia vozidiel a aj pekne znázornené ostré zákruty, ktoré druhé vozidlo dokázalo krásne okopírovať podľa prvého vozidla. 3. Pekne spracované riešenie úlohy. Škoda, že vždy jedno autíčko pri zákrute muselo stáť. Páči sa mi, že ste pridali do videa aj hudbu. 4. Super!