• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Czujnik prądu ACS714 -5A do +5A
#1
Witam 
Mam pytanie do Was. Jak napisać poprawnie odczyt wartości prądu z  Czujnika prądu ACS714 -5A do +5A w programie gdy Czułość dla zasilania  5V: 0,185 V/A ? 

(Czujnik wymaga napięcia zasilania z zakresu od 4,5 V do 5 V podłączonego do wyprowadzeń oznaczonych jako VCC (+) i GND (masa). Wyjściem jest sygnał napięciowy proporcjonalny do natężenia mierzonego prądu. Kiedy napięcie VCC jest równe 5 V, wyjście wycentrowane jest na połowę, czyli 2,5 V. Wartość wyjściowa rośnie o 185 mV na 1 A gdy natężenie mierzonego prądu jest dodatnie, w przeciwnym wypadku maleje.) Ja zasilam 5V z arduino
 
Odpowiedź
#2
Zrób jak poniżej

Kod:
float prad = 0;      

void setup() {
  
  Serial.begin(9600);
  
}

void loop() {
  
int sensorP = analogRead(A0);

prad = map(sensorP, 0, 1023, -5, 5);
  
  Serial.print(analogRead(A0));
  Serial.print("  Prad = " );
  Serial.println(sensorP);
  
}
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#3
Zrobiłem jak napisałeś i wyniki zastanawiające :
469  Prad = 520
471  Prad = 518
472  Prad = 520
470  Prad = 519
473  Prad = 517 itd.  a prąd w układzie gdzieś ok  0.2A

jak dołożyłem linijkę do tego programu Serial.println(prad); to wynik "0" .
Dodam jeszcze , że dołożyłem zera po przecinku przy funkcji map .
 
Odpowiedź
#4
Ech zaplątałem się troszkę , nie można przy mapowaniu uzyskać zmiennej float trzeba to troszkę skomplikować . Poniżej masz kod i podaje poprawnie dane .

Kod:
void setup() {
  
  Serial.begin(9600);
  
}

void loop() {
  
int sensorP = analogRead(A0);

float x = map(sensorP, 0, 1023, -500, 500);

float prad =  x / 100 ;
  
  Serial.print(analogRead(A0));
  Serial.print("  Prad = " );
  Serial.println(prad);
  
}
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości