Stap 3: Maak de schets of arduino
Ik gebruikte LCD, math en DS1307 bibliotheek,
Hier is de code, ik neem aan dat u weet over hoe om het te uploaden in je board:
=====================
/*
* LCD RS pin naar digitale pin 12
* LCD inschakelen pin naar digitale pin 11
* LCD D4 pin naar digitale pin 5
* LCD D5 pin naar digitale pin 4
* LCD D6 pin naar digitale pin 3
* LCD D7 pin naar digitale pin 2
* LCD R/W pen op grond
* 10K Ohm weerstand:
* eindigt aan + 5V en ground
* wisser naar LCD VO pin (pin 3)
*/
#include < LiquidCrystal.h >
#include < DS1307.h >
#include < math.h >
Init de DS1307
DS1307 rtc (20, 21);
Init het LCD-scherm
LiquidCrystal lcd (22, 24, 26, 28, 30, 31);
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
VOID Setup
{
Instellen van de klok naar de run-modus
RTC.halt(false);
Serial.begin(9600);
Setup LCD 16 x 2 tekens
LCD.begin (16, 2);
De volgende regels kunnen worden uitgecommentarieerd te gebruiken van de waarden die al zijn opgeslagen in de DS1307
rtc.setDOW(SATURDAY); Dag van de Week ingesteld op zondag
rtc.setTime (13, 21, 0); Stelt u de tijd op 12:00:00 (24-uurs formaat)
rtc.setDate (11 05, 2013); Stel de datum tot en met 3e oktober 2010
SQW/Out tarief ingesteld op 1Hz en SQW inschakelen
rtc.setSQWRate(SQW_RATE_1);
rtc.enableSQW(true);
}
dubbele Thermister (int RawADC) {}
dubbele Temp;
Zie http://en.wikipedia.org/wiki/Thermistor voor uitleg van de formule
Temp = log(((10240000/RawADC) - 10000));
Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
Temp = Temp - 273.15; Converteren van Kelvin naar Celsius
retourneren Temp;
}
void loop
{
Tijd gecentreerd op de bovenste regel weergeven
lcd.setCursor (4, 0);
lcd.setCursor (0, 0);
LCD.Print(RTC.getTimeStr());
Lees temp sensor
dubbele temp = Thermister(analogRead(0)); Lees sensor
PRINT SCRN
lcd.setCursor(10,0);
LCD.Print(temp);
LCD.Print("C/");
Verkorte dag van de Week worden weergegeven in de linker benedenhoek
lcd.setCursor (0, 1);
LCD.Print(RTC.getDOWStr(FORMAT_SHORT));
Datum weergeven in de lagere juiste hoek
lcd.setCursor (6, 1);
lcd.setCursor (3, 1);
LCD.Print(",");
lcd.setCursor (4, 1);
LCD.Print(RTC.getDateStr());
}
================