Digitale multimeter shield voor Arduino (14 / 17 stap)

Stap 14: De DMM-software


Na het succesvol afronden van de vorige tests, werd de belangrijkste werkende DMM-software geschreven.
De code is gekoppeld de *. ZIP-bestand.
Ik zal slechts enkele hoofdfuncties uitleggen, de andere gewoon herhalen:

De functie voor voltmeter (bereik 0-100):

ongeldig V_100() {}
digitalWrite (v100, hoge);
LCD.Clear();
LCD.Print ("V-meter V = < 100V");
Serial.println ("* Voltmeter modus - bereik 0 - 100 V *");
lcd.setCursor (0, 1);
voltage_meas();
}

Sommige berichten op het scherm afgedrukt en roept de functie voltage_meas():

ongeldig voltage_meas() {}
acc_value = 0;
for (int i = 0; ik < = 15; i ++) {}
curr_value = analogRead(A0);
acc_value = acc_value + curr_value;
}
curr_value = int(acc_value/16);
Als (curr_value == 1023) {}
meas_overflow(); }
else {}
schakelaar (modus) {}
Case 1:
disp_res = (curr_value * leveren * 20) / 1024 * coeff_v100;
breken;
Case 2:
disp_res = (curr_value * leveren * 6) / 1024 * coeff_v30;
breken;
Case 3:
disp_res = (curr_value * leveren * 2) / 1024 * coeff_v10;
breken; }
LCD.Print ("V =");
LCD.Print (disp_res, 2);
LCD.Print ("V");
Serial.Print ("* V =");
Serial.Print (disp_res, 2);
Serial.println ("V");
delay(250);
}
}

, die 16 opeenvolgende monsters te nemen en
het gemiddelde van hen. Als het resultaat minder dan 1023 is, het het ADC woord omgezet in overeenkomstige waarde van de spanning en weergegeven op het scherm. Tijdens deze berekening worden aantal trimmen factoren toegevoegd. Eerste van hen is de gemeten voorontwerp voedingsspanning (het wordt gebruikt als referentie voor de omrekening van de AD), naar de tweede men probeert op te lossen de wanverhouding van de apparaten. Het ligt dicht bij 1,00, maar in sommige gevallen kan het verschillen van enkele procenten. Deze coëfficiënt is empirisch bepaald tijdens de tuning fase. Uitleg zal volgen.
Als het resultaat na de middelingstijd van de 16 monsters 1023 heet de "meas_overflow".

ongeldig meas_overflow() {}
lcd.setCursor (0, 1);
LCD.Print ('OVERFLOW!');
Serial.println ("* OVERLOOP!!! *");
lcd.setCursor (0, 1);
for (int i = 0; ik < = 101; i ++) {}
analogWrite (back_light, helderheid);
helderheid = helderheid + fadeAmount;
Als (helderheid == 255) {}
fadeAmount = - fadeAmount;
}
delay(15);
}
}

In dit voorbeeld wordt het rug-licht verschoten en er wordt een waarschuwing weergegeven.

Op de foto's kunnen worden gezien van de functionerende DMM in verschillende modi en functies.

P.S. Dankzij jfrontone, hebben we een mogelijk probleem gevonden in de code.

Het is in de procedure button_pressed() .

Als de toename MODE = modus ++; werkt niet (soms hangt dit op de microcontroller-chip of op de IDE-versie), kunt u ofwel modus = ++ modus; of MODE = modus + 1; . Tot nu toe niemand heeft gemeld over zulke werkstuk in de controlestructuur "voor" - bijvoorbeeld voor (int i = 0; ik < = 101; i ++)...

Gerelateerde Artikelen

Een goedkopere ESP8266 WiFi Shield voor Arduino en andere micros

Een goedkopere ESP8266 WiFi Shield voor Arduino en andere micros

Update: 19 mei 2016Rev 14 van dit project herziet bibliotheken en code om te werken met de plug-in V2.2 ESP8266.com IDEUpdate: 17 December 2105Rev 11 van dit project schoont andere pogingen tot verbinding als het al is aangesloten. Maakt ook gebruik
ECG shield voor Arduino

ECG shield voor Arduino

Onlangs maakte ik shield voor arduino die ECG, ademhaling, uiteindelijk na enkele veranderingen in PCB en code, EEG en EMG kan meten. Groot voordeel van deze shield is de mogelijkheid om het gemakkelijk thuis te maken. Het schild is uitgerust met dis
RGB-LCD Shield voor Arduino 65K kleuren KIT V2 montage handleiding

RGB-LCD Shield voor Arduino 65K kleuren KIT V2 montage handleiding

de RGB LCD shield voor Arduino 65K kleur KIT bevat alle onderdelen om een klaar om te gebruiken LCD shield voor Arduino en compatibele boards zoals Freeduino monteren.(bezoek http://store.nkcelectronics.com/rgb-lcd-shield-for-arduino-65k-color-k65.ht
Android telefoon gebruikt als een GSM-shield voor arduino

Android telefoon gebruikt als een GSM-shield voor arduino

hier mijn een andere video toont het gebruik van app uitvinder en bluetooth communicatie interface een arduino board en een Androïde apparaat. Ditmaal ben ik laten zien hoe de SMS-functie gebruiken om te zetten van de telefoon in een gratis GSM shiel
Waarom de V1 RS485 Shield voor Arduino kan niet worden gebruikt voor DMX512 toepassing

Waarom de V1 RS485 Shield voor Arduino kan niet worden gebruikt voor DMX512 toepassing

kwamen We kwesties wanneer we LinkSprite RS485 Shield Shield voor Arduino voor hoge snelheid toepassingen, zoals DMX512 communicatie gebruiken.Stap 1: Circuit analyse Het schema van het RS485-schild is hierboven weergegeven.De antwoorden van het schi
Eenvoudige Relay Shield voor Arduino

Eenvoudige Relay Shield voor Arduino

Shield voor control 6 Relais, 6 digitale input en 6 analoge ingang met Arduino Duemilanove, Arduino UNO. De digitale ingangen en relaisuitgangen zijn uitgerust met een LED die de status aangeeft.Het circuit diagram is heel eenvoudig:Stap 1: Schema's
Linux, WiFi, Ethernet, USB-Shield voor Arduino

Linux, WiFi, Ethernet, USB-Shield voor Arduino

Yun Shield is een Arduino-schild die zal gewoon "turn" Arduino (UNO, Leonardo, MEGA2560 enz) zowel een "Arduino Yun". Het biedt een linuxsysteem, WiFi, Ethernet naar de Arduino board voor connectiviteit. Het heeft ook een USB-hostpoort
Bouwen van een ISP-Shield voor Arduino

Bouwen van een ISP-Shield voor Arduino

dit Instructable is voor de instructies van de bouw voor onze nieuwe AVR ISP Shield Kit voor Arduino. Haar ontwikkeling heeft veel te danken aan Instructables en onze eigen Gemeenschap (met name Nick!) en ik hoop om uit te leggen wat van die langs de
Mini Motor shield voor arduino breadboard test

Mini Motor shield voor arduino breadboard test

Klein, basic motor shield voor het testen van project met arduino.Zijn op basis van transistor, maar als u smd mosfet, die beter.Stap 1: Deel lijst, circuit, pcb Deel de lijst:-BCX56 transistor (indien geen Mosfet)-een diode (de bescherming van de ar
Prototyping shield voor Arduino Mega

Prototyping shield voor Arduino Mega

dit is een down dirty prototyping schild dat voor Arduino Mega's werken zal en pin er compatibel klonen. Dit is de eerste keer dat ik dit forum heb gemaakt, maar ik heb andere projecten die ik denk dat dit zou handig zijn voor.Gebruikte materialen:Pr
Hoe zet uw smartphone aan een generieke shield voor Arduino

Hoe zet uw smartphone aan een generieke shield voor Arduino

Hallo jongens, ik ben een van de makers van 1Sheeld, het is een mobiele app en een bestuur dat uw smartphone in een open platform voor Arduino verandert.OnderdelenArduino Uno 19,99 dollar1Sheeld $54.94Breadboard, springpaarden, LEDsHet idee is eigenl
Zeer goedkope/Simple WiFi Shield voor Arduino en microprocessoren

Zeer goedkope/Simple WiFi Shield voor Arduino en microprocessoren

Update: 19 mei 2016Rev 14 van dit project herziet bibliotheken en code om te werken met de plug-in V2.2 ESP8266.com IDEUpdate: 17 December 2015Rev 11 van dit project schoont andere pogingen tot verbinding als het al is aangesloten. Maakt ook gebruik
ATtiny programmering Shield voor Arduino

ATtiny programmering Shield voor Arduino

dit weinig circuit zit mooi ontop van een Arduino board en kunt u snel de stekker in een ATtiny spaander voor programmeren met behulp van de Arduino "taal" en de IDE te schrijven van de code en de Arduino board als een ISP programmeur de code up
Geheugen kaart Shield voor Arduino UNO

Geheugen kaart Shield voor Arduino UNO

dit soort schild is oorspronkelijk kost maximaal 4000 BDT (in Bangladesh), die is ongeveer 39 USD (zonder verzendkosten). Maar door deze manier kunt u uw eigen schild microSD kaart alleen op 120 BDT ($1.6 USD). Geen verrassing, omdat het Ethernet-ver