Fórum témák

» Több friss téma
Cikkek » Arduino tápfeszültségének mérése
Arduino tápfeszültségének mérése
Szerző: Josi777, idő: Feb 2, 2021, Olvasva: 10807, Oldal olvasási idő: kb. 1 perc
Lapozás: OK   3 / 6

A következő mintaprogram bemutatja az eljárást. Vegyünk egy olyan Arduino alaplapot, melyen megaAVR chip van. Nagyon sok alaplap ilyennel van szerelve, legyen mondjuk az egyik legelterjedtebb, az UNO és használjunk a programozásához Arduino IDE felületet. Kiválasztjuk az Eszközöknél az UNO-t, majd feltöltjük a következő programot:

  1. #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
  2. #define bit_is_set(sfr, bit) (_SFR_BYTE(sfr) & _BV(bit))
  3. float Tapfeszultseg = 0;
  4. unsigned long szamlalo=100000;
  5. void setup() {
  6.   ADMUX = (0 << ADLAR) | (1 << REFS0) | (14 << MUX0) ;
  7.   Serial.begin(115200);
  8.   Serial.println("Start ...");
  9.   sbi(ADCSRA, ADSC);
  10.   delay(200);
  11. }
  12. void loop() {
  13.   szamlalo--;
  14.   if (szamlalo==0){
  15.     while(bit_is_set(ADCSRA,ADIF)){
  16.       Tapfeszultseg=(1024*1.1)/(ADCL+256*ADCH);
  17.       sbi(ADCSRA, ADSC);
  18.     }
  19.     Serial.println(Tapfeszultseg);
  20.     szamlalo=100000;
  21.   }
  22. }

Amennyiben az IDE soros monitorján a 115200-as sebességet állítottuk be, akkor megjelenik rajta bizonyos időközönként a processzor tápfeszültségének az értéke.


A cikk még nem ért véget, lapozz!
Következő: »»   3 / 6
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem