Nooremate ringitund 14.02.17

Tundi alustasime sõbrapäevast rääkimisega. Muide, Ameerikas saadetakse aastas üle ühe miljardi sõbrapäevakaardi.

OZOBOT

Kõigepealt üritasime Ozobotile leida raja stardist finišini saades kokku sõna LOVE ja kasutades ainult kolme koodi: “Mine vasakule”, “Mine otse” ja “Mine paremale”.

Osad Ozobotid pandi rajale võistlema. Aga finiš oli nii keerulise koha peal (rohelise joone lõpus), et väikesed robotid ei tahtnud üldse mitte sinna minna.

SCRATCH

Scratchis õppisime mikrofoni kasutama, et spraidile ise hääl anda.
Selleks tuleb kasutada helindite lehekülge. Valides mikrofoni nupu saab salvestada uue heli. Selleks tuleb mustale ümmargusele nupule vajutada. Seni toimub salvestus kuni nupp on punane. Uuesti vajutades lõpeb salvestamine.

Spraidi juurde tuleb heli kuulamiseks järgmine kood kirjutada.

Ühed poisid tegelesid valgusfooridega. Üks programmeeris Arduinoga led lampe ja teine tegi samal ajal Scratchis vilkuva valgusfoori.

Valgusfoori vilkumine nägi selline välja.

Sõbrapäeva eri – palju südameid

OZOBOT

Ozobot otsib armastust

Leia Ozobotile rada stardist finišini liikudes tähtedest niimoodi mööda, et  kokku saab sõna LOVE. Igalt poolt võib ainult üks kord läbi minna.
Kasuta koode “Mine vasakule”, “Mine otse” ja “Mine paremale”.
Kas keerulisema ülesande puhul on võimalik leida ka teine rada?

SCRATCH

Kuidas Scratchis tekitada vilkuv süda?

Kõigepealt tuleb kostüümide lehel erinevat värvi südamed teha. Piisab kui neid paljundada ja seejärel täita erinevate värvidega.

Et südamele tekst juurde lisada, siis tuleb kostüümide lehel ka erinevat värvi tekstid kirjutada.

Südame juurde tuleb selline kood kirjutada.

Tekstide juurde aga selline kood.

Ja tulemus ongi siis selline.

Kuidas Scratchis tekitada palju erinevat värvi südameid?

Ka siin tuleb kõigepealt kostüümide lehel erinevat värvi südamed teha.

Seejärel saab südame juurde koodi kirjutada, et erinevat värvi südamed suvalises kohas välja ilmuksid.

Seekord on tulemus siis selline.

Vanemate ringitund 08.02.17

ARDUINO

Tegime Arduinoga RGB lambi prototüübi. Ledil on neli jalga, kolm on värvide ja neljas maanduse jaoks.
R – punane
G – roheline
B – sinine

Nendest kolmest põhivärvist saab kõiki värve valmis segada. Ka RGB lediga on see võimalik. Lambi peal on tuvastatud 16,7 miljonit erinevat värvi.

Prototüüp näeb järgmine välja.

Programm C-keeles. Värvide vahemikku on võimalik valida 0-255. Kui näiteks punane on 255 ja teised värvid on nullid, siis põlebki ainult punane tuli.

const int greenLEDPin = 9; // LED connected to digital pin 9
const int redLEDPin = 10; // LED connected to digital pin 10
const int blueLEDPin = 11; // LED connected to digital pin 11
int redValue = 0; // punane LED
int greenValue = 0; // roheline LED
int blueValue = 0; // sinine LED
void setup() {
pinMode(greenLEDPin, OUTPUT);
pinMode(redLEDPin, OUTPUT);
pinMode(blueLEDPin, OUTPUT);
}
void loop() {
redValue = 255;
greenValue = 0;
blueValue = 0;
analogWrite(redLEDPin, redValue);
analogWrite(greenLEDPin, greenValue);
analogWrite(blueLEDPin, blueValue);
}

Siin on näha erinevad võimalikud värvid koos koodidega.

C-keele programm, kus lambi värv hakkab muutuma etteantud tsükli värvide vahemikus. Selles koodis siis sinisest punaseni.

const int greenLEDPin = 9; // LED connected to digital pin 9
const int redLEDPin = 10; // LED connected to digital pin 10
const int blueLEDPin = 11; // LED connected to digital pin 11
int redValue = 0; // punane LED
int greenValue = 0; // roheline LED
int blueValue = 0; // sinine LED
void setup() {
pinMode(greenLEDPin, OUTPUT);
pinMode(redLEDPin, OUTPUT);
pinMode(blueLEDPin, OUTPUT);
}
void loop() {
redValue = 255;
greenValue = 0;
blueValue = 0;
for(int i = 0; i<255; i++) {
analogWrite(redLEDPin, i);
analogWrite(greenLEDPin, 0);
analogWrite(blueLEDPin, 255-i);
delay(10);
}
}

Nooremate ringitund 08.02.17

Alustasime tundi paari lühikese video vaatamisega. Mis küll võib programmeerijatel juhtuda.

OZOBOT

Kirjutasime Ozobotidele disco programmi.

SCRATCH

Scratchis panime kassi hüppama.

Ja siis panime kassi lendama ühest nurgast teise nagu lennuki.

Nooremate ringitund 07.02.17

Alustasime tundi paari lühikese video vaatamisega. Mis küll võib programmeerijatel juhtuda.

SCRATCH

Scratchis kirjutasime koodi erinevate taustade ilmumiseks erinevate nuppude vajutamise järel.

ARDUINO

Arduinoga valmistasime valgusfoori prototüübi.

Siin on näha programm C-keeles. Kui lüliti ei ole sisse lülitatud, siis põleb roheline tuli ja teised on kustunud. Kui lülitit all hoida, siis roheline ei põle ning kollane ja punane vilguvad veerand sekundiliste vahedega.

int switchstate = 0;
void setup() {
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(2, INPUT);
}
void loop() {
switchstate = digitalRead(2);
// Kui lüliti ei ole sisse lülitatud
if (switchstate == LOW) {
digitalWrite(3, HIGH); // roheline põleb
digitalWrite(4, LOW); // kollane ei põle
digitalWrite(5, LOW); // punane ei põle
// Kui lüliti on sisse lülitatud
} else {
digitalWrite(3, LOW); // roheline ei põle
digitalWrite(4, LOW); // kollane ei põle
digitalWrite(5, HIGH); // punane põleb
// Oota veerand sekundit
delay(250);
digitalWrite(3, LOW); // roheline ei põle
digitalWrite(4, HIGH); // kollane põleb
digitalWrite(5, LOW); // punane ei põle
// Oota veerand sekundit
delay(250);
}
}

Vanemate ringitund 01.02.17

SCRATCH

Tunni alguses tutvusime natuke Scratchiga. Tegime mängu “Apelsinide noppimine aja peale” algusosa.

ARDUINO

Tunni teises pooles võtsime ette juba eelmises tunnis valmis tehtud Arduino led lambi prototüübid. Lisasime sinna veel kolm led lampi ja panime need põlema vastavalt igaühe soovitud järjekorrale.
C-keele kood on alljärgnev:

int switchState = 0;
void setup() {
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(2,INPUT);
}
void loop() {
switchState = digitalRead(2);
if (switchState == LOW) {
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
} else {
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
delay(250);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
delay(250);
}
}

Sellised lõbusad ja vilkuvad led lambid:

Nooremate ringitund 01.02.17

SCRATCH

Tunni alguses vaatasime natuke Scratchi lihtsamaid käske. Panime kass liikuma nii, et jääks mulje nagu ta jookseks. Lisasime erinevaid taustasid ja panime need erinevalt ilmuma vastavalt erinevatele klahvidele.

Selline näeb liikuva kassi kood välja:

Ja selline on taustade ilmumise kood vastavalt erinevatele klahvidele.

ARDUINO

Kes olid huvitatud, siis nendega ehitasime Arduino abil led lambi prototüübi. Kõigepealt panime ühe lambi põlema ja siis lisasime neid sinna juurde. Kõige rohkem sai lausa üheksa lampi ühendatud.

Nooremate ringitund 31.01.17

OZOBOT

Tänase tunni alustasime Ozobotidega. Kirjutasime ozoblockly.com lehel väikestele robotitele disco programmi ja panime need pärast kõik koos tantsima.
Näide ühest võimalikus koodist on siin. Siia on muidugi võimalik lisada erinevaid liikumisi ja keerutusi.

ARDUINO

Peale poolt tundi hakkasid suuremad huvilised, neid oli kokku neli, Arduino abil prototüüpe ehitama. Panime kõigepealt ühe led lambi põlema ja pärast lisas igaüks alusele veel kaks lampi. Põlev valgusfoor oligi olemas.

Mega-Bot

Meie robotauto saigi endale lõpuks nime.
MEGA-BOT

Tänud kõigile, kes toredaid nimesid pakkusid ja aitasid sobiva välja valida 🙂

Vanemate ringitund 25.01.17

ARDUINO

Ehitasime Arduinoga prototüübi kolme LED lambi ja nupuga.

Seejärel kirjutasime Arduino Studio’s programmi kasutades C keelt. Kui nuppu ei vajuta, siis põleb üks lamp ja kaks on kustunud, nuppu all hoides kustub põlev lamp ära ja teised kaks hakkavad vaheldumisi põlema.
Pärast sai igaüks ise katsetada, mis juhtub kui lisada vahele pause ja muuta lampide põlemist ja kustumist.


int switchState = 0;
void setup() {
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(2,INPUT);
}

void loop() {
switchState = digitalRead(2);
if (switchState == LOW) {
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
} else {
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
delay(250);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
delay(250);
}
}