This is an old revision of the document!
Funcționarea proiectului nu necesită nici-o interacționare din partea omului, tot procesul fiind automat în cod. Senzorul de curent alternativ este legat de firul conectat la borna pozitiva și transmite date către Arduino, care le procesează și le scrie pe un display LCD. !ATENȚIE! În schemă am folosit o fotodiodă, deoarece TinkerCad nu are niciun fel de senzor de curent, dar are cele două borne ale senzorului folosit de mine și permite copierea perfectă a proiectului.
void setup() { Serial.begin(9600); lcd.begin(16,2); // columns, rows. use 16,2 for a 16x2 LCD, etc. lcd.clear(); lcd.setCursor(0,0); // set cursor to column 0, row 0 (the first row) lcd.print("Running"); emon1.voltage(1, VOLT_CAL, 1.7); // Voltage: input pin, calibration, phase_shift emon1.current(0, CURRENT_CAL); // Current: input pin, calibration. }
void loop() { emon1.calcVI(20,2000); // Calculate all. No.of half wavelengths (crossings), time-out
float currentDraw = emon1.Irms; //extract Irms into Variable float supplyVoltage = emon1.Vrms; //extract Vrms into Variable
Serial.print("Voltage: "); Serial.println(supplyVoltage); Serial.print("Current: "); Serial.println(currentDraw);
Serial.print("Watts: "); Serial.println(currentDraw * supplyVoltage); Serial.println("\n\n");
delay (2000); lcd.clear(); lcd.setCursor(0,0); // Displays all current data lcd.print(currentDraw); lcd.print("A"); lcd.setCursor(10,0);
lcd.print(currentDraw * supplyVoltage); lcd.print("W"); lcd.setCursor(0,1); lcd.print(supplyVoltage); lcd.print("V"); lcd.setCursor(10,1); lcd.print(currentDraw * supplyVoltage / 1000); lcd.print("kW"); }
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.