Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:arduino:buttons:project2 [2017/05/30 10:49] kaupo.raidet:arduino:buttons:project2 [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-~~PB~~+<pagebreak>
 ====== Projekt 2 LED-i juhtimine potentsiomeetriga   ====== ====== Projekt 2 LED-i juhtimine potentsiomeetriga   ======
  
Line 9: Line 9:
 Korrektsel ühendamisel tekib mikrokontrolleri sisendviigu ja maa vahele potentsiomeetri asendist sõltuv pinge. Kui potentsiomeetrit pöörata ühest äärmusest teise, siis sisendpinge muutub vahemikus 0 kuni 5 V. Tekkinud ahelat nimetatakse pingejaguriks, mis jagab sisendpinge kahe takisti vahel proportsionaalselt takistuste väärtustele. Mikrokontroller muundab analoogsignaali (pingenivoo) digitaalsele kujule, mis jääb vahemikku 0-1023. Maksimaalne väärtus sõltub mikrokontrolleri analoog-digitaalmuunduri (ADC) resolutsioonist. Arduino-l on ADC üldjuhul 10 bitti ehk maksimum väärtus (2^10) - 1 = 1023, kuid saab seadistada ka 8 biti peale. Täpsemalt Arduino analoogsisendite kohta saab lugeda siit: [[https://www.arduino.cc/en/Tutorial/AnalogInputPins|]] Korrektsel ühendamisel tekib mikrokontrolleri sisendviigu ja maa vahele potentsiomeetri asendist sõltuv pinge. Kui potentsiomeetrit pöörata ühest äärmusest teise, siis sisendpinge muutub vahemikus 0 kuni 5 V. Tekkinud ahelat nimetatakse pingejaguriks, mis jagab sisendpinge kahe takisti vahel proportsionaalselt takistuste väärtustele. Mikrokontroller muundab analoogsignaali (pingenivoo) digitaalsele kujule, mis jääb vahemikku 0-1023. Maksimaalne väärtus sõltub mikrokontrolleri analoog-digitaalmuunduri (ADC) resolutsioonist. Arduino-l on ADC üldjuhul 10 bitti ehk maksimum väärtus (2^10) - 1 = 1023, kuid saab seadistada ka 8 biti peale. Täpsemalt Arduino analoogsisendite kohta saab lugeda siit: [[https://www.arduino.cc/en/Tutorial/AnalogInputPins|]]
  
-~~PB~~ 
 ===== Näide #2.1 Potentsiomeetri pööramisel üle nivoo süttib LED ===== ===== Näide #2.1 Potentsiomeetri pööramisel üle nivoo süttib LED =====
 Mikrokontrolleril on sisendi digitaalsel kujul lugemisel kindel pingenivoo, millest alates väärtustatakse sisend kõrgeks. Keerates aeglaselt potentsiomeetrit on võimalik see lülitumise punkt üles leida. Muutusest annab märku LED viigul D13. Mikrokontrolleril on sisendi digitaalsel kujul lugemisel kindel pingenivoo, millest alates väärtustatakse sisend kõrgeks. Keerates aeglaselt potentsiomeetrit on võimalik see lülitumise punkt üles leida. Muutusest annab märku LED viigul D13.
Line 54: Line 53:
  
  
-~~PB~~ 
 ===== Näide #2.2 LED-i vilkumise sagedus sõltub potentsiomeetri asendist ===== ===== Näide #2.2 LED-i vilkumise sagedus sõltub potentsiomeetri asendist =====
 Antud näide käsitleb LED-i vilgutamist analoogsisendi järgi. Sisendiks on eelmisest näitest tuttav potentsiomeeter. Sõltuvalt potentsiomeetri asendist muutuvad programmis viidete pikkused, mida on visuaalselt näha LED-i vilkumisest. Lühemate viidete korral vilkumise sagedus suureneb ja pikemate korral väheneb. Antud näide käsitleb LED-i vilgutamist analoogsisendi järgi. Sisendiks on eelmisest näitest tuttav potentsiomeeter. Sõltuvalt potentsiomeetri asendist muutuvad programmis viidete pikkused, mida on visuaalselt näha LED-i vilkumisest. Lühemate viidete korral vilkumise sagedus suureneb ja pikemate korral väheneb.
Line 99: Line 97:
    Kirjeldus: LED-i ereduse juhtimine potentsiomeetri asendi järgi */    Kirjeldus: LED-i ereduse juhtimine potentsiomeetri asendi järgi */
 // Algus identne näitega #2.1 (kommenteeritud koodi vaata sealt) // Algus identne näitega #2.1 (kommenteeritud koodi vaata sealt)
 +
 const int pote = A1;  const int pote = A1; 
 const int led = 13;  const int led = 13; 
Line 110: Line 109:
 void loop()  void loop() 
 { {
-  // Potentsiomeeri muutuja hetkeväärtuse salvestamine+  // Potentsiomeetri muutuja hetkeväärtuse salvestamine
   poteOlek = analogRead(pote);    poteOlek = analogRead(pote); 
      
Line 120: Line 119:
     delayMicroseconds(poteOlek);      delayMicroseconds(poteOlek); 
   }   }
 +  
   // Seame LED viigu madalasse olekusse   // Seame LED viigu madalasse olekusse
   digitalWrite(led, LOW);    digitalWrite(led, LOW); 
et/arduino/buttons/project2.1496141380.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0