Čia matote skirtumus tarp pasirinktos versijos ir esamo dokumento.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
projektas_nr.6 [2015/10/25 20:19] 193.219.47.27 |
projektas_nr.6 [2015/10/26 19:36] simonas |
||
---|---|---|---|
Linija 5: | Linija 5: | ||
**Grandinės dalys** | **Grandinės dalys** | ||
- | - CIRC-09 Maketo plokštės šablonas x1 | + | *CIRC-09 Maketo plokštės šablonas x1 |
- | - 2 kištukų kontaktas | + | *2 kištukų kontaktas |
- | - Fotorezistorius x1 | + | *Fotorezistorius x1 |
- | - Laidai x3 | + | *Laidai x3 |
- | - 10k rezistorius (Rudas-Juodas-Oranžinis) x1 | + | *10k rezistorius (Rudas-Juodas-Oranžinis) x1 |
- | - 560 rezistorius (Žalias-Mėlynas-Rudas) | + | * 560 rezistorius (Žalias-Mėlynas-Rudas) x1 |
- | - Žalias šviesos diodas x1 | + | * Žalias šviesos diodas x1 |
**Principinė schema** | **Principinė schema** | ||
+ | {{:ardu_pro61.jpg?300|}} | ||
**Grandinės šablonas** | **Grandinės šablonas** | ||
| | ||
+ | {{:ardu_pro62.jpg?300|}} | ||
**Surinkta grandinė** | **Surinkta grandinė** | ||
- | + | {{:ardu_pro63.jpg?600|}} | |
- | Šaltiniai | + | **Šaltiniai** |
- | .:Atsisiųsti:. Maketo plokštės šablono - http://ardx.org/BBLS09 | + | [[http://ardx.org/BBLS09|Maketo plokštės šablonas]] |
- | .:Žiūrėti:. Surinkimo vaizdo medžiaga - http://ardx.org/VIDE09 | + | [[http://ardx.org/VIDE09|Surinkimo video]] |
- | + | **Programos kodas** (nereikia visko spausdinti) | |
- | + | Atsisiųsti programos kodą: [[http://ardx.org/CODE09|]] | |
- | + | ||
- | + | ||
- | Programos kodas (nereikia visko spausdinti) | + | |
- | Atsisiųsti programos kodą: http://ardx.org/CODE09 | + | |
(nukopijuokite tekstą ir įklijuokite tuščiame Arduino IDE lange) | (nukopijuokite tekstą ir įklijuokite tuščiame Arduino IDE lange) | ||
+ | <code> | ||
/* | /* | ||
* A simple programme that will change the intensity of | * A simple programme that will change the intensity of | ||
Linija 80: | Linija 76: | ||
analogWrite(ledPin, lightLevel); //write the value | analogWrite(ledPin, lightLevel); //write the value | ||
} | } | ||
+ | </code> | ||
+ | **Neveikia?** (trys dalykai kuriuos galime padaryti) | ||
- | + | Šviesos diodas nešviečia - nuolatinė daroma klaida. Kad tik kas nors pagamintų LED diodą, šviečiantį prijungus bet kuria puse... Apsukite diodą priešingai. | |
- | + | Jis nereguoja į šviesos kiekio pakitimus - kadangi laidai aplink fotorezistorių arti vienas kito, juos lengva supainioti. Dar kartą įsitikinkite, kad viskas sujungta teisingai. | |
- | Neveikia? (trys dalykai kuriuos galime padaryti) | + | |
- | Šviesos diodas nešviečia Jis nereguoja į šviesos kiekio pakitimus Vis dar neveikia? | + | Vis dar neveikia? - Kambarys gali būti per šviesus arba per tamsus. Pabandykite pajunginėti šviesas, galbūt padės. Jei turite, pasišvieskite žibintuvėliu. |
- | This is a mistake we continue to make time and time again, if only they could make an LED that worked both ways. Pull it up and give it a twist. Given that the spacing of the wires on the photo-resistor is not standard, it is easy to misplace it. Double check its in the right place. You may be in a room which is either too bright or dark. Try turning the lights on or off to see if this helps. Or if you have a flashlight near by give that a try. | + | **Patobulinkime?** |
+ | **Atvirkščias atsakas:** | ||
+ | Jeigu norite atvirkščio atsako į šviesos pokyčius, pakeiskime kodo eilutę: | ||
+ | <code> analogWrite(ledPin, lightLevel); </code> Į tokią: | ||
+ | <code> analogWrite(ledPin, 255 - lightLevel); </code> | ||
+ | | ||
+ | Atsisiųskite į Arduino plokštę ir išbandykite. | ||
- | + | **Naktinis apšvietimas:** | |
- | Patobulinkime? | + | Vietoje to, kad LED ryškumas kistų nuo šviesos, pabandykime jį įjungti ar išjungti ties pasirinkta slenkstine verte. pakeiskime loop() kodą: |
- | + | <code> | |
- | Reverse the response: | + | |
- | Perhaps you would like the opposite response. Don't worry we can easily reverse this response just change: | + | |
- | + | ||
- | analogWrite(ledPin, lightLevel); | + | |
- | ----> analogWrite(ledPin, 255 - lightLevel); | + | |
- | + | ||
- | Upload and watch the response change: | + | |
- | + | ||
- | Night light: | + | |
- | Rather than controlling the brightness of the LED in response to light, lets instead turn it on or off based on a threshold value. Change the loop() code with. | + | |
void loop(){ | void loop(){ | ||
int threshold = 300; | int threshold = 300; | ||
Linija 113: | Linija 106: | ||
digitalWrite(ledPin, LOW); | digitalWrite(ledPin, LOW); | ||
} | } | ||
- | } | + | } </code> |
| | ||
- | Šviesa kontroliuoja servo variklį: | + | **Šviesa kontroliuoja servo variklį:** |
- | Lets use our newly found light sensing skills to control a servo (and at the same time engage in a little bit of Arduino code hacking). Wire up a servo connected to pin 9 (like in CIRC-04). Then open the Knob example program (the same one we used in CIRC-08) File > Examples > Library-Servo > Knob. Upload the code to your board and watch as it works unmodified. | + | Išbandykime savo naujus šviesos aptikimo įgūdžius valdydami servo motorą (ir tuo pačiu šiek tiek pažaisdami su Arduino kodu). Prijunkite servą prie kontakto 9 ([[projektas_nr.8|Servo pamoka]]. Atsidarykime valdymo svirtelės (Knob) pavyzdinę programą File > Examples > Library-Servo > Knob. Įveskite programėlės kodą į savo Arduino plokštę ir išbandykite nepakeisto kodo veikimą. |
- | + | ||
- | Using the full range of your servo: | + | Išbandykime visas servo galimybes: |
- | You'll notice that the servo will only operate over a limited portion of its range. This is because with the voltage dividing circuit we use the voltage on analog pin 0 will not range from 0 to 5 volts but instead between two lesser values (these values will change based on your setup). To fix this play with the val = map(val, 0, 1023, 0, 179); line. For hints on what to do visit http://arduino.cc/en/Reference/Map . | + | Pastebėsite, kad servo motoras veikia tik tam tikroje dalyje savo pilno diapazono. Su mūsų naudojama įtampos dalijimo grandine analoginiame kontakte 0 įtampa nebus intervale nuo 0 iki 5 voltų, o svyruos tarp dviejų mažesnių verčių (jos priklausys nuo jūsų naudojamos įrangos). Norėdami tai ištaisyti, pabandykite pakeitinėti reikšmes eilutėje |
+ | <code> | ||
+ | val = map(val, 0, 1023, 0, 179);</code>. | ||
+ | Daugiau instrukcijų šia tema rasite [[http://arduino.cc/en/Reference/Map|čia]]. | ||