LCD-display för temperatur i C eller F genom att välja typ med en IR-fjärrkontroll (3 / 4 steg)
Steg 3:
Kopiera och klistra in följande program.Glöm inte att ändra din "results.value"
/*
Detta program kommer att tillåta dig att visa på en LCD temperaturen på platsen i ° C eller ° F som användaren vill genom att använda en infraröd fjärrkontroll.
Detta program är skriven av Pierre-Olivier TILLOY är gratis för modifiering.
Anslutning:
GND - port av Arduino kortet ansluts till den "-" kolumn i rutnätet. (GND)
-5V port av Arduino kortet ansluts till den "+" kolumnen i rutnätet.
-LCD VSS pin-kontakter till den "-" kolumn i rutnätet (GND).
-LCD VDD pin pluggar "+" kolumnen i rutnätet (5V).
-LCD V0 pin ansluts till centrala variatorn stift.
-Arduino portnummer 7 ansluts till LCD-RS stift.
-Arduino portnummer 8 ansluts till LCD E stift.
-Arduino portnummer 9 ansluts till LCD-D4 stift.
-Arduino portnummer 10 ansluts till LCD-D5 stift.
-Arduino portnummer 11 ansluts till LCD-D6 stift.
-Arduino portnummer 12 ansluts till LCD-D7 stift.
-Arduino kort port A0 ansluts till vänster LM35 givarstaven.
-Rätt LM35 pin-kontakter "+" kolumnen i rutnätet. (5V) (Rätt stift när sensorn ansikten till användaren).
-Cnetral LM35 pin ansluts till den "-" kolumn med en resistor (330 kΩ).
-2 utanför variatorn pins ansluts till den "-" kolumn i rutnätet.
-LCD RW pin-kontakter till den "-" kolumn i rutnätet.
-LCD A pin-kontakter "+" kolumnen i rutnätet.
-LCD K pin ansluts till den "-" kolumn i rutnätet.
-Vänster infraröd sensor stift (när sensorn ansikten till användaren) ansluts till Arduino kort portnummer 2.
-Centrala infraröd sensor stift ansluts till den "-" kolumn i rutnätet.
-Rätt infraröd sensor pin-kontakter "+" kolumnen i rutnätet.
För Sainsmart kort, vänligen kontrollera strömbrytaren är på 5V.
/! \ KONTROLLERA ATT KABLARNA ÄR BRA ANSLUTEN ANNARS LCD-SKÄRMEN KAN VISA FEL VÄRDE /! \
*/
#include "IRremote.h" //Include IR bibliotek.
#include "LiquidCrystal.h" //Include LCD bibliotek.
int tempPin = 0; Vi definierar den mottagna variavle av sensorn med värdet 0.
flyta tempC = 0; Vi definierar en temperatur variabel i celcius som vi fördefiniera värdet 0.
flyta tempF = 0; Vi definierar en temperatur variabel i fahrenheit som vi fördefiniera värdet 0.
LiquidCrystal lcd (7, 8, 9, 10, 11, 12); Vi definierar wich är LCD-gränssnitt stift.
int IRpin = 2; Vi deklarerar variabeln sneding av infraröd sensor pluggar till port 2 Arduino kortet.
IRrecv irrecv(IRpin); Vi tillkännager IRpin variabeln är den PIN-kod som tar emot IR-data.
decode_results resultat. Vi avkodar IR-signalen.
Ogiltiga inställningar () {
Serial.BEGIN(9600); Data transport sker i 9600bps.
irrecv.enableIRIn(); Aktivera mottagande processus.
LCD.BEGIN (16, 2); Ange antalet square per rad sedan numrera av fodrar av LCD-skärmen.
lcd.setCursor (3, 0); Vi visar var börjar texte ska visas.
LCD.Print("temperature"); Vi anger texten till diplay.
lcd.setCursor (5, 1);
LCD.Print("sensor");
Delay(2000); Vi definierar tiden för visning (i millisekunder).
LCD.Clear(); Rensa skärmen.
lcd.setCursor (4, 0);
LCD.Print("program");
lcd.setCursor (3, 1);
LCD.Print ("skriven av");
Delay(2000);
LCD.Clear();
lcd.setCursor (1, 0);
LCD.Print("Pierre-Olivier");
lcd.setCursor (5, 1);
LCD.Print("TILLOY");
Delay(3500);
LCD.Clear();
}
Ogiltig loop () {
om (irrecv.decode(&results)) {//Try att få en IR-koder.
Serial.println (results.value, DEC); Skriv ut värdekod i följetong monitor.
irrecv.Resume(); Förbereda sensorn för att få en ny kod.
}
Serial.println("");
Serial.println ("Donnee brut recu par le capteur de temperatur:"); Skriva ut text i följetong monitor.
Serial.println(analogRead(tempPin)); Skriva ut temperatur sensor värdet i följetong monitor.
int rawvoltage = analogRead(tempPin); Vi definierar en variabel är lika med analoga temperatur sensor värdet.
tempC = ((rawvoltage/1024.0)*5000.0)/100; Den variabla tempC ta positioneringsinställningar värde.
Serial.println (tempC); Vi skriva ut det nya värdet för tempC i den seriella moinitor.
lcd.setCursor (3, 0);
LCD.Print("temperature");
lcd.setCursor (4, 1);
LCD.Print ("är");
om (results.value == 16724175) {//Replace "16724175" av den värde som motsvarar din IR-koder. Om ditt valt värde är lika med värdet Inleverera, verkställa följande städerna programmet.
lcd.setCursor (7, 1);
LCD.Print(tempC);
lcd.setCursor(13,1);
LCD.Print("C");
Delay(500);
}
int tempF = (tempC * 9) / 5 + 32; Konvertering av température i fahrenheit.
Serial.println (tempF); Vi skriva ut det nya värdet för tempF i följetong monitor.
om (results.value == 16718055) {//Replace "16718055" av den värde som motsvarar din IR-koder. Om ditt valt värde är lika med värdet Inleverera, verkställa följande städerna programmet.
lcd.setCursor(7,1);
LCD.Print(tempF);
lcd.setCursor(13,1);
LCD.Print("F");
Delay(500);
}
} //End av programmet.