Lav en Arduino Voltmeter: 5 trin

Lav en Arduino Voltmeter: 5 trin

Indholdsfortegnelse:

Anonim

Dette er et meget simpelt projekt for mikrocontrollerbegyndere.

Bestyrelsen jeg bruger i denne tutorial er Arduino Uno (R3), men du kan bruge ethvert bord med små ændringer i kode (eller ingen ændringer overhovedet!).

Held og lykke!

forsyninger:

Trin 1: Lav en Arduino Voltmeter

Dette er et meget simpelt projekt for mikrocontrollerbegyndere.

Bestyrelsen jeg bruger i denne tutorial er Arduino Uno (R3), men du kan bruge ethvert bord med små ændringer i kode (eller ingen ændringer overhovedet!).

Held og lykke!

Trin 2: Dele liste:

  • Arduino Board
  • PC med Arduino IDE
  • 5 lysdioder (Løjre EUdeladelsen DIode)
  • 5 modstande (ca. 300Ω, behøver du ikke være meget præcis her)
  • potentiometer (værdi betyder ikke rigtig noget, du vil kun bruge det til at simulere spændingsændring)
  • nogle jumperkabler
  • et brødbræt
  • og grundlæggende programmeringskendskab

Trin 3: Logikken bag det:

Hver LED repræsenterer 1 volt, potentiometer bruges som en falsk "load", programmet er meget simpelt at bestemme "mellemrummet" mellem hver volt og bruge, hvis sløjferne gør LED'er tænd / sluk

Trin 4: Sammenkobling Alt sammen

Brug billedet som en vejledning (jeg bruger ben 2-6 til lysdioder og A0 for potentiometer og jeg bruger det samme i koden, så skift om nødvendigt)

Glem ikke at forbinde GND til LED'er også !!!(Undskyld, jeg savnede det, mens jeg lavede dette billede)

Trin 5: Koden

// Jeg vil bare dumpe hele koden i afsnittet nedenfor

// kode ser lidt lang ud, men det er det ikke

//god fornøjelse

// Kontroller værdien med multimeter, ret præcis huh

// du har koden nu spiller med den, ændrer den, gør det bedre, tilføjer summer eller nogle kan ikke have det sjovt med det.

// Denne kode er åben kilde, men hold venligst den sidste linie (kommentaren) int pot = A0;

int gled0 = 2; // alle lysdioder er forbundet med 330Ω modstand int gled1 = 3; int gled2 = 4; int yled0 = 5; int rled0 = 6; void setup () {Serial.begin (9600); pinMode (pot, INPUT); pinMode (gled0, OUTPUT); pinMode (gled1, OUTPUT); pinMode (gled2, OUTPUT); pinMode (yled0, OUTPUT); pinMode (rled0, OUTPUT); digitalWrite (gled0, LOW); digitalWrite (gled1, LOW); digitalWrite (gled2, LOW); digitalWrite (yled0, LOW); digitalWrite (rled0, LOW); } tomgangsløbe () {Serial.println (analogRead (pot)); if (analogRead (pot)> = 205) {// 1V digitalWrite (gled0, HIGH); forsinkelse (4); } hvis (analogRead (pot)> = 410) {// 2V digitalWrite (glid1, HIGH); forsinkelse (4); } hvis (analogRead (pot)> = 615) {// 3V digitalWrite (gled2, HIGH); forsinkelse (4); } hvis (analogRead (pot)> = 820) {// 4V digitalWrite (yled0, HIGH); forsinkelse (4); } hvis (analogRead (pot)> = 1023) {// 5V digitalWrite (gled0, HIGH); digitalWrite (gled1, HIGH); digitalWrite (gled2, HIGH); digitalWrite (yled0, HIGH); digitalWrite (rled0, HIGH); forsinkelse (150); digitalWrite (gled0, LOW); digitalWrite (gled1, LOW); digitalWrite (gled2, LOW); digitalWrite (yled0, LOW); digitalWrite (rled0, LOW); forsinkelse (150); } ellers {// 0V digitalWrite (gled0, LOW); digitalWrite (gled1, LOW); digitalWrite (gled2, LOW); digitalWrite (yled0, LOW); digitalWrite (rled0, LOW); }} // ved filip.skalec // Jeg håber du kunne lide denne øvelse //