Por questo progetto utilizzeremo il sensore ACS714 prodotto dalla Allegro accetta una corriente de entrada bidirezionale con un'ampiezza al massimo pari un 5A y fornisce en salida una tensión analogica proporzionale (185mV/A) centrata un 2.5V con un errore tipico pari un ±1. 5%. Ópera de sensore de Il en un rango de tensioni fra 4.5 y 5.5V ed è stato progettato por utilizzato essere en sistemi operano a 5V. Sensore del Il si basa sull'effetto Hall e permette isolare de all'IC di elettricamente il recorrido della corrente dall'elettronica del sensore (fino a 2.1 kV RMS): CIO permette di tener il sensore en cualquiera punto lungo il recorrido della corrente e soprattutto permette di primera questo sensore en applicazioni requieren isolamento elettrico. La larghezza di banda viene fissata attraverso il condensatore C9 connesso al pin etichettato con la dicitura "Filtro"
Prossimamente il enlace por interfacciare dati da arduino un TouchOsc
--------------------------------
#include //inclusione della libreria LCD
definizione dei pin int ACS714 = A0; int partitore = A1;
flotador de e definizione valori entero por calcolo valori corrente e tensión int sensorValue = 0; int outputValue = 0; flotador de vout = 0.0; flotador de amperios = 0.0; flotador de vref = 5.0; valV de int = 0; Float voltios = 0.0; flotador de R1 = 46220.0; // !! Valore della resistenza R1!! flotador de R2 = 9781.0; // !! Valore della resistenza R2!! flotador de corr = 1,02; Valore di correzione lettura tensión
definizione dei pin LCD int RS = 5; int EN = 4; int D7 = 0; int D6 = 1; int D5 = 2; int D4 = 3;
inizializzazione libreria LCD LiquidCrystal lcd(RS,EN,D4,D5,D6,D7);
void setup() {}
analogRead(ACS714); analogica de prima lettura della corrente analogRead(partitore); analogica de prima lettura della tensione lcd.begin(16,2); inizializzazione retardo de pantalla lcd 16 x 2 (10);
Prueba LCD
LCD.Print ("prueba de LCD OK"); mensaje di prueba delay(2000); di 2 segundos de pausa
LCD.Clear(); cancellazione pantalla delay(10); pausa por operazione effettuazione}
void loop() {}
amperios = 0.0742 * analogRead (ACS714)-37.87; Si amps (amperios < 0.15) = 0.0;
valV = analogRead(partitore); Lettura del valore fornito dal partitore vout = (valV * vref) / 1024.0; Conversione del valore en di voltios = (vout / (R2/(R1+R2))) * corr; Calcolo valore letto
LCD.Clear(); pulisci memoria lcd lcd.setCursor(0,0); Setta il cursore sulla prima linea pantalla lcd.print ("amperios:"); scrivi la parola amperios: lcd.print(amps,1); amperios de degli de riporta il valore calcolato
lcd.setCursor(0,1); Setta il cursore sulla prima linea pantalla lcd.print ("voltios:"); dice la palabra voltios: lcd.print(volts,1); voltios de dei de riporta il valore calcolato retrasan (500); lettura pausa}