Gör en Mini Arduino programmerbar 4 kanal DC-DVM (3 / 8 steg)

Steg 3: Krets konstruktion



Vi kommer börja med att bygga en spänningsavdelare och ansluta det till Arduino, testa krets med en enkel skiss och fortsätta att bygga resten av kretsar.
När vi har ingångar arbetar, vi installerar den 1.8" TFT LCD-färgskärm och skriva en skiss för att Visa ingångsvärde på det.
Sedan kommer vi att undersöka flera mjukvara och hårdvara alternativ att förbättra eller anpassa DVM.

Så låt oss börja genom att bygga spänningsavdelaren på en skärbräda och ansluta den till stift A0 Arduino.
Titta på kopplingsschemat och andra bilder som hjälper dig med steg.

När kretsen är tillsammans, koppla Arduino till USB-porten på datorn och ladda upp den följande test skiss som visar spänningen ansluten till gratis 1Meg resistor benet via seriell bildskärmen.

Bara kopiera och klistra in följande skiss till Arduino IDE.

// -----------------Sketch Start-----------------------------

/* -----------------------------------------------------------
Program: SERIAL DVM

Beskrivning/kontroller: DC voltmeter med spänning visas på serial bildskärm
Ingen färg TFT LCD ännu!

Hårdvara: Arduino NANO eller Uno med spänningsavdelare på A0.

Programvara: Skriven och utvecklas med hjälp av Arduino 1.0.3 programvara

Datum:

Författare:
--------------------------------------------------------------*/

spänningsavdelare kalibreringsvärden
#define Dv1 11

ADC referensspänningen / kalibreringsvärde
#define VREF 5

flyta V1 = {0,00}.

void setup()
{
Serial.BEGIN(9600);
}

void loop()
{
V1 = analogRead(0);
Serial.Print ("spänning @ pin A0");
Serial.println(((v1*VREF) / 1023)) * Dv1, 2);
}
// -----------------Sketch End-----------------------------

Låt oss se vad som händer;
Atmega controllerns användas för Arduino innehåller en ombord 6 kanal analog-till-digital (A/D) omvandlare. Omvandlare har 10 bitars upplösning, som returnerar ett heltal från 0 till 1023 (210= 1024, 0 räknas, så det är 1023 steg) för värdet av 0 till 5 volt.

Vi vill konvertera A/D returnerade värde till den faktiska spänning som vi mäter.

Måste vi multiplicera resultatet med 5 och division med 1023 justera värdet som returneras av 10-bitars a/d omvandlare.

Vi också dividera spänningen 11 med spänningsavdelare, så spänningen vi mäter (och vi vill se på displayen), har multipliceras med 11 att kompensera för avdelningen.

Vi gör det med den followimg formeln:

Vout=((vin*(5/1023))*11).

koden för detta är:

Serial.println(((v1*VREF) / 1023)) * Dv1, 2);

Vi multiplicera med 5 (VREF) och dividera med 1023 konvertera analog utgång i en skala mellan O och 5, då vi multiplicera med 11(Dv1) att kompensera för spänningsdelare. Anledningen till att vi använder variabler för avdelare och spänningsvärden, är att dessa värden kommer att förändras när vi kalibrerar DVM. "2" i slutet av formeln anger hur många siffror som visas efter decimaltecknet.

Om du fick programmet läses in korrekt, öppna seriell bildskärmen genom att klicka på förstoringsglas ikonen i det övre högra hörnet i arduino IDE, bör du se data flödar. Med hjälp av en bygel tråd, försök ansluta den fria delen av 1Meg motståndet till GND stift pin först och sedan till 5V. Du bör se behandlingen ändra från 0 till 5v.

Nu har vi bara att upprepa vad vi gjorde för den första kanalen tre gånger att ha en 4 kanal DVM, men innan vi gör det, låt oss ansluta våra TFT färg LCD-skärm till Arduino. Behöver 7 hoppare ledningar att göra detta:

Anslut följande med byglarna

TFT LCD. Arduinoen

VCC 5V
GND Gnd
SCL 13
SDA 11
CS 10
RS/DC 9
RES 8

Obs:
Till skillnad från min andra instructables, kommer vi att använda den höga hastigheten SPI gränssnitt för att köra displayen så bygeln ledningar är olika. Igen, kolla in bilderna hjälper dig om du inte vet hur tråd det upp.

Måste du installera två bibliotek att använda displayen:

Adafruit_GFX.h Core grafik bibliotek
Adafruit_ST7735.h maskinvaruspecifikt bibliotek

Hämta biblioteken och kopiera dem till mappen Arduino bibliotek.

Kopiera och klistra in nedan skiss till Arduino IDE. Skissen DVM koden är den samma, men med tillägg av koden till uppvisning spänningen på A0 på LCD-displayen.

Kompilera och ladda upp skissen till Arduino.

// -----------------Sketch Start-----------------------------

/*-----------------------------------------------------------
Program: TFTLCDDVM

Beskrivning/kontroller: DC voltmeter med spänning visas
på färg TFT LCD med 2 decimaler

Hårdvara: Arduino NANO med spänningsavdelare på A0.
TFT LCD ansluten

Programvara: Utvecklad med Arduino 1.0.3 programvara

Datum: 10 mars 2014

Författare: johnag
--------------------------------------------------------------*/
#define sclk 13
#define mosi 11
#define cs 10
#define dc 9
#define rst 8 / / reset

#include < Adafruit_GFX.h > / / Core grafik bibliotek
#include < Adafruit_ST7735.h > / / maskinvaruspecifika bibliotek
#include < SPI.h >
Adafruit_ST7735 tft = Adafruit_ST7735 (cs, dc, rst);

spänningsavdelare kalibreringsvärde
#define Dv1 11

ADC referensspänningen
#define VREF 5

flyta V1 = {0,00}.

void setup()
{
Serial.BEGIN(9600);
tft.initR(INITR_BLACKTAB); initiera en ST7735S chip, svart flik
tft.fillScreen(ST7735_BLACK); Rensa skärmen
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(1);
tft.setCursor(10,0);
TFT.println ("DC voltmeter DVM");
tft.setTextColor(ST7735_RED);
tft.setCursor(0,140);
TFT.println ("försiktighet max spänning 55vdc");
}

void loop()
{
V1 = analogRead(0);
tft.drawLine (0, 20, tft.width ()-1, 20, ST7735_WHITE);
tft.drawLine (0, 130, tft.width ()-1, 130, ST7735_WHITE);
tft.setTextColor(ST7735_YELLOW,ST7735_BLACK);
tft.setTextSize(2);
spänning 1 (pin A0)
spänning är multiplicerad med resistor nätverket
Division faktor att beräkna den faktiska spänningen
tft.setCursor (45, 40);
TFT.println ("V1");
tft.setTextSize(1);
TFT.println ("spänning @ pin A0");
tft.setCursor (20, 80);
tft.setTextSize(2);
Serial.Print ("spänning @ pin A0");
Serial.println(((v1*VREF) / 1023)) * Dv1, 2);
TFT.Print(((v1*VREF) / 1023)) * Dv1, 2);
TFT.Print ("Vdc");

}

//---------------Sketch End----------------------------------------

Se Steg
Relaterade Ämnen

Arduino programmerbara 5 pedal kopplat

Söker efter en enkel programmerbara pedal kopplat över nätet var jagförvånad om de dyra redskap runt där... så jag kom ut med DIY lösning och hittade flera stora projekt men hittade dem alltför komplicerat (PCB Etsning...) eller kanske alltför dyra f...

Mini Arduino Multi funktion styrenhet med LCD-skärm

detta Instructable bygger på mini Arduino miljö monitor och mini Arduino EEGEN monitor Instructables.Det kan du styra upp till 4 reläer med tid, temperatur och/eller ljus, ditt sinne, eller vilken sensor du vill använda.Exemplen är prototyper, jag gå...

Koppleri min Arduino

Ja sötnos! Ibland ekonomin är inte hur jag vill flyga. Då måste jag göra en liten anpassa så jag kan få saker rätt av mig.Steg 1: Ifall du missade detIgår laddade jag upp en artikel om att sätta några fötter på dessa Arduino styrelser. Du kan se det...

Arduino-programmerbar LED Infinity Mirror

Är du trött på att titta på rummet element som förefaller ha ändliga djup?Kanske bör du överväga att bygga ditt eget Arduino-programmerbar LED Infinity spegel!Denna synvilla är ett blickfång och erbjuder massor av utrymme för anpassning och cool prog...

Min Arduino linje efter Robot! -Med Pololu kvart-6A IR reflektans Sensor Array

använde jag en Arduino Duemillanove med ATMega 328. Framdrivning sker med två Parallax Futaba kontinuerlig Rotation servon. Min sensor är Pololu kvart-6A IR reflektans Sensor Array, och den drivs alla av 4 uppladdningsbara NiMH Duracell AA batterier...

Mini Arduino Portable EEG - Brain Wave Monitor +

detta är ett annat exempel på mångsidigheten, och för vad, Arduino, en liten LCD-färgskärm och rätt typ av sensorer, kan göra.OBS:Detta är ett pågående arbete... Jag kommer att arbeta på flera faser tills jag slutföra en "bärbara människans vitala mo...

Mini Arduino CNC

Detta instructable visar dig hur man bygger en billig och enkel, men mycket liten CNC använder Arduino UNO. Du kan använda den till mill tunna trä, olika skum eller du kan använda den för plottning olika skisser och kan också användas för gravyr och...

Hjälp med min arduino projekt. (2, 7 segment med piezo summern och relä)

Hej, jag behöver lite hjälp med min arduino projekt.Jag har 2, 7 segment visar vilka nedräkning från 20 till noll sv sedan piezo Summer beebs ett tag.Min fråga är:Jag vill ha ett relä påslagen för 20 sekunder samtidigt med 7 segment nedräkningen.så o...

Mini Arduino PC [Eng-Ita] hur & kod för

Sono stato libero per un fina settimana e ho deciso di rispolverare un vecchio mito, l'arduino. Ho messo insieme FN atmega fristående tre bottoni FN ledde e FN lcd... e ho creato quello che mai avrei pensato di creare. FN: S manuale di fisica con le...

Min Arduino i Circuit programmerare

/ * formatmallsdefinitioner * / bord. MsoNormalTable {mso-stil-namn: "Tabell Normal"; mso-tstyle-rowband-storlek: 0; mso-tstyle-colband-storlek: 0; mso-stil-noshow:yes; mso-stil-förälder: ""; MSO-stoppning-alt: 0 i 5.4pt 0 i 5.4pt; MSO...

Arduino programmerbar konstant nuvarande Power motstånd konstlast

Kul att se du har kommit på denna sida att lära sig hur man bygger en programmerbar konstant likström konstlast. Denna belastning kan du rita en uppsättning aktuella från någon källa. Denna belastning kan också anges till en konstant motstånd eller e...

Mini arduino Plotter utan en servomotor

I detta projekt ska jag visa dig hur du sätter två gamla DVD-enheter i ett mini plotter.this projekt är enkel och lätt att göra och gör en god praxis om du vill göra en riktig CNC maskin (det är därför jag började detta projekt för att förbereda mig...

WEEKLIMATIC Arduino programmerbar termostat

Det är en programmerbar termostat Arduino baserat.Upp till 9 veckoprogram kan sparas.Tre modalitet: Ställ in PROGRAM, AUTO-läge, PROGRAM-lägeTvå PROGRAM modalitet: läge av / på-läge.. .och mer fuctions, helt anpassningsbara!Steg 1: Introduktion Hej a...

Mini Arduino miljön bildskärm ** uppdatering - lagt till RTC ***

detta är ett exempel på hur du kan använda Arduino att övervaka olika miljöparametrar och visa dem på en LCD-skärm.Obs: Jag la en realtidsklocka! För att se steg, extra delar och skiss jag lagt till nya steg...Steg 1: Reservdelslista Arduino uno R3 e...

Mini Arduino Lux mätaren

Jag behövde en Lux-mätaren för att testa ficklampor. Det finns några bra lux mäter finns i intervallet $15-25, men frakt alltid tar lång tid och jag behövde det nu. Det var då jag insåg att jag hade en oanvänd BH1750 ljusmätare modul liggandes, som j...

Laser Controller för min Arduino CNC maskin

när du använder Linux EMC jag enkelt kunde köra en laser från den riktning pin av Z-axeln på parallellporten. Stiftet hölls det sista så om den sista satsen berömma var ner den stannade så även när den andra axeln var rörliga. Allt jag hade att göra...

Arduino programmerbara knappen Panel som tangentbord

Detta är ett ganska enkelt och roligt projekt med Arduino som är ett idealiskt alternativ för din första interaktion med Arduino. Du ska skapa en panel med olika knappar, var och en kommer att göra en åtgärd i din dator (Mac eller Pc) genom att efter...

Gör din egen anpassade elektroniska prylar, som min Arduino LED dag/natt Widget.

Detta är bara en kort köra ner på hur enkelt det blivit för att göra egna kretsar komplett med din egen PCB. Har du någonsin velat göra något anpassad som passar dina behov?Självklart har du!För mig började det verkligen när jag byggde min första dag...

Mini Arduino LED Julljus

Letar du efter ett enkelt elektronik projekt för att få lite träning med Arduino och PWM? Prova på detta!Här är vad du behöver:1 x Arduino UNO + USB-kabel6 x färg LED's för att förstora (jag använde 3 röda, 3 gul)6 x 1 k motstånd8 x manlig-till-man s...