Professional Documents
Culture Documents
Arduino. Metodinė Medžiaga. 2014
Arduino. Metodinė Medžiaga. 2014
Vilnius 2014
Medžiagą parengti padėjo:
www.DarysiuPats.lt
www.SmartSensors.lt
Laurynas Maldaikis
Mindaugas Dagys
Marius Narvilas
2
Turinys:
3
Praktinis darbas Nr. 1. Elektronikos įvadas. Elektrinės grandinės
4
5
1.3. Elektronikos elementai ir prietaisai
Jungiant: Būtina atsižvelgti į diodo išvadų kojeles. Turi būti prijungtas taip,
kad elektros srovė tekėtų iš anodo į katodą. Katodas yra pažymėtas ant diodo
korpuso juodu ar pilku žiedeliu.
Rezistorius
Tam tikros varžos prietaisas, naudojamas reikiamai įtampai elektros grandinėje sudaryti. Jis
priešinasi per jį tekančiai elektros srovei, sukurdamas įtampos kritimą tarp kontaktų. Šis sąryšis
aprašomas Omo dėsniu: U = I x R
Rezistoriaus varžos dydis nurodomas ant korpuso spalviniu kodu (žiūrėti žemiau).
Jungiant: Kadangi variklio sukimosi kryptis priklauso nuo per jį tekančios elektros srovės krypties,
būtina atsižvelgti į matinimo šaltinio polių prijungimą.
6
Tęsinys...
Rėlė
Prietaisas, kuriame viena grandine tekanti srovė sujungia ar atjungia kitą, nepriklausomą, relėje
elektriškai nesusijusią elektros grandinę. Paprasčiausia elektromagnetinė relė turi elektromagnetą,
kuriuo tekanti srovė perkelia į kitą padėtį vieną ar kelis judamus kontaktus. Šie kontaktai gali būti
sujungiantys, atjungiantys arba perjungiantys. Valdančiai srovei išnykus, spyruoklė grąžina
kontaktus į pradinę padėtį.
Jungiant: Būtina atsižvelgti į grandyno kontaktinių kojelių išdėstymo tvarką (kuri kojelė yra pirma) ir
jų numeraciją.
Mygtukas
Mechaninis prietaisas, uždarantis elektros grandinę kada yra
nuspaudžiamas.
Jungiant: Būtina atsižvelgti, kad potenciometro vidurinė kojelė yra sujungta su slankiojančiu
kontaktu.
Fotorezistorius
Fotorezistoriai veikia dėl fotolaidumo reiškinio. Neapšviesto fotorezistoriaus varža yra didelė.
Veikiant šviesai varža sumažėja.
Pjezo skambutis
Elektromechaninis prietaisas, kuriuo tekančios elektros srovės impulsai sužadina
jo garsinį toną.
Jungiant: Būtina atsižvelgti, kad prietaisas yra poliarizuotas. Anodas dažniausiai žymimas
skambučio viršuje, katodo kojelė yra trumpesnė.
7
1.4. Maketo plokštė (Bredboard)
8
9
1.5. Švytūrėlis (multivirpiklis)
Ant maketo plokštės surinksime papraščiausią elektrinę grandinę – švyturėlį (pav 1.2) . Žemiau pateikta jo
principinė schema (pav 1.1). Švyturėlio grandinė sudaryta pagal simetrinio multivirpiklio schemą.
Multivirpiklis – stačiakampės formos virpesius generuojanti elektrinė grandinė. Šviesos diodų mirgėjimų
dažnis priklauso nuo elektros srovės šaltinio įtampos, rezistorių R2 bei R3 varžos ir kondensatorių C1 bei C2
elektrinės talpos. Rezistoriai R1 ir R4 sumažina srovę, tekančią per šviesos diodus LED1 ir LED2.
Multivirpiklio grandinė yra gausios elektroninių grandinių šeimos pagrindas.
Reikalingos dalys:
10
Švyturėlio grandinė surinkta ant maketo plokštės:
Tolimesniems eksperimentams:
Tranzistorius BC547C
11
2.1 pav. Arduino mikrovaldiklio panaudojimas
12
Praktinis darbas Nr. 2. Arduino įvadas. Mirksiukas
2003 metais, studentas iš Italijos Massimo Banzi turėjo atlikti kursinį darbą ir jų maketui reikėjo nebrangaus
valdymo kontrolerio po kelių mėnesių darbo gimė pirmasis Arduino.
2.4 pav. Arduino UNO 2.5 pav. Arduino skydeliai (angl.k. Shield)
Arduino naudoja C ir C++ programavimo kalbos “mišinį”. Išmokti šią programavimo kalbą nėra sudėtinga.
Jos aprašymą rasite čia>. Trumpą arduino programavimo kalbos aprašymą rasite 4 priede.
Dar vienas geras Arduino privalumas – tai, kad jam yra sukurti papildomi skydeliai (angl.k Shield), kurie
suteikia galimybę Arduino prijungti prie interneto, WiFi tinklo, Bluetooth ryšio. Taip pat gali suteikti
galimybę naudoti SD atminties korteles ir dar daug visokių kitų galimybių.
Su Arduino žaisti galima kaip su LEGO – dėlioji detales ir iš karto matai rezultatą. Na, bet aišku privalai
laikytis tam tikrų taisyklių, kad nesudegintum mikrokontrolerio. Dėl šios priežasties “nepatyrusiems”
siūlyčiau pradėti nuo Arduino UNO.
Arduino UNO ypatingas tuom, kad jis nėra toks brangus kaip Arduino MEGA ar kita Arduino šeimos
platforma, taip pat jame yra galimybė pakeisti pagrindinę mikroschemą (mikrokontrolerį).
Daugiau informacijos apie Arduino galite rasti oficialioje svetainėje arduino.cc>
Arduino tai puiki priemonė praplėsti moksleivių ir studentų žinias inžinerijos srityje, nes jo pagalba
išbandoma ir elektronika ir mechanika ir programavimas vienu metu.
13
2.2. Arduino UNO išvadai
14
2.4. Arduino diegimas į kompiuterį
Pirmas žingsnis. Tam, kad pradėti darbą su Arduino kompiuteryje kuris naudoja Microsoft Windows
operacinę sistemą reikia įdiegti tvarkykles ir programavimo aplinką (IDE). Atsisiųskite į savo kompiuterį
programinę įrangą iš
http://arduino.cc/en/Main/Software
ir ją įdiekite į kompiuterį. Dabar paimkit USB kabelį, kurį gavote kartu su Arduino ir įjunkite vieną galą į
kompiterį, o kitą į Arduino taip kaip parodyta 2.7 paveikslėlyje.
Ant Jūsų Arduino įsižiebs lemputės iš kurių viena pradės nuolatos mirksėti. Jei taip atsitiko vadinasi Jūsų
Arduino veikia, bet su kompiuteriu dar nebendrauja. Kompiuteris aptiks naują USB įrenginį kuriam pasiūlys
diegti tvarkykles, tačiau atomatinė paieška neduos rezultato. Nustatyte, kad tvarkyklės sistema ieškotų
kataloge c:\Arduino-1.0.4\drivers (kiekviename kompiuteryje vieta ir pavadinimai gali šiek tiek skirtis).
Kompiteris aptiks tvarkykles ir jas įdiegs. Norėdami patikrinti ar viskas tvarkoje spustelėkite dešinį pelės
klavišą ant piktogramos „My Computer“ ir pasirinkite „Properties“, o po to „Devices“. Ties USB įrenginiais
turi atsirasti užrašas kad prijungtas Arduino. Jei ties USB įrenginiu yra šauktukas tai pakartokite tvarkyklės
diegimą. Angliška detali instrukcija yra čia:
http://arduino.cc/en/Guide/Windows
15
2.5. Arduino programavimo aplinka (IDE). Mirksiukas
Diegdami tvarkykles mes jau įdiegėme programavimo aplinką. Dabar ją reikai paleisti. Paleiskite failą
c:\arduino-1.0.5\arduino.exe ekrane pamatysite langą koks pavaizduotas 2.8 pav. :
2.8 pav.
Programinis kodas:
void setup() {
// Priskiriame skaitmeninę jungtį kaip išėjimą
// jungtis Nr.13 turi prijungtą LED. Taip yra faktiškai visuose Arduino
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // Nurodoma įjungti LED
delay(1000); // Nurodoma laukti 1 sekundę
digitalWrite(13, LOW); // Nurodoma išjungti LED
delay(1000); // Nurodoma laukti 1 sekundę
}
16
Tekstas po ženklo „//“ traktuojamas kaip komentaras kuris užsibaigia eilutės pabaigoje
Tekstas po ženklo „/*“ traktuojamas kaip komentaras net ir kitoje eilutėje kol nesutinkamas ženklas “*/“,
kuris reiškia, kad komentaras baigėsi. IDE aplinka komentarų tekstą ignoruoja. Rekomenduojama rašyti
komentarus tam, kad ir pats autorius po kurio laiko galėtų susigaudyti ką suprogramavo.
Spaudžiame „Upload“ ir žiūrim į rezultatą. Jei programa atsakė „OK“ reiškia žiūrim į LED kaip jis mirksi. Jei
ne, ieškome klaidos. Pabandykite pakeisti komandos „delay“ skliausteliuose esančius skaičius ir įkelkite
programą iš naujo. Kitoks rezultatas?
17
Praktinis darbas Nr. 3. Šviesoforas
Sukursime šviesoforą, kuris veiks kaip šviesoforas mūsų gatvėse. Įsižiebs raudona, raudona ir geltona, žalia,
geltona ir vėl iš naujo. Šis projektas gali būti panaudotas traukinukų modeliams arba žaisliniam miesto
modeliui.
18
Programinis kodas:
void setup() {
pinMode(redPin, OUTPUT);
pinMode(yellowPin, OUTPUT);
pinMode(greenPin, OUTPUT);
}
void loop () {
// Nurodoma įjungti raudoną šviesą
digitalWrite(redPin, HIGH);
delay(ledDelay); // Nurodoma palaukti 5 sekundes
19
Praktinis darbas Nr. 4. Šviesos jutiklio prijungimas
Šiame darbe bus parodoma, kaip šviesos jutiklis (fotorezistorius) reaguoja į šviesos pritemdymą.
4.1 pav.
20
Programinis kodas:
// Priskiriami kintamieji:
int sensorValue = 0; // Nurodoma jutiklio vertė
int sensorMin = 1023; // Nurodoma minimali jutiklio reikšmė
int sensorMax = 0; // Nurodoma maksimali jutiklio reikšmė
void setup() {
// Nurodoma įjungti LED kuris duoda signalą pradėti kalibravimą :
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
void loop() {
// Nurodoma nuskaityti jutiklį:
sensorValue = analogRead(sensorPin);
// atveju kai jutiklio vertė yra didesnė nei turi būti kalibravimo metu
sensorValue = constrain(sensorValue, 0, 255);
21
Praktinis darbas Nr. 5. Temperatūros matavimas
Temperatūros matavimams naudosime mažą ir paprastą DFRobot termometro modulį DS18B20, kuris yra
lengvai prijungiamas prie Arduino bet kurio skaitmeninio įėjimo. Šio prietaiso temperatūros matavimo ribos
yra nuo -550C ~ +125 0C, mažiausia padala yra nuo 0.5 0C. Norint įgalinti šį termometrą veikti, būtina
atsisiųsti ir įsikelti jo biblioteką.
Išėjos reikšmės:
1. Įėjimas
2. Įtampos padavimas
3. Žemė
Jungimo schema:
Programinis kodas:
#include <OneWire.h>
22
//Temperature chip i/o
OneWire ds(DS18S20_Pin); // 3 skaitmeniniam
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
float temperature = getTemp();
Serial.println(temperature);
float getTemp(){
byte data[12];
byte addr[8];
if ( !ds.search(addr)) {
ds.reset_search();
return -1000;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1); // Pradeda koversaciją pabaigoje su parazitine galia
ds.reset_search();
return TemperatureSum;
23
Praktinis darbas Nr. 6. Nuotolio matavimas
Šiame darbe mes naudosime ultragarsinį nuotolio matavimo modulį DFRobot URM37 3.2 versija. Tokio tipo
moduliai tinka bet kokiems bandymams, kuriuose reikia atlikti matavimus tarp judančių arba nejudančių
objektų. Modulis matuoja atstumą, naudodamas sonarą, kuris siunčia ultragarsinį impulsą ir skaičiuoja laiką
iki sugrįžtant pulso aidui atgal į sonarą. Žmogaus klausa ultragarso negirdi, nes jo dažnis yra didesnis už
žmogui girdimą ruožą.
Šis modulis naudoja AVR procesorių. Jis turi temperatūros jutiklį, trijų išėjų (OUTPUT) režimus (PWM,
RS232, TTL), atskirą kanalą servo variklio valdymui. Norint įgalinti šį modulį veikti, būtina atsisiųsti ir įsikelti
jo biblioteką.
Išėjos režimas yra keičiamas trumpikliais, esančiais jutiklio gale. Šiame darbe mes turėsime modulį perjungti
į TTL režimą. Tai parodyta apačioje 6.2 ir 6.3 paveikslėliuose.
24
Jungimo schema:
Programinis kodas:
Taip atrodo programinis kodas, kurį įkėlus ir sujungus schemą, sensorius skaičiuos atstumą.
// # Priskyrimas:
// # VCC (Arduino) -> Pin 1 VCC (URM37 V3.2)
// # GND (Arduino) -> Pin 2 GND (URM37 V3.2)
// # Pin 6 (Arduino) -> Pin 9 TXD (URM37 V3.2)
// # Pin 7 (Arduino) -> Pin 8 RXD (URM37 V3.2)
// #
#include "URMSerial.h"
URMSerial urm;
void setup() {
25
urm.begin(6,7,9600); // Nurodo prie kurių įėjimų yra pajungta RX, TX Pin ir
duomenų perdavimo greitis
Serial.println("URM37 Library by Miles Burton");
void loop()
{
Serial.print("Measurement: ");
Serial.println(getMeasurement()); // Išėjimo matavimas
delay(50);
}
return -1;
}
Norint pamatyti kaip yra skaičiuojamas atstumas, reikia Arduino programoje įsijungti Serial monitor režimą.
Šis režimas yra įjungiamas paspaudus ant Tools ir pasirinkus Serial monitor, arba tiesiog paspaudžiant Ctrl+
Shift+M. Norint matyti tinkamus matavimus, turi būti pasirinkta New line ir 9600 baud.
26
Praktinis darbas Nr. 7. Robotas su jutikliais
Roboto (7.1 pav.) konstravimas bus paskutinis praktinis darbas – turimų žinių apie jutiklius taikymo
pavyzdys. Taip pat išmoksime Arduino pagalba valdyti nuolatinės srovės (DC) variklius, naudodami specialų
variklių valdymo skydelį.
Trumpas roboto veikimo principo aprašymas
Pirmiausia, reikės susirinkti roboto važiuoklę 7.3 pav. Ją konstruosime panaudodami Magician
chassis – DG007 rinkinį. Važiuoklės surinkimo instrukciją rasite 5 priede.
7.3 pav.
Kitas žingsnis yra Arduino plokštės tvirtinimas ant roboto važiuoklės ir variklių valdymo skydelio
uždėjimas kaip parodyta 7.4 pav.
7.4 pav. Arduino plokštės ir variklių valdymo skydelio tvirtinimas ant roboto važiuoklės
28
7.3. Nuolatinės srovės (DC) variklių valdymas
Norint su Arduino mikrovaldikliu valdyti variklį ar kelis variklius, patogiausia naudoti tam skirtą skydelį.
Šiame darbe bus naudojamas DFRobot L298N nuolatinės srovės variklių valdymo skydelis.
Šis skydelis gali valdyti nuolatinės srovės variklius, dvifazius ar keturfazius žingsninius variklius su
maksimalia 2A stiprumo srove.
Skydelis yra lengvai užmaunamas ant Arduino plokštės viršaus (7.5 pav.).
29
7.6 pav. Nuolatinės srovės variklių prijungimas prie DFRobot L298N skydelio
Programinis kodas:
Per Arduino programinę įrangą įkelsime paprastą variklių valdymo kodą. Kodas atrodo taip:
30
7.4. Nuotolio matavimo modulio prijungimas
7.7 pav. Variklių valdymo skydelio ir nuotolio matavimo modulio prijungimas prie Arduino plokštės
31
Nuotolio matavimo modulis turi būti nustatytas į TTL rėžimą kaip pavaizduota 7.8 pav..
32
Programinis kodas:
// Praktinis darbas Nr.7 – Robotas su jutikliais
#include <inttypes.h>
#include "URMSerial.h"
void motorInit(void)
{
pinMode(DIR1, OUTPUT);
pinMode(DIR2, OUTPUT);
}
last_speed1 = speed1;
last_speed2 = speed2;
if (speed1 < 0)
{
digitalWrite(DIR1, LOW);
analogWrite(PWM1, abs(speed1));
}
else
{
digitalWrite(DIR1, HIGH);
analogWrite(PWM1, abs(speed1));
}
if (speed2 < 0)
{
digitalWrite(DIR2, LOW);
analogWrite(PWM2, abs(speed2));
}
else
{
digitalWrite(DIR2, HIGH);
analogWrite(PWM2, abs(speed2));
}
Serial.print("MoveRamp: ");
Serial.print(speed1, DEC);
Serial.print(", ");
Serial.print(speed2, DEC);
Serial.print(", ");
Serial.println(dly, DEC);
while ((speed1 != temp_speed1) ||
(speed2 != temp_speed2))
{
if (temp_speed1 > speed1)
temp_speed1--;
else if (temp_speed1 < speed1)
temp_speed1++;
URMSerial urm;
void setup() {
void loop()
{
return -1;
}
Taigi, telieka ištraukti USB laidą ir prijungti maitinimą iš elementų, esančių robote.
35
Informaciniai šaltiniai Priedas Nr.1
6. Komponentai, įranga:
Fotorezistorius:
http://www.dfrobot.com/index.php?route=product/product&path=36_58&product_id=613#.
UaKAgpxmMUM
36
1.2. Arduino aprašymai, pamokos, projektai
Anglų kalba:
http://www.arduino.cc/
http://learn.adafruit.com/category/learn-arduino
http://todbot.com/blog/bionicarduino/
http://www.ladyada.net/learn/arduino/index.html
http://opensourcehardwarejunkies.com/arduino-course-for-absolute-beginners/
http://www.jeremyblum.com/category/arduino-tutorials/
http://tronixstuff.wordpress.com/tutorials/
http://www.sweeting.org/mark/blog/category/geeky/arduino
http://www.instructables.com/id/Arduino-home-energy-monitor-shield/
http://www.theparsley.com/arduino/diy/
http://lab.guilhermemartins.net/2009/05/06/paperduino-prints/
Lietuvių kalba:
http://elektronika.inforeg.lt/kontroleris/69-arduino-kas-tai-ir-kam-to-reikia
http://www.armandas.lt/?page=2
http://www.arvydas.net/robotas-is-zaislines-masineles#more-710
http://www.savaitgalioprojektai.lt/
http://www.darysiupats.lt/knygos/knyga-arduino-visiems.html
http://www.darysiupats.lt/knygos/knyga-arduino-programuotojo-bloknotas.html
http://rem-blog.net/
Lenkų kalba:
http://pccode.pl/raspberry-pi-i-zestaw-duzego-masterkowicza/
Rusų kalba:
http://witharduino.blogspot.com/
http://nnm.ru/blogs/e-troll/chto-takoe-arduino/
http://rezoh.ru/?page_id=1434
http://www.arduino.ru/Reference
http://arduino.ru/projects
37
http://arduino-ru.blogspot.com/
http://amperka.ru/
http://wiki.amperka.ru/ daug medžiagos.
http://diy-blog.net/category/remont-elektroniki/uroki-arduino/
http://edugalaxy.intel.ru/index.php?automodule=blog&blogid=9960&showentry=1294 Čia yra
specialiai mokytojams skirtos nuorodos
http://robocraft.ru/page/summary/
http://robocraft.ru/blog/arduino/104.html
http://robocraft.ru/blog/arduino/95.html
http://robocraft.ru/blog/arduino/782.html
http://mk90.blogspot.com/
http://www.linuxformat.ru/ Šiam žurnale daug straipsnių apie arduino ir raspberry pi
Video pamokos:
http://www.youtube.com/playlist?list=PL944BA86E715C5FEE Viso 19 pamokų.
1.3. Raspberry Pi
http://www.raspberrypi.org/
http://www.element14.com/community/groups/raspberry-pi
http://learn.adafruit.com/category/raspberry-pi
http://www.doctormonk.com/2012/06/raspberry-pi-and-wireless-sensor.html
http://www.doctormonk.com/2012/08/review-of-raspberry-pi-prototyping.html
http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-
uart?utm_source=rss&utm_medium=rss&utm_campaign=raspberry-pi-and-arduino-via-gpio-uart
1.5. Programos
38
Arduino komandos ir išvadai Priedas Nr. 2
39
Arduino programavimo aplinka (IDE) Priedas Nr. 3
1. Verify: patikrina programinį kodą, kurį Jūs parašėte srityje Nr. 8. Paspaudus Jums bus parodyta kokias
klaidas padarėte ir kurioje vietoje. Jei klaidų nėra Jums apie tai bus pranešta.
2. Upload: perkelia programinį kodą į Arduino plokštę. Kai nuspausite mygtuką ant plokštės esančios LED
TX ir RX mirksės – tai reiškia kad kodas įkeliamas.
3. New: atidaromas naujas, tusčias programinio kodo langas.
4. Open: atidarys Jūsų jau sukurtą programinį kodą iš failo kompiuteryje. Programinio kodo failas
vadinamas “Sketch”.
5. Save: Išsaugos Jūsų sukurtą programinį kodą į failą kompiuteryje.
6. Serial Monitor: atidarys serijinio ryšio langą kuriame galėsite matyti kokią informaciją Arduino rodo.
7. Sketch name: Jūsų failo pavadinimas su kuriuo Jūsų dabar dirbate.
8. Code area: vieta kurioje rašomas programinis kodas.
9. Message area: vieta kur Arduino IDE aplinka Jus informuoja apie klaidas ir problemas.
40
Arduino programavimo kalbos apžvalga Priedas Nr. 4
Arduino programavimui naudojama C kalba. Ši trumpa apžvalga skirta tiems, kas turi bet kurios kitos
programavimo kalbos pagrindus ir supažindina su C kalbos ypatumais.
Jei kai kurios sąvokos atrodys neįprastos, nenusiminkite, dirbant daug kas taps labiau suprantama. Daugiau
informacijos ieškokite anglų k. http://Arduino.cc puslapyje arba http://arduino.ru/Reference rusų kalba.
Struktūra
Kiekviena Arduino programa (kūrėjų dar vadinama sketch – piešinuku, nes Arduino – tai C kalba
“menininkams”) privalo turėti dvi funkcijas (jos kartais dar vadinamos paprogramėmis - routines).
void setup() { }
kodas esantis tarp riestinių skliaustų { } vykdomas vieną kartą, kai programa startuoja.
void loop() { }
Ši funkcija vykdoma po nustatymų funkcijos. Tai nuolat besikartojantis ciklas.
Sintaksė
Vienas iš sunkiau įsisavinamų C kalbos elementų yra jos sintaksė. Bet būtent sintaksė suteikia C kalbai ypač
daug galimybių.
// Vienos eilutės komentarai
Programuotojai dažnai rašo kodo paaiškinimus, kurie skirti jiems patiems ir bet kam kas skaitys jų
programą. Norėdami parašyti trumpą komentarą tiesiog įveskite // ir toje eilutėje parašytą tekstą
programa ignoruos.
/* */ kelių eilučių komentaras
Jei reikia ką nors pakomentuoti plačiau, surinkite /* pradžioje ir */ pabaigoje teksto. Tarp šių simbolių
esantis komentaras bus praleistas vykdant programą.
{ } Riestiniai skliaustai
Jie pažymi kur prasideda ir kur baigiasi tam tikras kodo segmentas. Naudojami funkcijose, taip pat cikluose.
; Kabliataškis
Kiekvienos kodo eilutės pabaigoje turi būti kabliataškis. Praleisti kabliataškiai -dažna programos kodo
kompiliavimo klaidų priežastis.
Kintamieji
Programa tėra instrukcija kaip manipuliuoti duomenimis tam tikru būdu. Kintamieji padeda tai daryti
paprasčiau.
int (integer)
Tai kintamųjų darbinis arkliukas. Jis naudojama sveikiesiem (be kablelių) skaičiams nuo -32 768 iki 37 767.
Skaičiai užima 2 baitus (16 bitų) atminties.
long
naudojamas dideliems skaičiams, kai neužtenka int. Užima 4 baitus (32 bitus) RAM atminties.
Talpina skaičius nuo -2 147 483 648 iki 2 147 483 647.
boolean
Paprastas kintamasis kurio reikšmės gali būti tiesa (True) arba netiesa (False). naudingas tuo, kad užima tik
1 RAM atminties bitą.
float
naudojamas operacijoms su realiaisiais skaičiais. Užima 4 baitus (32 bitus) RAM atminties ir apima skaičius
nuo -3.4028235E+38 iki 3.4028235E+38.
char
Talpina ASCII kodo simbolius (raides, skaičius, simbolius). (Pvz. A = 65 ). Užima 1 baitą (8 bitus ) RAM
atminties. Arduino naudoja tekstą kaip char simbolių masyvus.
41
Aritmetika nnnnnnnnvvvvvvvvvvvvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Operatoriai naudojami veiksmams su skaičiais, labai panašiai kaip įprastoje matematikoje.
= (priskyrimas) suteikia tam tikrą reikšmę (dažniausiai kintamajam). Pvz. x = 10 * 2 , dabar x reikšmė
bus lygi 20.
% (modulis) atskiria dalybos veiksmo liekaną. Pvz. 12 % 10 bus lygu 2.
+ (sudėtis)
- (atimtis)
* (daugyba)
/ (dalyba)
Palyginimo operatoriai naudojami loginiam palyginimui.
== (lygu), pvz. veiksmo 12 == 10 rezultatas bus FALSE - netiesa; 12 == 12 rezultatas bus TRUE - tiesa.
!= (nelygu) Pvz. 12 != 10 yra TRUE - tiesa, 12 != 12 yra FALSE - netiesa.
< (mažiau negu) Pvz. 12 < 10 yra FALSE - netiesa; 12 < 14 yra TRUE - tiesa.
> (daugiau negu) Pvz. 12 > 10 yra TRUE - tiesa; 12 > 12 yra FALSE - netiesa.
Programos valdymas
Programos veikia tam tikra seka. Priklausomai nuo tam tikrų sąlygų vykdymo seka gali keistis.
if(sąlyga - condition){ }
else if (sąlyga - condition){ }
else { }
Čia tarp riestinių skliaustų { } esantis kodas bus vykdomas jei sąlygos kodo reikšmė bus TRUE. Jei sąlygos
kodo reikšmė bus FALSE - netiesa, toliau bus tikrinama sąlyga po else if ir jei sąlygos reikšmė yra
FALSE, galiausiai vykdomas kodas { }skliausteliuose po else.
42
Magician chassis – DG007 surinkimo instrukcija Priedas Nr. 5
43
44
Šis kūrybinis darbas gali būti kopijuojamas, platinamas, rodomas, o t.p. naudojamas išvestiniams darbams,
su sąlyga, kad autorinis darbas bus priskirtas autoriui taip, kai tai apibrėžia autorius;
su sąlyga, kad autorinis darbas nebus naudojamas komerciniams tikslams;
visi išvestiniai darbai, kurie yra sukurti perrašinėjant, permaketuojant ar kitaip perredaguojant pirminį darbą,
turi būti priskirti analogiškai arba kitai, suderinamai licencijai.
45