Čia matote skirtumus tarp pasirinktos versijos ir esamo dokumento.
Both sides previous revision Previous revision Next revision | Previous revision | ||
projektas_nr.5 [2015/11/16 19:13] simonas |
projektas_nr.5 [2015/12/03 13:51] (esamas) valius.benas |
||
---|---|---|---|
Linija 2: | Linija 2: | ||
**Ką darome** | **Ką darome** | ||
- | Iki šio momento mes visiškai susitelkdavome į išvestis, laikas priversti „Arduino“ klausyti mūsų, žiūrėkite ir pajauskite. Pradėsime nuo paprasto paspaudžiamojo mygtuko. Paspaudžiamojo mygtuko ,,instaliacija“ yra gana paprasta. Tėra vienas komponentas „pakeliamasis rezistorius“(the pull up resistor), kuris gali atrodyti ne savo vietoje. Jis pridedamas todėl, kad „Arduino“ nejaučia taip pat kaip mes (pvz: mygtukas paspaustas, mygtukas nepaspaustas). Vietoje jautimo, rezistorius žiūri į kaiščio(pin) įtampą ir nusprendžia ar ji aukšta(HIGH), ar žema(LOW). Mygtukas kontakto įtampą nustato kaip žemą (LOW) kada jis yra paspaustas, tačiau, kada mygtukas yra nepaspaustas, kaiščio(pin) įtampa „plūduriuos“ (sukeldama atsitiktinių problemų). Kad „Arduino“ patikimai nuskaitytų kaiščio(pin) įtampą kaip aukštą(HIGH) mygtukui esant nepaspaustam, mes pridedame pakeliamąjį rezistorių (the pull up resistor). (Pastaba: pirmajame pavyzdyje naudojamas tiktai vienas mygtukas iš dviejų) | + | Iki šio momento mes visiškai susitelkdavome į išvestis, laikas priversti „Arduino“ klausyti mūsų, žiūrėkite ir pajauskite. Pradėsime nuo paprasto mygtuko, kurio panaudojimas yra gana nesudėtingas. Jungiant mygtuką prie „Arduino“ reikės tik vieno papildomo komponeno - „pakeliamojo“ rezistoriaus (the pull up resistor), kuris gali atrodyti ne savo vietoje, tačiau yra kritiškai reikalingas. Jis pridedamas todėl, kad „Arduino“ „jaučia“ kitaip nei mes (pvz: mygtukas paspaustas, mygtukas nepaspaustas). „Arduino“ „jaučia“ kaiščio (pin), kurį mes naudojame kaip įvestį, įtampą ir nusprendžia ar ji aukšta(HIGH), ar žema(LOW). Mygtukas kontakto įtampą nustato kaip žemą (LOW) kada jis yra paspaustas, tačiau, kada mygtukas yra nepaspaustas, kaiščio(pin) įtampa „plūduriuos“ (sukeldama atsitiktinių problemų). Kad „Arduino“ patikimai nuskaitytų kaiščio(pin) įtampą kaip aukštą(HIGH) mygtukui esant nepaspaustam, mes pridedame pakeliamąjį rezistorių (the pull up resistor). (Pastaba: pirmajame pavyzdyje naudojamas tiktai vienas mygtukas iš dviejų) |
**Grandinės dalys** | **Grandinės dalys** | ||
*CIRC-07 maketo plokštės šablonas x1 | *CIRC-07 maketo plokštės šablonas x1 | ||
*Dviejų kontaktų kištukai x4 | *Dviejų kontaktų kištukai x4 | ||
- | *Spaudžiamieji mygtukai x2 | + | *Mygtukai x2 |
*Laidas x3 | *Laidas x3 | ||
- | *10 kΩ rezistorius (Rudas-juodas-oranžinis) x2 | + | *10kΩ rezistorius (Rudas-juodas-oranžinis) x2 |
- | *560 omų rezistorius (Žalias-mėlynas-rudas) x1 | + | *560Ω rezistorius (Žalias-mėlynas-rudas) x1 |
*Raudonas LED x1 | *Raudonas LED x1 | ||
Linija 31: | Linija 31: | ||
[[http://ardx.org/VIDE07|Surinkimo video]] | [[http://ardx.org/VIDE07|Surinkimo video]] | ||
- | Suprasti kodą nėra sudėtinga, galima būtų jį parašyti patiems, tačiau galite jį nukopijuoti, nuo /* iki */ (ARDUINO PROGRAMOJE IŠTRINKITE ŠIUOS ŽENKLUS!) | + | Suprasti kodą nėra sudėtinga, galima būtų jį parašyti patiems, bet mes jį jau pateikėme jums žemiau. |
(jei norite paieškoti įvairių kūribingu grandinės pavyzdžių ar gerų įdėjų, eikite į arduino.cc internetinį puslapį) | (jei norite paieškoti įvairių kūribingu grandinės pavyzdžių ar gerų įdėjų, eikite į arduino.cc internetinį puslapį) | ||
- | Mygtukas įjungia ir išjungia spinduliuojantį šviesos diodą (LED), prijungtą prie 13 skaitmeninio kaiščio (pin 13), kol spaudinėjame stūmoklio mygtuką prijungtą prie 7 kaiščio (pin 7). | + | Nuspaudus mygtukas, prijungtą prie 2 kaiščio (pin 2), išjungia šviesos diodą (LED), prijungtą prie 13 skaitmeninio kaiščio (pin 13), o mygtuką atleidus šviesos diodas vėl įsižiebs. |
- | **Grandinė:** | + | **Grandinė:**\\ |
- | LED prijungtas iš 13 kaiščio (pin 13) į neigiamą šaltinio polių \\ | + | LED prijungtas iš 13 kaiščio (pin 13) į neigiamą šaltinio polių (GND) per 560Ω rezistorių\\ |
- | Mygtukas – kurį spausime, pridėtas prie antrojo kaiščio (pin 2) iš (+5V)\\ | + | Mygtukas – kurį spausime, prijungtas prie antrojo kaiščio (pin 2) iš (GND)\\ |
- | 10K rezistorius pridėtas prie 2 kaiščio (pin 2) ir eina iš neigiamo šaltinio poliaus (įžeminimo) | + | 10K rezistorius pridėtas prie 2 kaiščio (pin 2) ir eina iš +5V |
- | Pastaba: daugelyje „Arduino“ schemų jau yra ledas (LED) ant „lentos“ prijungtas į 13 kaištį (pin 13). | + | Pastaba: daugelyje „Arduino“ jau yra šviesos diodas (LED) pačioje plokštėje ir prijungtas prie 13 kaiščio (pin 13). |
[[http://www.arduino.cc/en/Tutorial/Button|]] | [[http://www.arduino.cc/en/Tutorial/Button|]] | ||
Linija 53: | Linija 53: | ||
// kintamieji pasikeis: | // kintamieji pasikeis: | ||
- | int buttonState = 0; // kintamasis spaudžiamajo mygtuko nuskaitymui ir būsenai. | + | int buttonState = 0; // kintamasis mygtuko nuskaitymui ir būsenai. |
void setup() { | void setup() { | ||
- | // Inicijuojame ledo(LED) kaištį(pin) kaip išeigą: | + | // Inicijuojame šviesos diodo(LED) kaištį(pin) kaip išeigą: |
pinMode(ledPin, OUTPUT); | pinMode(ledPin, OUTPUT); | ||
- | // Inicijuojame ledo(LED) kaištį(pin) kaip įeigą: | + | // Inicijuojame mygtuko kaištį(pin) kaip įeigą: |
pinMode(buttonPin, INPUT); | pinMode(buttonPin, INPUT); | ||
} | } | ||
void loop(){ | void loop(){ | ||
- | // perskaitome spaudžiamojo mygtuko vertės būklę: | + | // nuskaitome mygtuko būklę: |
buttonState = digitalRead(buttonPin); | buttonState = digitalRead(buttonPin); | ||
- | // patinkriname ar spaudžiamasis mygtukas yra paspaustas. | + | // patinkriname ar mygtukas yra paspaustas. |
- | // jeigu jis paspaustas, spaudžiamojo mygtuko būsena yra aukšta(HIGH): | + | // jeigu jis paspaustas, mygtuko būsena yra žema (LOW): |
if (buttonState == HIGH) { | if (buttonState == HIGH) { | ||
- | // Įjungiame ledą(LED): | + | // Įjungiame šviesos diodą(LED): |
digitalWrite(ledPin, HIGH); | digitalWrite(ledPin, HIGH); | ||
} | } | ||
else { | else { | ||
- | // Kitais atvejais išjungiame ledą(LED): | + | // Kitais atvejais išjungiame šviesos diodą(LED): |
digitalWrite(ledPin, LOW); | digitalWrite(ledPin, LOW); | ||
} | } | ||
Linija 80: | Linija 80: | ||
- | **Neveikia?** Du sprendimo būdai: | + | **Neveikia? Du sprendimo būdai:** |
- | Šviesa neįsijungia - spaudžiamasis mygtukas yra keturkampis ir dėl šios priežasties yra lengva jį įstatyti ne ta puse. Perstatykite spaudžiamąjį mygtuką 90 laipsnių kampu ir pažiūrėkite ar grandinė veikia. | + | *Šviesa neįsijungia - mygtukas yra keturkampis ir dėl šios priežasties yra lengva jį įstatyti ne ta puse. Perstatykite mygtuką 90 laipsnių kampu ir pažiūrėkite ar grandinė veikia. |
- | Šviesa negęsta (nebluksta) - kvailoka klaida, kurią visi kartais padarome, kada pereinate nuo šviesos įjungimo iki jos blukimo, nepamirškite perdėti LED'o laidą iš 13 kaiščio (pin 13) į 9 kaištį(pin 9). | + | *Šviesa negęsta (nebluksta) - kvailoka klaida, kurią visi kartais padarome, kada pereinate nuo šviesos įjungimo iki jos blukimo, nepamirškite perdėti LED'o laidą iš 13 kaiščio (pin 13) į 9 kaištį(pin 9). |
**Kodėl gi nepadarius geresnės programos?** | **Kodėl gi nepadarius geresnės programos?** | ||
- | + | **Įjungimo mygtukas, išjungimo mygtukas:** | |
- | **Įjungimo mygtukas išjungimo mygtukas:** | + | Sunkesnis, bet irgi įdomus pavyzdys, kai vienas mygtukas įjungs LED'ą, o kitas - išjungs. Pakeiskite kodą į: |
- | Sunkesnis bet irgi įdomus pavyzdys, vienas mygtukas įjungs LED'ą, kitas išjungs. Pakeiskite kodą į: | + | |
<code> | <code> | ||
int ledPin = 13; // pasirinkite kaištį (pin) ledui (LED) | int ledPin = 13; // pasirinkite kaištį (pin) ledui (LED) | ||
Linija 115: | Linija 114: | ||
Mygtukus galime panaudoti analoginio signalo valdymui. Tam reiks pakeisti LED'o laidą iš pin 13 į pin 9, taip pat pakeisti kodo eilutę: | Mygtukus galime panaudoti analoginio signalo valdymui. Tam reiks pakeisti LED'o laidą iš pin 13 į pin 9, taip pat pakeisti kodo eilutę: | ||
- | <code>int ledPin = 13; </code Keisime šitaip: <code> int ledPin = 9; </code> | + | <code> int ledPin = 13; </code> |
+ | |||
+ | Keisime šitaip: | ||
+ | |||
+ | <code> int ledPin = 9; </code> | ||
Toliau keičiame - loop() procedūrą. | Toliau keičiame - loop() procedūrą. | ||
+ | |||
<code> | <code> | ||
int value = 0; | int value = 0; | ||
Linija 130: | Linija 134: | ||
| | ||
**Blukimo greičio keitimas:** | **Blukimo greičio keitimas:** | ||
- | Jeigu norėtumėte pakeisti LED'o šviesos blukimo greitį iš didesnio į mažesnį arba atvirkščiai, tėra viena eilutė kode, kurią keičiame; | + | Jeigu norėtumėte pakeisti LED'o šviesos blukimo greitį iš didesnio į mažesnį arba atvirkščiai, yra viena eilutė kode, kurią keičiame: |
<code> | <code> | ||
delay(10); | delay(10); |