Per questo progetto utilizzeremo il sensore ACS714 prodotto dalla Allegro accetta una corrente di input bidirezionale con un'ampiezza al massimo pari een 5A e provides in uitvoer una tensione analogica proporzionale (185mV/A) centrata con een 2.5V un vergissing tipico pari een ±1.5%. Il sensore opera in VN variëren di tensioni fra 4.5 e 5.5V ed è stato speler per essere be used in sistemi che operano een 5V. Il sensore si basa sull'effetto Hall e permette all'IC di isolare elettricamente il packets della corrente dall'elettronica del sensore (fino a 2.1 kV RMS): riguardo permette di inserire il sensore in verholpen punto lungo il packets della corrente e soprattutto permette di utilizzare questo sensore in applicazioni che richiedono ausencia elettrico. La larghezza di banda viene fissata attraverso il condensatore C9 connesso al pin etichettato con la dicitura "Filter"
Prossimamente il LINK per interfacciare ik dati da arduino een TouchOsc
--------------------------------
#include //inclusione della bibliotheek LCD
definizione dei pin int ACS714 = A0; int partitore = a1 worden verkregen;
definizione valori integer e float per calcolo valori corrente e tensione int sensorValue = 0; int outputValue = 0; zweven vout = 0,0; zweven ampère = 0,0; zweven vref = 5.0; int valV = 0; zweven volt = 0,0; zweven R1 = 46220.0; // !! Stabilimento della resistenza R1!! zweven R2 = 9781.0; // !! Stabilimento della resistenza R2!! zweven corr = 1.02; Stabilimento di correzione lettura tensione
definizione dei pin LCD int RS = 5; int nl = 4; int D7 = 0; int D6 = 1; int D5 = 2; int D4 = 3;
inizializzazione bibliotheek LCD LiquidCrystal lcd(RS,EN,D4,D5,D6,D7);
VOID Setup {}
analogRead(ACS714); prima lettura analogica della corrente analogRead(partitore); prima lettura analogica della tensione lcd.begin(16,2); inizializzazione lcd 16 x 2 vertraging (10);
Test LCD
LCD.Print ("Test LCD OK"); messaggio di test delay(2000); Pausa di 2 secondi
LCD.Clear(); cancellazione display delay(10); Pausa per effettuazione operazione}
void loop {}
ampère = 0.0742 * analogRead (ACS714)-37.87; Als versterkers (ampère < 0,15) = 0,0;
valV = analogRead(partitore); Lettura del stabilimento Chinees dal partitore vout = (valV * vref) / 1024.0; Conversione del stabilimento in di volt = (vout / (R2/(R1+R2))) * corr; Calcolo stabilimento letto
LCD.Clear(); pulisci memoria lcd-lcd.setCursor(0,0); Setta il cursore sulla prima linea display lcd.print ("AMPERE:"); scrivi la parola versterkers: lcd.print(amps,1); interessantirelativi il stabilimento calcolato degli ampère
lcd.setCursor(0,1); Setta il cursore sulla prima linea display lcd.print ("VOLT:"); schrijft la parola volt: lcd.print(volts,1); interessantirelativi il stabilimento calcolato dei volt vertragen (500); Pausa lettura}