Arduino "Talande" Temp / fukt på en TFT LCD med reläer (4 / 5 steg)

Steg 4: Lägga till en Relay Board



i det här steget lägger vi till en 4 port relay board, som styr en luftkonditioneringen, värmare, fläkt och avfuktare. Om temperaturen går över 70 grader F, sedan komma fläkt och AC på. Om temp sjunker under 65 och luftfuktigheten är 50%, så kommit den värme, fläkt och avfuktare. Du kan anpassa din switch poäng och logik i koden.

Vi använder en SainSmart 4 port relay board, och ansluta 4 input rader till analoga portar repurposed som digitala utgångar. För mer information, se http://arduinotronics.blogspot.com/2013/01/working-with-sainsmart-5v-relay-board.html

SainSmart 4 port relay board inställningarna
Vi är få digitala portar, återanvända så
analoga ingångar som digitala utgångar

GND ansluten till Arduino GND
int relayPin1 = A0; In1 ansluten till digital pin A0
int relayPin2 = A1; IN2 ansluten till digital pin A1
int relayPin3 = A2; IN3 ansluten till digital pin A2
int relayPin4 = A3; IN4 ansluten till digital pin A3
VCC ansluten till Arduino + 5v

Tala enkel installation

#include
#define txPin 2
#define rxPin 5
SoftwareSerial sjSerial = SoftwareSerial (rxPin, txPin);

int bufferPin = 4; övervaka buffert halv full eller upptagen (jmp2)

/*
Arduino TFT text exempel

Det här exemplet visar hur man drar texten den
TFT med en Arduino. Arduino läser värdet
en analog sensor kopplad till pin A0, och skriver
värdet till LCD-skärmen, uppdatera varje
kvartalet andra.

Denna exempelkod är offentlig

Skapad 15 April 2013 av Scott Fitzgerald

http://Arduino.cc/en/tutorial/TFTDisplayText

*/

#include / / Arduino LCD-bibliotek
#include

PIN definition för Uno
SCL hårdvara 13
SDA hårdvara 11
#define cs 10
#define dc 9
#define rst 8

skapa en instans av biblioteket
TFT TFTscreen = TFT (cs, dc, rst);

char matris skriva ut på skärmen
char tempPrintout [6].
char humPrintout [6].

Exempel testning skiss för olika DHT luftfuktighet/temperatur sensorer
Skrivet av ladyada, offentlig
Fahrenheit konvertering till av Steve Spence, http://arduinotronics.blogspot.com

#include

#define DHTPIN 6 / / vilken pin vi är ansluten till

Avkommentera oavsett vilken typ du använder!
#define DHTTYPE DHT11 / / DHT 11
#define DHTTYPE DHT22 / / DHT 22 (AM2302)
#define DHTTYPE DHT21 / / DHT 21 (AM2301)

Ansluta pin + (mitten) av sensorn till + 5V
Ansluta stift S (på rätten) av sensorn till vad din DHTPIN är
Ansluta stift - (på vänster) av sensorn till marken
Ansluta 10 k motstånd mellan S och +

int cykelnTid = 2000.

DHT dht (DHTPIN, DHTTYPE);

float h;
flottör t;

void setup() {

Initiera SainSmart Relay Board
pinMode (relayPin1, produktionen); Anger den analoga pin som digital utgång
pinMode (relayPin2, produktionen); Anger den analoga pin som digital utgång
pinMode (relayPin3, produktionen); Anger den analoga pin som digital utgång
pinMode (relayPin4, produktionen); anger de analoga PIN-koden som digital utgång

digitalWrite (relayPin1, hög); Förhindrar reläer från att starta engagerad
digitalWrite (relayPin2, hög); Förhindrar reläer från att starta engagerad
digitalWrite (relayPin3, hög); Förhindrar reläer från att starta engagerad
digitalWrite (relayPin4, hög); Förhindrar reläer från att starta engagerad

initiera den seriell kommunikationen med SpeakJet-TTS256
Serial.BEGIN (9600);
pinMode (rxPin, ingång);
pinMode (txPin, produktionen);
pinMode (bufferPin, ingång);
sjSerial.begin(9600); / / set datahastigheten för SoftwareSerial port

Lägga denna rad i början av varje sketch använder som GLCD:
TFTscreen.begin();

Rensa skärmen med svart bakgrund
TFTscreen.background (0, 0, 0);

skriva den statiska texten på skärmen
Ange teckensnittsfärg till vitt
TFTscreen.stroke(255,255,255);
Ange teckenstorleken
TFTscreen.setTextSize(2);
Skriv texten till det övre vänstra hörnet av skärmen
TFTscreen.text ("Temp (F)", 0, 0);
Skriv texten till det övre vänstra hörnet av skärmen
TFTscreen.text ("luftfuktighet (%)", 0,60);
ste teckenstorleken mycket stor för loopen
TFTscreen.setTextSize(4);

DHT.BEGIN();

}

void loop() {

Läsa av värdet av temp/luftfuktighet sensor på D2

Läst temperatur eller fuktighet tar cirka 250 millisekunder!
Sensormätningar kan också vara upp till 2 sekunder "gamla" (det är en mycket långsam sensor)
h = dht.readHumidity();
t = dht.readTemperature();
t = (t * 1,8) + 32; C till F konvertering

String tempVal = doubleToString (t, 0);
String humVal = doubleToString (h, 0);
String sensorVal = String(1.234);

konvertera behandlingen till en char-matris
tempVal.toCharArray (tempPrintout, 6);
humVal.toCharArray (humPrintout, 6);

Ange teckensnittsfärg
TFTscreen.stroke(255,255,255);
skriva ut sensorn värdet
TFTscreen.text (tempPrintout, 0, 25);
TFTscreen.text (humPrintout, 0, 85);
vänta en stund
Delay(cycleTime);
Radera texten du skrev bara
TFTscreen.stroke(0,0,0);
TFTscreen.text (tempPrintout, 0, 25);
TFTscreen.text (humPrintout, 0, 85);

sjSerial.print ("temprature");
Delay(250);
sjSerial.print(tempPrintout);
Delay(500);
sjSerial.print ("luftfuktighet");
Delay(250);
sjSerial.println(humPrintout);

IF(t>70) {
digitalWrite (relayPin1, låg); slå på AC);
digitalWrite (relayPin2, hög); Stäng av värmen);
digitalWrite (relayPin3, låg); slå på FLÄKTEN);
digitalWrite (relayPin4, hög); stänga av avfuktaren);
}

om (t < 65 & & h < 50) {
digitalWrite (relayPin1, hög); stänga av AC);
digitalWrite (relayPin2, låg); slå på värmen);
digitalWrite (relayPin3, låg); slå på FLÄKTEN);
digitalWrite (relayPin4, hög); stänga av avfuktaren);
}

om (t < 65 & & h > 50) {
digitalWrite (relayPin1, hög); stänga av AC);
digitalWrite (relayPin2, låg); slå på värmen);
digitalWrite (relayPin3, låg); slå på FLÄKTEN);
digitalWrite (relayPin4, låg); slå på avfuktare);
}

om (t > 65 & & t < 70 & & h > 50) {
digitalWrite (relayPin1, hög); stänga av AC);
digitalWrite (relayPin2, hög); Stäng av värmen);
digitalWrite (relayPin3, låg); slå på FLÄKTEN);
digitalWrite (relayPin4, låg); slå på avfuktare);
}

om (t > 65 & & t < 70 & & h < 50) {
digitalWrite (relayPin1, hög); stänga av AC);
digitalWrite (relayPin2, hög); Stäng av värmen);
digitalWrite (relayPin3, hög); stänga av FLÄKTEN);
digitalWrite (relayPin4, hög); stänga av avfuktaren);
}
}

Omgångar ner (via förmedlande heltal konvertering trunkering)
Sträng doubleToString (dubbel ingång, int decimaler) {
IF(decimalPlaces!=0) {
Sträng sträng = String((int)(input*pow(10,decimalPlaces)));
IF(ABS(input) < 1) {
IF(input>0)
string = "0" + sträng;
annat if(input<0)
sträng = string.substring(0,1)+"0"+string.substring(1);
}
Return string.substring(0,string.length()-decimalPlaces) + "." + string.substring(string.length()-decimalPlaces);
}
annat {
återvända String((int)input);
}
}

Se Steg
Relaterade Ämnen

Göra ett oscilloskop med SainSmart Mega2560 med TFT LCD sköld och 3.5 "Cologne beröring skärm

Detta instructable visar dig hur man bygger en bärbar pekskärmOscilloskop för mindre än 40 U$!Oscilloskopet är en av de mest kraftfulla elektroniska instrument somär tillgänglig för elektronik hobby, praktiker och ingenjörer. Det äranvänds främst til...

Arduino Temp/fukt med LCD och webbgränssnitt

jag nyligen hjälpt en kund flyttar sitt kontor som inkluderade att inrätta ett nytt datorrum.Jag ville ha dem för att kunna kontrollera temperaturen och luftfuktigheten i rummet både genom att kontrollera en LCD-display i rummet och även via en webbs...

Hur du använder 2,4 tums TFT LCD-SPFD5408 med arduino MEGA 2560

Detta instructable visar dig hur gränssnittet SPFD5408 2,4 tums lcd till arduino MEGASteg 1:Steg 2: bibliotekNågra av er kanske har köpt denna LCD-skärm eller funderar på att fåen. Dess en stor skärm för att visa bilder och grafik. Jag köpte min för...

Din bild på en Arduino! -TFT LCD skärm Guide

har du hört talas om TFT LCD-skärmar? De är bra sätt att visa information från din Arduino eller Visa bilder. Arduino laget släppt precis en officiell TFT LCD-skärm med sina nya Robot på Maker Faire 2013. Det är mycket lätt att komma igång med! Denna...

2.4" TFT LCD Touch sköld Arduino

2.4" TFT LCD Touch sköld Arduino UNO Hej världen2.4" diagonal LCD TFT display 4-tråds Resistiv pekskärm LED bakgrundsbelysningSteg 1: skisser#include / / core grafik bibliotek#include / / maskinvaruspecifika bibliotek #include#define YP A1 / / m...

Hur du använder 2,4" TFT LCD sköld med Arduino Mega

I dag ska jag visa dig att vi vill använda 2,4" TFT LCD sköld (det finns mcufriend.com skriver på denna sköld) fungerar med Arduino Mega, eftersom det inte är så lätt att köra varandra. Men med denna instruktioner, du kan köra och ändra koder lätt en...

Arduino / TFT LCD-anslutning

Du säger att du vill koppla in en TFT-skärm till en Arduino? Skämtar du?No! För om priset för en bekant 2 x 16 LCD, du får en högupplöst TFT-skärm. För så lågt som $4 (frakt ingår!), är det möjligt att köpa en liten, skarp TFT skärm som kan vara grän...

Arduino - växten vattnas System med TFT LCD-väderstation skärmen

Hej peepz, jag skapade en prototyp växt vattning system med väderstation på en TFT LCD för inomhus växande.Naturligtvis kan du bygga den för att använda den utomhus till.Detta projekt fungerar men är bara grunden för ett större projekt... från här ka...

2.4 TFT LCD skärm + Arduino koden fast

Jag nyligen experimenterar 2.4" TFT LCD uppvisning med Arduino, jag köpte LCD inte avsedda att göra något men vill bara veta om det fungerar eller inte. Jag sökte på instructables, youtube men mycket kod inte fungerade, så fortsätter jag en intensiv...

Hur du använder 2,4 tums TFT LCD-SPFD5408 med Arduino Uno och Mega

Detta Instructable är att veta hur man arbetar TFT 2,4 med controller SPFD5408med Adafruit för TFT bibliotek.Detta bibliotek är Adafruit TFT bibliotek ändras till fungerar i TFT 2,4 sköldar med SPFD5408 controller.Nu är det för Uno och Mega, är Teens...

DIY Arduino Unit Converter: Hur man använder LCD:

här är en hemsk video av den arbetande. Jag kommer att lägga upp ett bättre senare.Naturligtvis är detta för det gör att lära ungdomar tävling, så här är Svaren på alla dina frågor!Vad gjorde jag?Jo tänkte jag det var dags min Arduino lärde mig att g...

Hur man gränssnitt LCD med Arduino

Idag i detta instructable i kommer att visa hur du kan gränssnitt en LCD med arduino.Dess mycket enkelt DIY instrcutable alla kommer gjorde det på mindre än 10 minuter...Detta projekt också hjälper dig att visa dina data på LCD som samlas in från sen...

Temperatur mätning Display på 16 x 2 LCD med att justera temperaturen övre och undre gräns för varning använder Arduino

Hej alla, här är mitt första projekt med Arduino. I detta projekt kommer jag visa dig hur du mäter temperatur och visar det på en 16 x 2 LCD med Arduino, och vi kan använda 2-knappen för att välja vad vi vill se på LCD: grader Celsius eller Fahrenhei...

Hur du använder Nokia 5110 LCD med Arduino?

Idag, ska jag visa dig hur du använder Nokia 5110 display med Arduino styrelser med dessa enkla steg.Behovet av lista:1. Arduino UNO (med USB-kabel)2. Nokia 5110 LCD (med små kablar)Steg 1: AnslutningarnaFölj anslutningarna som visas i bilden. Du kan...

Grafik på Nokia 5110 Lcd med hjälp av Arduino

I denna korta instructable jag kommer till menypunkten displ lite grafik på Nokia 5110 LCD med hjälp av ARDUINO UNO R3 detta är mycket användbart för nybörjare är här är en test video.Steg 1: Material som krävs för Nokia 5510 LCDArduino ombordHoppare...

Hur du ansluter en seriell LCD med en Arduino Nano

I en tidigare instructable jag visat hur du ansluter den seriella LCD till en Arduino UNOIgår jag ville använda två Arduinos för ett RF-projekt och insåg att jag inte vet hur man använder den seriella LCD med Arduino Nano. Så med lite forskning jag k...

Arduino rfid läsa och skriva på lcd

Jag kommer att visa dig hur man gör arduino rfid läsa och skriva på lcdSteg 1:Hej du!Idag kommer jag visa dig hur man gör arduino rfid läsa och skriva på lcd. Ladda ner koden och ladda det på arduino det ingen spelar roll häxa en men jag föredrar uno...

Känna av temperaturen i rummet och visas i LCD med hjälp av Simulink och Arduino UNO

Fjärranalys och visning av rumstemperatur genom att använda Arduino är mycket vanligt och du hittar massor av tutorial instructablesand liknande webbplatser. Men jag har inte hittat någon tutorial någonstans hur man gör detta med hjälp av Matlab/Simu...

Monitor TFT miljö med BMP180 & DHT11

Redigera 3: e Jan 2015: gjorde några smärre justeringar & fixar till en guide. Kom ihåg att du måste använda mitt bibliotek som jag föreskriver något annat denna guide inte kommer att fungera.Detta projekt är inspirerad avDen använder en atmega328p-p...