Een Mini Arduino programmeerbare 4 kanaaloproep DC-DVM (7 / 8 stap)

Stap 7: De programma's in programmeerbare


Er zijn 10 soorten mensen, degenen die binaire weten en degenen die dat niet doen.

Tot nu toe hebben we geleerd hoe samen te stellen een Arduino en het toevoegen van spanning dividers om de conditie van het analoog ingangssignaal (spanning) door het verminderen van het signaal naar een niveau dat binnen de parameters van de specificaties van de Arduino. Wij vervolgens wordt verzameld en geüpload sommige schetsen die lezen de signalen en toonde hen op de seriële monitor en het TFT LCD-scherm. Nu is het aan jou om te bestuderen van de code en het werk voortzetten. Ik ben met inbegrip van de code voor de andere schetsen die met de hardware die we samen worden uitgevoerd.
/*--------------------------------------------------------------
Programma: 1-kanalige DVM met Sampling

Beschrijving: Leest waarde op analoge input A0 en berekend uitgaande van de spanning
Er is een divider spanning op pin A0 die worden gedeeld door 10.195

Hardware: Arduino NANO of UNO met spanning divider op A0.

Software: Geschreven met behulp van de Arduino 1.0.3 IDE

Datum: 25 maart 2014

Auteur:
--------------------------------------------------------------*/

aantal analoge monsters te nemen per lezing
#define NSAMP 100
#define sclk 13
#define mosi 11
#define cs 10
#define dc 9
#define rst 8 / / reset

#include / / core grafische bibliotheek
#include / / hardwarespecifieke bibliotheek
#include
Adafruit_ST7735 tft = Adafruit_ST7735 (cs, dc, rst);
int som = 0;                    som van monsters
unsigned char Scount = 0; het nummer van het monster van de huidige
zweven V1 = 0,00;          berekende gemiddelde spanning
zweven VMAX = 0,00;
zweven VMIN = 100,00;
zweven val = 0,00;
zweven VREF = 5.0;
zweven Dv1 = 10,935;
VOID Setup
{

tft.initR(INITR_BLACKTAB);   initialiseren van een tab ST7735S-chip, zwart
tft.fillScreen(ST7735_BLACK); scherm wissen
tft.setTextColor(ST7735_GREEN);
tft.setTextSize(1);
tft.setCursor(10,0);
TFT.println ("DC voltmeter DVM");
tft.setTextColor(ST7735_WHITE);
TFT.println ("spanning @ pin A0");
TFT.Print ("met MAX, MIN-waarden");
tft.setTextColor(ST7735_RED);
tft.setCursor(0,140);
TFT.println ("Let op max spanning 55vdc");
}

void loop
{
een aantal analoge monsters nemen en ze optellen
terwijl (Scount < NSAMP) {}
som += analogRead(A0); / / lezen en toevoegen van de monsters
Val = (analogRead(A0)); opslag voor MAX Temp / MIN
tft.setCursor (45, 110);
TFT.println(val);
if(Val > Vmax) {//get MAX waarde van monster
(VMAX = val);
}
if(Val < VMIN) {//get MIN waarde van monster
(VMIN = val);
}
Scount ++; //increment de graaf monster
vertraging (10); //Wait 10 mS vóór het lezen van de volgende monster
}
Zodra gedaan bemonstering, berekenen en weergeven van de berekende gemiddelde spanning
V1 = ((float)sum / (float)NSAMP * VREF * Dv1                                                                                                                      ) / 1024.0;
tft.setTextColor(ST7735_YELLOW,ST7735_BLACK);
tft.setCursor (45, 40);
tft.setTextSize(2);
TFT.println ("V1");
tft.setCursor (10, 60);
TFT.Print(v1);
TFT.println ("Vdc");
tft.setCursor (20, 90);
tft.setTextSize(1);
tft.setTextColor(0xff00,ST7735_BLACK);
TFT.Print ("VMAX");
TFT.Print ((float) VMAX * VREF/1023 * Dv1) ;// berekenen en weergeven van de berekende maximale spanning
TFT.println ("Vdc");
tft.setCursor (20, 100);
tft.setTextColor(ST7735_GREEN,ST7735_BLACK);
TFT.Print ("VMIN");
TFT.Print ((float) VMIN * VREF/1023 * Dv1) ;// berekenen en weergeven van de berekende Minimum spanning
TFT.Print ("Vdc");

Scount = 0; Reset monster graaf
som = 0;    resetten van de som
}

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

/*--------------------------------------------------------------
Programma: 4 kanaal voltmeter voltmeter

Beschrijving: 4 kanaals DC voltmeter met spanningen weergegeven
op kleur TFT LCD tot op 1 decimaal, met behulp van bemonstering en gemiddeld

Hardware: Arduino NANO of UNO met spanning dividers op A0 tot A3.
TFT LCD aangesloten

Software: Ontwikkeld met behulp van de Arduino 1.0.3 software

Datum: 10 maart 2014

Auteur:
--------------------------------------------------------------*/
#define sclk 13
#define mosi 11
#define cs 10
#define dc 9
#define rst 8 / / reset

#include / / core grafische bibliotheek
#include / / hardwarespecifieke bibliotheek
#include
Adafruit_ST7735 tft = Adafruit_ST7735 (cs, dc, rst);
aantal analoge monsters te nemen per lezing, per kanaal
#define NSAMP 100 / / aantal monsters te nemen befor weergeven
voltage divider kalibratie waarden
#define Dv1 11,00
#define Dv2 11.001
#define Dv3 11,00
#define Dv4 10.985
ADC referentie spanning / kalibratie waarde
#define VREF 5,00

int som [4] = {0};                bedragen van monsters
unsigned char Scount = 0;  het nummer van het monster van de huidige
zweven AVvolts [4] = {0,0};        berekende spanningen
char cnt1 = 0;                  gebruikt 'voor' loops

VOID Setup
{
tft.initR(INITR_BLACKTAB);   initialiseren van een tab ST7735S-chip, zwart
tft.fillScreen(ST7735_BLACK); scherm wissen
tft.setTextColor(ST7735_WHITE);
tft.drawRoundRect (2, 20, 120, 110, 5, ST7735_WHITE);
tft.setTextSize(1);
tft.setCursor(5,0);
TFT.println ("4 kanaal voltmeter");
tft.setTextColor(0XFF00);
tft.setCursor(0,140);
TFT.println ("Let op max spanning 55vdc");
}

void loop
{
een aantal analoge monsters nemen en ze optellen
terwijl (Scount < NSAMP) {}
genieten van elk kanaal A0 tot A3
voor (cnt1 = 0; cnt1 < 4; cnt1 ++) {}
[cnt1] som += analogRead (A0 + cnt1);
}
Scount ++;
delay(10);
}
Bereken de spanning voor elk kanaal
voor (cnt1 = 0; cnt1 < 4; cnt1 ++) {}
AVvolts [cnt1] = ((float) som [cnt1] / (zweven) NSAMP * VREF) / 1024.0;
}
spanningen op het TFT LCC weergeven weergeven

spanning 1 - V1(pin A0
tft.setTextColor(ST7735_YELLOW,ST7735_BLACK); Stel de kleur voor V1
tft.setTextSize(2);
tft.setCursor (15, 40);
TFT.Print ("V1");
TFT.Print (AVvolts [0] * Dv1, 1);
TFT.Print ("V");
spanning 2 - V2(pin A1)
tft.setTextColor(ST7735_GREEN,ST7735_BLACK); / / kleur voor V2 instellen
tft.setCursor (15, 60);
TFT.Print ("V2");
TFT.Print (AVvolts [1] * Dv2, 1);
TFT.Print ("V");
voltge 3 - V3(pin A2)
tft.setTextColor(ST7735_CYAN,ST7735_BLACK); / / kleur instellen voor V3
tft.setCursor (15, 80);
TFT.Print ("V3");
TFT.Print (AVvolts [2] * Dv3, 1);
TFT.Print ("V");
spanning 4 - V4(pin A3)
tft.setTextColor(ST7735_WHITE,ST7735_BLACK); / / kleur voor V4 instellen
tft.setCursor (15, 100);
TFT.Print ("V4");
TFT.Print (AVvolts [3] * Dv4, 2);
TFT.Print ("V");
tft.drawRoundRect (2, 20, 120, 110, 5, ST7735_WHITE);
Reset tellen en bedragen
Scount = 0;
voor (cnt1 = 0; cnt1 < 4; cnt1 ++) {}
som [cnt1] = 0;
}
}

Gerelateerde Artikelen

Mini arduino Plotter zonder een servomotor

Mini arduino Plotter zonder een servomotor

In dit project die zal ik u tonen hoe zet van twee oude DVD-schijven in een mini plotter.this project is eenvoudig en gemakkelijk om te doen en maakt een goede praktijk, als je wilt om een echte CNC machine (dit is waarom ik begon dit project voor te
Weergave van getallen met behulp van een zelfgemaakte arduino mini schild!

Weergave van getallen met behulp van een zelfgemaakte arduino mini schild!

In dit instructable ik zal je laten zien hoe u kunt besturen van numerieke displays(image below) met behulp van slechts 4 pins [met uitzondering van de macht (V + en gnd)].Deze maakt gebruik van een decoder 4511 ic die ik op een perfboard, met een bo
WEEKLIMATIC Arduino programmeerbare thermostaat

WEEKLIMATIC Arduino programmeerbare thermostaat

Het is een programmeerbare thermostaat Arduino gebaseerd.Tot 9 wekelijkse programma's kunnen worden opgeslagen.Drie modaliteit: SET PROGRAM, AUTO MODE, PROGRAM MODETwee programma modaliteit: op Mode / OFF-modus.. .en meer fuctions, volledig aanpasbaa
Mini Arduino CNC

Mini Arduino CNC

Dit instructable toont u hoe te bouwen van een goedkoop en eenvoudig, maar zeer kleine CNC met behulp van de Arduino UNO. U kunt het dunne hout van de molen, andere schuimen of u kunt gebruiken voor het uitzetten van verschillende schetsen en ook kan
Hoe te programmeren Pro Mini Arduino Arduino Uno en ArduShield - zonder de kabels met

Hoe te programmeren Pro Mini Arduino Arduino Uno en ArduShield - zonder de kabels met

Het hoofddoel van deze instructie is om u te tonen hoe te programmeren in de meest eenvoudige manier Arduino Mini of de Pro Mini Arduino met een Arduino UNO en ArduShield – zonder de kabels.Stap voor stap handleiding, met geen stappen overslaan door
Mini Arduino Multi functie Controller w / LCD Display

Mini Arduino Multi functie Controller w / LCD Display

dit Instructable bouwt voort op de Arduino omgeving minimonitor en Arduino EEG minimonitor Instructables.U kunt maximaal 4 Relais met behulp van de tijd, temperatuur en/of licht, je geest, controle of welke sensor u wilt gebruiken.De voorbeelden zijn
Arduino-programmeerbare LED Infinity spiegel

Arduino-programmeerbare LED Infinity spiegel

Ben je moe van het kijken naar kamer elementen die lijken te hebben van eindige diepte?Misschien moet je overwegen bouwen van uw eigen Arduino-programmeerbare LED Infinity spiegel!Deze optische illusie is een eye-catcher en biedt veel ruimte voor aan
Zet uw real-time klok module in een mini schild. Vervelend draden te elimineren.

Zet uw real-time klok module in een mini schild. Vervelend draden te elimineren.

Een ding dat ik haat terwijl prototyping is al die draden overal!Nou, ik keek mijn I2C Tiny RTC-module, en dacht..."Als ik line-up van de SCL met A5 (dat is waar het voor mijn bibliotheek verbindt) en SDA met A4... het zet de VCC in A3, en GND in A2.
Uploaden van schetsen naar Pro Mini Arduino gebruik Arduino UNO bord (zonder het verwijderen van Atmel Chip)

Uploaden van schetsen naar Pro Mini Arduino gebruik Arduino UNO bord (zonder het verwijderen van Atmel Chip)

Dit schetst een procedure voor het gebruik van de ingebouwde USB van de Arduino UNO de aan Serial(TTL) convertor te schetsen uploaden naar Pro Mini Arduino board zonder de noodzaak voor het verwijderen van de UNO Atmel micro-controller chip. Dit is h
Mini Arduino draagbare EEG - hersenen golf Monitor +

Mini Arduino draagbare EEG - hersenen golf Monitor +

dit is een ander voorbeeld van de veelzijdigheid en de Arduino, een kleine LCD-kleurenscherm en het juiste type van sensoren, zijn wat kan doen.OPMERKING:Dit is een work in progress... Ik zal werken aan verschillende fasen totdat ik voltooi een "draa
Uploaden van de schets naar Pro Mini Arduino met behulp van usbASP

Uploaden van de schets naar Pro Mini Arduino met behulp van usbASP

In deze tutorial tweetalig (Engels en Indonesisch, Indonesisch versie onder scheidingslijn met cursieve stijl), zullen we leren hoe om te uploaden van de schets ("schets" is de term voor programmacode die is geschreven voor Arduino) met Arduino
Hoe maak je een Mini Racing Drone

Hoe maak je een Mini Racing Drone

Ten eerste, dit is mijn eerste instructable dus wees voorzichtig.Nu dat die uit de weg is, 'm I gonna leren u hoe te bouwen van een mini drone racing. Dit is een hobby die snel is gegroeid in populariteit en na het lezen van dit artikel zult u beginn
Hoe maak je een mini USB-stofzuiger

Hoe maak je een mini USB-stofzuiger

Hoe maak je een mini USB-stofzuiger-deel 1Hoe maak je een mini USB-stofzuiger deel 2Stap 1: Een mini USB-stofzuiger moet u!!! In de video's vandaag ga ik om u te tonen het volgende idee van ambachten en zelfgemaakte dingen, eigenlijk hoe maak je een
Hoe maak je een mini 3D Cinema voor Smartphones en Tablets / i3DG

Hoe maak je een mini 3D Cinema voor Smartphones en Tablets / i3DG

Gemakkelijk & leuk idee!!Stap 1: Foto & Video Instructables Wilt u weten hoe maak je een mini 3D bioscoop thuis? Dus deze video voor jou is!Stap 2: Het gaat om je te leren hoe maak je een mini 3D bioscoop met behulp van verkopen-telefoon of tablet