projektas_nr.5
Skirtumai
Čia matote skirtumus tarp pasirinktos versijos ir esamo dokumento.
| Kitas pataisymas | Previous revision | ||
| projektas_nr.5 [2015/10/25 17:49] – sukurtas 193.219.47.27 | projektas_nr.5 [2015/12/03 13:51] (esamas) – valius.benas | ||
|---|---|---|---|
| Linija 1: | Linija 1: | ||
| - | **Projektas Nr. 5. Spaudziame | + | ====== |
| + | |||
| + | **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 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), | ||
| + | |||
| + | **Grandinės dalys** | ||
| + | *CIRC-07 maketo plokštės šablonas x1 | ||
| + | *Dviejų kontaktų kištukai x4 | ||
| + | *Mygtukai x2 | ||
| + | *Laidas x3 | ||
| + | *10kΩ rezistorius (Rudas-juodas-oranžinis) x2 | ||
| + | *560Ω rezistorius (Žalias-mėlynas-rudas) x1 | ||
| + | *Raudonas LED x1 | ||
| + | |||
| + | **Principinė schema** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Surinkimo šablonas** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Surinkta grandinė** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | **Šaltiniai** | ||
| + | |||
| + | [[http:// | ||
| + | [[http:// | ||
| + | |||
| + | 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į) | ||
| + | |||
| + | 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. | ||
| + | |||
| + | |||
| + | | ||
| + | LED prijungtas iš 13 kaiščio (pin 13) į neigiamą šaltinio polių (GND) per 560Ω rezistorių\\ | ||
| + | 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š +5V | ||
| + | |||
| + | Pastaba: daugelyje „Arduino“ jau yra šviesos diodas (LED) pačioje plokštėje ir prijungtas prie 13 kaiščio (pin 13). | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | < | ||
| + | |||
| + | // konstantos nekis, jos naudojamos pakeisti kaiščių „rodmenis“ : | ||
| + | const int buttonPin = 2; // the number of the pushbutton pin | ||
| + | const int ledPin = 13; // the number of the LED pin | ||
| + | |||
| + | // kintamieji pasikeis: | ||
| + | int buttonState = 0; // kintamasis mygtuko nuskaitymui ir būsenai. | ||
| + | |||
| + | void setup() { | ||
| + | // Inicijuojame šviesos diodo(LED) kaištį(pin) kaip išeigą: | ||
| + | pinMode(ledPin, | ||
| + | // Inicijuojame mygtuko kaištį(pin) kaip įeigą: | ||
| + | pinMode(buttonPin, | ||
| + | } | ||
| + | |||
| + | void loop(){ | ||
| + | // nuskaitome mygtuko būklę: | ||
| + | buttonState = digitalRead(buttonPin); | ||
| + | |||
| + | // patinkriname ar mygtukas yra paspaustas. | ||
| + | // jeigu jis paspaustas, mygtuko būsena yra žema (LOW): | ||
| + | if (buttonState == HIGH) { | ||
| + | // Įjungiame šviesos diodą(LED): | ||
| + | digitalWrite(ledPin, | ||
| + | } | ||
| + | else { | ||
| + | // Kitais atvejais išjungiame šviesos diodą(LED): | ||
| + | digitalWrite(ledPin, | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | **Neveikia? Du sprendimo būdai:** | ||
| + | |||
| + | *Š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). | ||
| + | |||
| + | **Kodėl gi nepadarius geresnės programos? | ||
| + | **Įjungimo mygtukas, išjungimo mygtukas: | ||
| + | Sunkesnis, bet irgi įdomus pavyzdys, kai vienas mygtukas įjungs LED' | ||
| + | < | ||
| + | int ledPin = 13; // pasirinkite kaištį (pin) ledui (LED) | ||
| + | int inputPin1 = 3; // mygtukas 1 | ||
| + | int inputPin2 = 2; // mygtukas 2 | ||
| + | |||
| + | void setup() { | ||
| + | pinMode(ledPin, | ||
| + | pinMode(inputPin1, | ||
| + | pinMode(inputPin2, | ||
| + | } | ||
| + | |||
| + | void loop(){ | ||
| + | if (digitalRead(inputPin1) == LOW) { | ||
| + | digitalWrite(ledPin, | ||
| + | } | ||
| + | else if (digitalRead(inputPin2) == LOW) { | ||
| + | digitalWrite(ledPin, | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | Įkelkite kodą į savo programos lauką ir pradėkite perjunginėti LED. | ||
| + | |||
| + | **Blukimas stipryn ir silpnyn:** | ||
| + | Mygtukus galime panaudoti analoginio signalo valdymui. Tam reiks pakeisti LED'o laidą iš pin 13 į pin 9, taip pat pakeisti kodo eilutę: | ||
| + | |||
| + | < | ||
| + | |||
| + | Keisime šitaip: | ||
| + | |||
| + | < | ||
| + | |||
| + | Toliau keičiame - loop() procedūrą. | ||
| + | |||
| + | < | ||
| + | int value = 0; | ||
| + | void loop(){ | ||
| + | if (digitalRead(inputPin1) == LOW) { value--; } | ||
| + | else if (digitalRead(inputPin2) == LOW) { value++; } | ||
| + | value = constrain(value, | ||
| + | analogWrite(ledPin, | ||
| + | delay(10); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | **Blukimo greičio keitimas:** | ||
| + | Jeigu norėtumėte pakeisti LED'o šviesos blukimo greitį iš didesnio į mažesnį arba atvirkščiai, | ||
| + | < | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Įrašome savo norimą skaičių: | ||
| + | < | ||
| + | |||
| + | Kad padarytumėte šviesos blukimą greitesniu, keiskite numerį į dar mažesnį, lėtumas reikalauja didesnio numerio. | ||
| [[projektas_nr.6|Kitas projektas. Šviesa, fotorezistoriai.]] | [[projektas_nr.6|Kitas projektas. Šviesa, fotorezistoriai.]] | ||
| + | |||
| + | [[arduivadas_projektai|Atgal į projektus]] | ||
projektas_nr.5.1445788147.txt.gz · Keista: vartotojo 193.219.47.27
