User Tools

Site Tools


projektas_nr.6

Skirtumai

Čia matote skirtumus tarp pasirinktos versijos ir esamo dokumento.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projektas_nr.6 [2015/10/25 20:20]
193.219.47.27
projektas_nr.6 [2015/12/02 14:11] (esamas)
simonas
Linija 1: Linija 1:
 ====== Projektas Nr. 6. Šviesa – Fotorezistoriai ====== ====== Projektas Nr. 6. Šviesa – Fotorezistoriai ======
  
-**Ką darysime** +**Ką darysime?** 
-Potenciometras yra puikus įvesties įrankis žmogaus valdomuose bandymuose. Tačiau ką naudosime aplinkos valdomame bandyme? Vietoje pasukimu valdomos varžos (potenciometro) naudosime šviesa valdomą varžą (fotorezistorių). Arduino tiesiogiai nejaučia varžos, tačiau jaučia įtampą, taigi reiks nustatyti įtampos daliklį [[http://​ardx.org/​VODI|]]. Tiksli įtampa jutiklio kontakte yra apskaičiuojama,​ bet mūsų projektui (šviesos kiekio matavimui) galime pažaisti su reikšmėmis ir pasižiūrėti,​ kas mums labiausiai tiks. Žemos įtampos pasireikš, kai sensorius gerai apšviestas,​ o aukštos įtampos susidarys esant mažesniam apšvietimui. ​+Potenciometras yra puikus įvesties įrankis žmogaus valdomuose bandymuose. Tačiau ką naudosime aplinkos valdomame bandyme? Vietoje pasukimu valdomos varžos (potenciometro) naudosime šviesa valdomą varžą (fotorezistorių). ​Arduino“ tiesiogiai nejaučia varžos, tačiau jaučia įtampą, taigi reiks nustatyti įtampos daliklį [[http://​ardx.org/​VODI|]]. Tiksli įtampa jutiklio kontakte yra apskaičiuojama,​ bet mūsų projektui (šviesos kiekio matavimui) galime pažaisti su reikšmėmis ir pasižiūrėti,​ kas mums labiausiai tiks. Žemos įtampos pasireikš, kai sensorius gerai apšviestas,​ o aukštos įtampos susidarys esant mažesniam apšvietimui. ​
  
 **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|]]  
-  +(nukopijuokite tekstą ir įklijuokite tuščiame  ​Arduino“ IDE lange)  
- +<​code>​
-Programos kodas (nereikia visko spausdinti) +
-Atsisiųsti programos kodą: http://​ardx.org/​CODE09  +
-(nukopijuokite tekstą ir įklijuokite tuščiame ​ Arduino IDE lange)  +
 /* /*
  * 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 nereaguoja į š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 vertepakeiskime ​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 lightlets instead turn it on or off based on a threshold valueChange 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 ​(Knobpavyzdinę programą: <​code> ​File > Examples > Library-Servo > Knob </code> Į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 rangeThis is because with the voltage dividing circuit we use the voltage on analog pin will not range from to 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); lineFor hints on what to do visit http://​arduino.cc/​en/​Reference/​Map . +Pastebėsite,​ kad servo motoras veikia tik tam tikroje dalyje savo pilno diapazonoSu mūsų naudojama įtampos dalijimo grandine analoginiame kontakte ​įtampa nebus intervale nuo iki 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]]
  
  
projektas_nr.6.1445797243.txt.gz · Keista: 2015/10/25 20:20 vartotojo 193.219.47.27