ARDUINO
LCD ekraani ühendamine:
LCD ekraanil teksti väljastamise kood:
Codebug muusika ja Arduino koos
Robootika- ja programmeerimisring
Leiutajate pesa
ARDUINO
LCD ekraani ühendamine:
LCD ekraanil teksti väljastamise kood:
Codebug muusika ja Arduino koos
ARDUINO
Arduino programm, kuidas kasutada jadapordi monitori. Selleks tuleb Arduino Stuudios Tööriistade alt valida Jadapordi monitor. Alloleva programmi abil on monitoris näha, kuidas muutuja “i” väärtus muutub iga 1 sekundi järel.
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() {
Serial.begin(9600);
pinMode(greenLEDPin, OUTPUT);
pinMode(redLEDPin, OUTPUT);
pinMode(blueLEDPin, OUTPUT);
}
void loop() {
redValue = 255;
greenValue = 0;
blueValue = 0;
for(int i = 0; i<255; i+=10) {
redValue = i;
greenValue = 0;
blueValue = 255-i;
analogWrite(redLEDPin, redValue);
analogWrite(greenLEDPin, greenValue);
analogWrite(blueLEDPin, blueValue);
Serial.print(“Red: “);
Serial.print(redValue);
Serial.print(” Green: “);
Serial.print(greenValue);
Serial.print(” Blue: “);
Serial.println(blueValue);
delay(1000);
}
}
Arduino LED lamp potentsiomeetriga
Arduino LED lamp fototakistiga
CODE.ORG
Siin on näha, kuidas code.org keskkonnas joonistada. Selleks tuleb ülesannete lehekülje kõige alumisest osast leida Projektide osa ja sealt valida Joonista midagi rakendus. Kõik kirjutatud programmid jäävad projektide juurde alles.
Kood näeb selline välja
Lisaks vaatasime natuke ka Kodu Game Lab keskkonda.
CODE.ORG
Tundi alustasime jälle code.org keskkonnas.
Lisaks ülesannete lahendamisega oli seal võimalus seekord kirjutada ka kullimäng koos punktide lugemisega. Selleks tuleb code.org ülesannete lehekülje kõige alumisest osast leida Projektide osa ja sealt valida Loo Play Lab rakendus. Kõik kirjutatud programmid jäävad projektide juurde alles.
Kullimäng näeb ise selline välja.
Ja kood on selline.
ARDUINO
Valmis sai ka Arduino baasil valgusfoori mudel.
Enne tunni lõppu toimus meil veel hääletus, mida ringis kõige enam teha tahetakse. Kas ehitada roboteid, kirjutada Scratchis programme või lahendada Ozobotidega ülesandeid. Tulemus oli siis selline.
Vaatamata koolivaheajale oli meid päris palju kohal – 9 last.
CODE.ORG
Tutvusime code.org keskkonnaga. Need kelle jaoks oli see uus koht, alustasid kursus 2’ga. Kursus 1 on mõeldud 4-6 aastastele, aga kel huvi võib need ka ära teha. Need, kes kursus 2’te juba tundides teinud olid tegelesid Koodi Tunni ülesannetega.
ARDUINO
1. Siin on kood, kuidas panna roheline tuli vilkuma peale nupule vajutamist. Selleks tuleb kasutada tsüklit ” for { } ” ja kasutada muutujat “i” tsüklite kordamiseks 0 kuni 2. “HIGH” (põleb) ja “LOW” (ei põle) väärtuse andmiseks kasutatakse muutujat “lowhighValue”.
int switchstate = 0;
char lowhighValue;
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 {
for(int i = 0; i<2; i++) {
if (i == 1) {
lowhighValue = LOW;
} else {
lowhighValue = HIGH;
}
digitalWrite(3, lowhighValue); // roheline vilgub
digitalWrite(4, LOW); //kollane ei põle
digitalWrite(5, HIGH); // punane põleb
delay(250);
}
}
}
2. Või võib kasutada ka ilma lowhighValue muutujata for trsüklit. Sel juhul saab lampi panna nii mitu korda vilkuma kui aga soovi on.
char lowhighValue;
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 {
for(int i = 0; i<2; i++) {
digitalWrite(3, LOW); // roheline ei põle
delay(250);
digitalWrite(3, HIGH); // roheline põleb
delay(250);
}
digitalWrite(4, LOW); //kollane ei põle
digitalWrite(5, HIGH); // punane põleb
}
}
ARDUINO
Jätkasime led lampidega prototüüpide ehitamisega.
Igal ühel oli võimalus panna plaadile nii palju lampe kui soovi oli ja valida selleks endale sobivad värvid (valge, kollane, punane, roheline, sinine või rgb led). Kõige rohkem mahtus korraga plaadile 12 lampi. Programmeerimisega jätkame järgmine kord.
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);
}
}
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);
}
}
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:
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.