Posted in Koolitused, mBot, Programmeerimine, Robootika, Uudised

Robootikast puust ja punaseks

Möödunud sügisel jõudsid meie kooli muheda “näoga” sinised mBotid, millega kohe ka Robotexile põrutasime. Joonejälgimise võistlus oli muidugi keerukas aga … Süües teadagi kasvab isu. Kui nägin Tartu Ülikooli Moodle’i kursust “Robootikast puust ja punaseks” tundsingi, et käes on aeg  Scratchi asemel ka natuke koodi uurida.

Kõik Tartu Ülikooli kursused, mida läbinud olen on olnud suurepärased. Nii ka see: põhjalik ja parasjagu väljakutseid pakkuv. Kursus algas sissejuhatusega robootikasse, käsitledes nii seda mis on robot ja kuidas robot “mõtleb” ning kuidas toimivad roboti sisendid ja väljundid. Iga teema lõppes testiga ning lisaks tuli läbi teha mitu iseseisvat ülesannet roboti endaga.

Esmalt tuli robot kokku panna ja filmida seda liikumas. Lisanõue kõikide videote puhul oli oma nime näitamine ning selgitused, mida videos näidatakse. Minu robot oli juba eelnevalt kokku pandud ja näidisprogrammidega olin ma samuti eelnevalt tuttav. Seega jäi üle vaid filmida.

Teiseks ülesandeks tuli Arduino keskkonnas laadida näitekood robotisse ning teha taas video. Simple! 🙂

Kolmas ülesanne oli juba keerukam. Selle lahendamiseks tuli roboti valgusdioodide abil vilgutada kas SOSi või oma eesnime. Valisin nime vilgutamise, sest siis on ka nime näitamise nõue kohe täidetud. Tükk aega mässasin sellega, et saada vilgutamiste tihedus sobivaks.

Neljandas ülesandes oli vaja kasutada heliandurit. See sai selle kursuse tarbeks eraldi juurde ostetud. Videos oli vaja näidata, kuidas helianduri näit erinevate helitasemete juures muutub ehk siis teisisõnu mõõta mürataset. Palusin abikaasa appi müra tekitama ja video sai selline.

Kursuse lõputöö oli kõige keerukam: mõelda välja projekt, kus on kasutatud vähemalt üht andurit ja üht täiturit, kirjutada vähemalt 5 tingimuslausega programm ning esitada video koos koodiga. Valmistasin valju heli peale reageeriva roboti. Kui programm käivitada alustab robot sõitu kiirusega 100 ning kuvab LED-ekraanile helianduri näidu. Valju heli peale (nt hüüatus) robot peatub, näitab ekraanil südameid, ootab 2000 ms ning vurab siis rõõmsalt edasi.

Lõputöö kood:

#include "MeMCore.h"

MeLEDMatrix ledMx(PORT_1);
MeSoundSensor mySound(PORT_4);

char string_data[]=”MAKEBLOCK 012345678″;
uint8_t Bitmap_Heart[16]=
{
0x00,0x38,0x44,0x42,0x21,0x21,0x42,0x44,0x38,0x44,0x42,0x21,0x21,0x42,0x44,0x38,
};
int move_times = sizeof(string_data)*6;

MeDCMotor mootor_vasem(M1);
MeDCMotor mootor_parem(M2);

int kiirus=100;

void setup()
{
ledMx.setBrightness(6);
ledMx.setColorIndex(1);
{
ledMx.setBrightness(Brightness_8);//
}
}

void loop()
{
int heli=mySound.strength();

if (heli>500)
{
mootor_vasem.stop();
mootor_parem.stop();
ledMx.showNum(heli);
ledMx.drawBitmap(0, 0, sizeof(Bitmap_Heart), Bitmap_Heart);
for(uint8_t k=0; k<3; k++)
{
for(uint8_t i=0;i0;i–)
{
ledMx.setBrightness(i);
delay(100);
}
}
delay(2000);
}

if (heli<500)
{
mootor_vasem.run(-kiirus);
mootor_parem.run(kiirus);
ledMx.showNum(heli);
delay(100);
}
}

Advertisements

Lisa kommentaar

Täida nõutavad väljad või kliki ikoonile, et sisse logida:

WordPress.com Logo

Sa kommenteerid kasutades oma WordPress.com kontot. Logi välja /  Muuda )

Google+ photo

Sa kommenteerid kasutades oma Google+ kontot. Logi välja /  Muuda )

Twitter picture

Sa kommenteerid kasutades oma Twitter kontot. Logi välja /  Muuda )

Facebook photo

Sa kommenteerid kasutades oma Facebook kontot. Logi välja /  Muuda )

Connecting to %s