DHT11 + 7 Segment Display (1 / 2 steg)
Steg 1: Koden...
Som jag har sagt att de flesta av koden inte skrevs av mig, tillhör upphovsrätt eller patent upphovsmännen. Jag hittade också många instructablers sällan diskutera på den kod som de används, så jag lägga koden här på syftet med fallstudie endast.
int aPin = 12. int bPin = 8; int cPin = 4; int dPin = 6; int ePin = 7. int fPin = 11; int gPin = 3; int GND1 = 13. int GND2 = 10; int GND3 = 9; int GND4 = 2; int DATA_PIN = 5; int DTime = 30. #include DHT11 dht11(DATA_PIN);
void setup() {/ / lägga installationen koden här, om du vill köra en gång: Serial.begin(9600); pinMode (aPin, OUTPUT); pinMode (bPin, produktionen); pinMode (cPin, produktionen); pinMode (dPin, produktionen); pinMode (ePin, produktionen); pinMode (fPin, produktionen); pinMode (gPin, produktionen); pinMode (GND1, OUTPUT); pinMode (GND2, OUTPUT); pinMode (GND3, OUTPUT); pinMode (GND4, OUTPUT);}
void loop() {/ / sätta din huvudsakliga kod här, för att köra flera gånger: int fuktigt = 0, temp = 0; int d1, d2, d3, d4; switch(dht11.read()) {fall DHT11::OK: humid=dht11.getHumidity(); temp=dht11.getTemperature(); d1 = temp/10; d2 = temp-(d1*10); d3 = fuktig/10; d4 = humid-(d3*10); displayData (d1, d2, d3, d4); break;}}
void displayData (int d1, int d2, int d3, int d4) {digitalWrite (GND1, hög); pickNumber(d1); delay(DTime); digitalWrite (GND1, låg); digitalWrite (GND2, hög); pickNumber(d2); delay(DTime); digitalWrite (GND2, låg), digitalWrite (GND3, hög); pickNumber(d3); delay(DTime); digitalWrite (GND3, låg); digitalWrite (GND4, hög); pickNumber(d4); delay(DTime); digitalWrite (GND4, låg);}
void pickNumber(int x) {switch(x) {mål 1: one(), paus, fall 2: two(), paus, fall 3: three(), paus, fall 4: four(); break; fall 5: five(); break; fall 6: six(), paus, ärende 7: seven(), paus, ärende 8: eight(), paus, ärende 9: nine(), paus, standard: zero(); break;}}
void one() {digitalWrite (aPin, hög), digitalWrite (bPin, låg), digitalWrite (cPin, låg); digitalWrite (dPin, hög); digitalWrite (ePin, hög), digitalWrite (fPin, hög), digitalWrite (gPin, hög);}
void two() {digitalWrite (aPin, låg), digitalWrite (bPin, låg), digitalWrite (cPin, hög); digitalWrite (dPin, låg); digitalWrite (ePin, låg), digitalWrite (fPin, hög), digitalWrite (gPin, låg);}
void three() {digitalWrite (aPin, låg), digitalWrite (bPin, låg), digitalWrite (cPin, låg); digitalWrite (dPin, låg); digitalWrite (ePin, hög), digitalWrite (fPin, hög), digitalWrite (gPin, låg);}
void four() {digitalWrite (aPin, hög), digitalWrite (bPin, låg), digitalWrite (cPin, låg); digitalWrite (dPin, hög); digitalWrite (ePin, hög), digitalWrite (fPin, låg), digitalWrite (gPin, låg);}
void five() {digitalWrite (aPin, låg), digitalWrite (bPin, hög), digitalWrite (cPin, låg); digitalWrite (dPin, låg); digitalWrite (ePin, hög), digitalWrite (fPin, låg), digitalWrite (gPin, låg);}
void six() {digitalWrite (aPin, låg), digitalWrite (bPin, hög), digitalWrite (cPin, låg); digitalWrite (dPin, låg); digitalWrite (ePin, låg), digitalWrite (fPin, låg), digitalWrite (gPin, låg);}
void seven() {digitalWrite (aPin, låg), digitalWrite (bPin, låg), digitalWrite (cPin, låg); digitalWrite (dPin, hög); digitalWrite (ePin, hög), digitalWrite (fPin, hög), digitalWrite (gPin, hög);}
void eight() {digitalWrite (aPin, låg), digitalWrite (bPin, låg), digitalWrite (cPin, låg); digitalWrite (dPin, låg); digitalWrite (ePin, låg), digitalWrite (fPin, låg), digitalWrite (gPin, låg);}
void nine() {digitalWrite (aPin, låg), digitalWrite (bPin, låg), digitalWrite (cPin, låg); digitalWrite (dPin, låg); digitalWrite (ePin, hög), digitalWrite (fPin, låg), digitalWrite (gPin, låg);}
void zero() {digitalWrite (aPin, låg), digitalWrite (bPin, låg), digitalWrite (cPin, låg); digitalWrite (dPin, låg); digitalWrite (ePin, låg), digitalWrite (fPin, låg), digitalWrite (gPin, hög);}