Digitala multimetern shield för Arduino (14 / 17 steg)

Steg 14: DMM-programvaran



Efter framgångsrikt avslutad av tidigare tester, skrevs den huvudsakliga fungerande DMM-programvaran.
Koden är kopplad i den *. ZIP-fil.
Jag kommer att förklara bara några huvudfunktioner, den andra helt enkelt upprepa dem:

Funktionen för voltmeter (range 0-100 v):

void V_100() {
digitalWrite (v100, hög);
LCD.Clear();
LCD.Print ("V-meter V = < 100 v");
Serial.println ("* Voltmeter läge - Range 0 - 100 V *");
lcd.setCursor (0, 1);

voltage_meas();
}

skriver ut vissa meddelanden på skärmen och anropar funktionen voltage_meas():

void voltage_meas() {
acc_value = 0;
för (int jag = 0; jag < = 15; i ++) {
curr_value = analogRead(A0);
acc_value = acc_value + curr_value;
}
curr_value = int(acc_value/16);
om (curr_value == 1023) {
meas_overflow(); }
annat {
Växla (läge) {
fall 1:
disp_res = (curr_value * leverera * 20) / 1024 * coeff_v100;
bryta;
fall 2:
disp_res = (curr_value * leverera * 6) / 1024 * coeff_v30;
bryta;
fall 3:
disp_res = (curr_value * leverera * 2) / 1024 * coeff_v10;
bryta; }
LCD.Print ("V =");
LCD.Print (disp_res, 2);
LCD.Print ("V");
Serial.Print ("* V =");
Serial.Print (disp_res, 2);
Serial.println ("V");
Delay(250);
}
}

, som ta 16 på varandra följande prover och
i genomsnitt dem. Om resultatet är mindre än 1023, konverterar ADC ordet till motsvarande spänning värde och visar den på skärmen. Vid denna beräkning läggs några trimning faktorer. Första av dem är uppmätta preliminära matningsspänningen (det används som referens för AD omvandling), den andra en försöker rätta till skillnaden i enheter. Det är nära till 1.00, men i vissa fall kan skilja sig åt några procent. Denna koefficient bestäms empiriskt under trim. Förklaring kommer att följa.
Om resultatet efter genomsnitt av de 16 proverna är 1023 kallas "meas_overflow".

void meas_overflow() {
lcd.setCursor (0, 1);
LCD.Print ("OVERFLOW!");
Serial.println ("* svämma över! *");
lcd.setCursor (0, 1);
för (int jag = 0; jag < = 101; i ++) {
analogWrite (back_light, ljusstyrka);
ljusstyrka = ljusstyrka + fadeAmount;
om (ljusstyrka == 255) {
fadeAmount = - fadeAmount;
}
Delay(15);
}
}

I den här proceduren back-ljuset är bleka och visas en varning.

På bilderna kan vara sett den fungerande DMM i olika lägen och funktioner.

P.S. Tack till jfrontone, har vi hittat ett möjligt problem i koden.

Det är i det button_pressed() förfarandet.

om tillväxten läge = läge ++; inte fungerar (ibland beroende på mikrokontroller chip eller på IDE-version), du kan skriva antingen läge = ++ MODE; eller läge = läge + 1; . Hittills ingen har rapporterat om sådana problem i kontrollstrukturen "för" - till exempel för (int jag = 0; jag < = 101; i ++)...

Se Steg
Relaterade Ämnen

Linux, WiFi, Ethernet, USB-Shield för Arduino

Yun Shield är en Arduino Shield som kommer helt enkelt "vända" Arduino (Leonardo, UNO, MEGA2560 etc) både en "Arduino Yun". Det ger ett Linux-system, WiFi, Ethernet till Arduino styrelsen för anslutning. Det har också en USB-värd port...

ECG shield för Arduino

Nyligen gjorde jag shield för arduino som kan mäta EKG, respiration, så småningom efter vissa förändringar i PCB och kod, EEG och EMG. Stor fördel med denna sköld är möjligheten att göra det enkelt hemma. Skölden är utrustat med display Visa du mätt...

RGB LCD-Shield för Arduino 65K färg KIT V2 församling Guide

The RGB LCD sköld för Arduino 65K färg KIT innehåller alla komponenter för att montera en klar att använda LCD sköld för Arduino och kompatibel styrelser som Freeduino.(Besök http://store.nkcelectronics.com/rgb-lcd-shield-for-arduino-65k-color-k65.ht...

ATtiny programmering Shield för Arduino

denna lilla krets sitter bra ontop av en Arduino ombord och kan du snabbt koppla in ett ATtiny chip för programmering med hjälp av Arduino "språk" och IDE för att skriva koden och Arduino styrelsen som en ISP programmerare att ladda upp koden ti...

Billig och smidig MP3 Shield för Arduino

Detta är en uppföljning till en tidigare Instructable för att fästa modet i en billig klipp MP3-spelare till en Arduino.Den tidigare Instuctable visade hur man använder Arduino för att styra alla funktioner för MP3-spelaren: volymökning och minskning...

Mycket billigt/enkel WiFi Shield för Arduino och mikroprocessorer

Uppdatering: 19 maj 2016Rev 14 i detta projekt reviderar bibliotek och kod ska fungera med ESP8266.com IDE plug-in V2.2Uppdatering: 17 December 2015Rev 11 i detta projekt rensar upp andra försök anslutningar om den redan är ansluten. Använder också d...

Bygga en ISP Shield för Arduino

detta Instructable är för bygga instruktionerna för våra nya AVR ISP Shield Kit för Arduino. Dess utveckling beror en hel del till Instructables och vår egen gemenskap (särskilt Nick!) och jag hoppas att förklara lite av det längs vägen.Några kloka I...

"Twist Shield" för Arduino

denna lilla "Add-on" styrelse kan du "Twist" en befintlig Arduino Shield 90 examen från dess ursprungliga fotavtryckSteg 1: Problemet... Har du någonsin avslutat ett projekt och sedan insåg du slutat ett steg för tidigt?Samtidigt koppl...

Enkla Relay Shield för Arduino

sköld till 6 Styrrelä, 6 digital ingång och 6 analog ingång med Arduino Duemilanove, Arduino UNO. De digitala ingångar och reläutgångar är utrustade med en LED som anger status.Kopplingsschemat är mycket enkel:Steg 1: Scheman och PCB i det här steget...

Rad efterföljare Robot använder kameran Shield i 1Sheeld & Arduino

Det var så länge sedan min sista publicerade Instructables. Faktiskt, jag försökte göra mycket populära projektet men med en nya verktyg och ett lätt sätt särskilt i kodning. Jag arbetade på en rad efterföljare robot som spåra en vit linje och följa...

RGB LED spelet shield för arduino

jag undrar varför det inte finns en hel del spel från arduino, jag menar jag hittade en sida av dem, men det inte var tht många. Så jag bestämde mig ska jag prova att göra en av mina egna!För att spela detta spel, måste du matcha slumpvis färg visas...

Visa data på en webbplats - elektroniska potten [Arduino Nano + Ethernet Shield]

Jag har alltid velat en växt i mitt rum, som skulle fylla utrymmet mellan oavslutade projekt och dyrt, men onödiga bitar av elektroniska delar. Så kom jag upp med idén om en elektronisk pott – The Arduino E-Pot -som skulle mäta de grundläggande behov...

TouchOSC och Arduino Ethernet Shield till kontroll energi (A.M.P.A.E.)

Dag efter dag, människor använder en stor mängd prylar och slösa en massa energi att ha ingen oro om det. Vår idé är i grunden en mobil applikation för tabletter och smartphones som erbjuder användaren en total kontroll av alla energikällor som använ...

Styra Denon AVR med Arduino + Ethernet shield

Med detta projekt har jag bygger en enkel kontrollpanel för min Denon AVR (AVR-X4100W).De flesta av Denon A / V-mottagare är nätverket redo, så att du kan styra dem inom en web interphasen eller en app. Det finns inga officiella dokumentation för HTT...

Styra WeMo Switch med Arduino + Ethernet shield

Det finns många apps som låter dig styra din Belkin WeMo enheter, men det finns ingen en hårdvara switch panel som den Nyans knacka för Philips nyans.Så bygga jag en med en Arduino!Steg 1: materialFör detta projekt behöver du:En Arduino ombord. Jag a...

IMP-ERSONATOR: Elektriska Imp + Arduino + Wave Shield = avlägsna ljud fil spelare

detta Instructable kommer att visa hur man gör en distans aktiverat ljudfil spelare.Den använder en elektrisk Imp, en Adafruit våg sköld och en Arduino UnoDen elektriska Imp kan du snabbt ansluta enheter (inklusive arduinos) till internet via ditt Wi...

AdruShield – mest mångsidiga Arduino shield någonsin

ArduShield är det mest mångsidiga utveckling shield för mest populära Arduino styrelser som svar:Arduino UNO R3Arduino MiniArduino Pro Mini V5Arduino Nano V3Arduino MicroR3Arduino LeonardoArduino YunArduino nollGalileo Gen2och många andra derivat sty...

Fristående WiFi Radio Control Panel (Arduino Powered)

jag ville ha en Internet-Radio för en lång tid, och var mycket glad över att hitta Tinkernut's Wifi-radion projekt (http://tinkernut.com/archives/2387 ), som jag byggt och har haft i några månader.Men brydde jag mig verkligen för Ario baserad kontrol...

EL Wire hatt: Sekvenserade och ljud aktiverat med fjärrkontroll - drivs med Arduino och Sparkfun

Välkommen till Instructable guide av hatten EL Wire med några roliga funktioner.Konceptet är en EL Wired hatt med 8 sekvenserade EL ledningar kontrolleras av en trådbunden fjärrkontroll. Flera hastighetslägen kontrollerbar sekvens är förprogrammerad...