ThermoClock: Een OpenSource Arduino UNO OLED klok die ook temperatuur meet (4 / 5 stap)

Stap 4: Code & bibliotheken

In deze stap ik zal u tonen de belangrijkste code die u kunt kopiƫren of downloaden als volledige Ino bestand die u met Arduino IDE openen kunt. Het bestand heet ThermoClock_v2.6.16. en het is in BETA test , dus ik wil uw suggesties over hoe en wat moet ik veranderen om het te maken beter.

Neem nu een kijkje op het.

 <br><p>/*************LIBRARIES**********************/<br>#include <U8glib.h> // OLED#include <Wire.h> // I2C #include <Time.h> // Time Manipulation #include <DS1307RTC.h> // DS1307 RTC /*************VARIABLES**********************/ char timebuf[10]; // Time char datebuf[10]; // Date int year2digit; // 2 digit year int year4digit; // 4 digit year int tmp102Address = 0x48;</p><p>const int SwitchTime = 10000; //switching time in millis /********************************************/ U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9, 8); // CLK=13, DIN=11, CS=10, DC=9, Reset=8 // // // /****************DRAW FUNCTION***************/ void draw(void) {</p><p>u8g.setFont(u8g_font_fub17r); // select font u8g.setPrintPos(30, 28); // set position u8g.print(timebuf); // display time u8g.drawHLine(0,33,128); // draw line u8g.setPrintPos(12, 55); // set position u8g.print(datebuf); // display date }</p><p>void draw1(void) { float celsius = getTemperature(); float fahrenheit = (1.8 * celsius) + 32; u8g.setFont(u8g_font_fub17r); u8g.setPrintPos(15, 28); u8g.print(celsius); u8g.print(" C"); u8g.setPrintPos(12, 55); u8g.print(fahrenheit); u8g.println(" F"); }</p><p>float getTemperature(){ Wire.requestFrom(tmp102Address,2); </p><p> byte MSB = Wire.read(); byte LSB = Wire.read();</p><p> //it's a 12bit int, using two's compliment for negative int TemperatureSum = ((MSB << 8) | LSB) >> 4; </p><p> float celsius = TemperatureSum*0.0625; if (celsius > 180) { celsius = (celsius - 256); // For negative temperatures } else { celsius; } return celsius; }</p><p>void setup(void) { } void loop(void) {</p><p>tmElements_t tm; if (RTC.read(tm)) { year2digit = tm.Year - 30; // 2 digit year variable //year4digit = tm.Year + 1970; // 4 digit year variable</p><p>sprintf(timebuf, "%02d:%02d",tm.Hour, tm.Minute, tm.Second); // format time sprintf(datebuf, "%02d/%02d/%02d",tm.Day, tm.Month, year2digit); // format date /********************************************/</p><p>u8g.firstPage(); // Put information on OLED do { draw(); } while( u8g.nextPage() ); delay(SwitchTime);</p><p>u8g.firstPage(); // Put information on OLED do { draw1(); } while( u8g.nextPage() ); } delay(SwitchTime); // Delay }</p> 

Als je niet van het huidige lettertype kunt u het gewoon door het bewerken van de code. Alle ondersteunde lettertypes zijn te vinden hier.

Bibliotheken u moet:

DS1307RTC, u8glib en tijd, het downloaden van de bibliotheken en vervolgens unzip hen op /Program Files(x86)/Arduino/Libraries (standaard).

Gerelateerde Artikelen

Arduino IoT weer klok

Arduino IoT weer klok

In dit Instructable bouwen we een klok die ook binnen en buiten de klimatologische omstandigheden toont.Ik gebruikte om een koele kleine klok die, naast het vertellend de tijd, ook de temperatuur in het huis, de datum en de buitentemperatuur via een
Arduino "Atomic" grootvader Klok

Arduino "Atomic" grootvader Klok

Ik wilde een electro-mechanische grootvader Klok die niet meer vereist wikkelen en corrigeren van elke week maar die keek en klonk zo origineel mogelijk.Zie mijn site hier Longcase klok WebsiteDit Instructable laat zien hoe Arduino gecontroleerd anal
DIY Bluetooth telefoon gecontroleerd BB-8 Droid met Arduino UNO

DIY Bluetooth telefoon gecontroleerd BB-8 Droid met Arduino UNO

Ik ben een grote fan van Star Wars en toen zag ik de Star Wars: The Force ontwaakt dacht ik dat ik behoefte aan een BB-8 droid. Het was geweldig hoe dit kleine gebied verplaatst in de film. Dus heb ik besloten dat ik moet dit droid die is gebaseerd o
Arduino Nano naar Arduino Uno-adapter

Arduino Nano naar Arduino Uno-adapter

Arduino Nano is een mooi, klein en goedkoop lid van de familie van de Arduino. Het is gebaseerd op de Atmega328 chip, wat maakt het zo krachtig als de grootste broer Arduino Uno, maar het kan worden verkregen voor minder geld. In Ebay nu Chinese vers
Alles in één Prototyping plaat voor Arduino Uno

Alles in één Prototyping plaat voor Arduino Uno

Rev3ProtoPack is een Arduino Uno breadboarding plaat die u om prototype circuits toestaat overal mee naartoe. Het heeft een 9 volt batterijhouder, Arduino Uno, Anti-Reflection, Anti-static bumper case en een half-formaat breadboard slot, zodat hebt u
ARDUINO UNO - kleinhandelsfase Anode RGB LED 3-kleur Blink met behulp van eenvoudige Code

ARDUINO UNO - kleinhandelsfase Anode RGB LED 3-kleur Blink met behulp van eenvoudige Code

Terwijl het krijgen van een knipoogje 3-kleur van een gemeenschappelijke kathode RGB LED eenvoudig is vond ik het een beetje vervelend om hetzelfde resultaat van een gemeenschappelijk anode een als gevolg van mijn zeer elementaire kennis van de ARDUI
VGA-Tetris met Arduino Uno

VGA-Tetris met Arduino Uno

Ik heb een kleurenversie van het klassieke spel TETRIS draait voor een VGA-monitor, door middel van een blote Arduino Uno en enkele andere componenten gereproduceerd.Het doel was om te voorkomen dat eventuele speciale schild of ter ondersteuning van
DHT11 en Arduino UNO; De EENVOUDIGSTE INSTRUCTABLE

DHT11 en Arduino UNO; De EENVOUDIGSTE INSTRUCTABLE

Hey Makers,In deze tutorial gaan we Arduino verbinding naar DHT11.Voor meer Intresting projecten bezoeken: www.miymakers.comFacebook: www.facebook.com/miymakersStap 1: Hoe werkt het?De DHT11 is een basic, ultra low cost digitale temperatuur en vochti
VGA-Pong met de Arduino Uno

VGA-Pong met de Arduino Uno

Ik heb repruduced een kleurenversie van de klassieke Pong uitgevoerd voor een VGA-monitor, met behulp van een kale Arduino Uno.Het is voor twee spelers en heeft het geluid ook. Het heeft vier kleuren en een resolutie van 120 x 60 pixels.Mijn doel was
Arduino voederen van xively.com met temperatuur van de DS18B20

Arduino voederen van xively.com met temperatuur van de DS18B20

dit instructable zal uitleggen hoe:* een DS18B20 temperatuursensor verbinding te maken met een arduino* Lees van de sensor via de 1-wire-interface* die gegevens naar xively.com verzenden rechtstreeks van de arduino* Bekijk de resulterende grafiek op
Arduino Uno verbinden met Crystalfontz 16 x 2 OLED met slechts 4 draden!

Arduino Uno verbinden met Crystalfontz 16 x 2 OLED met slechts 4 draden!

Deze modules zijn vrij aardig. Ze zijn even groot als onze CFAH1602C serie 16 x 2 tekens LCD-modules en dunner als een bonus. De OLED van contrast is fantastisch, en ze hebben een frisse look die is moeilijk te verslaan. Een ander aardig ding is dat
Arduino VFD Display klok Tutorial - een gids VFD-schermen

Arduino VFD Display klok Tutorial - een gids VFD-schermen

... + Een klein beetje over VFDsHerinner je je (nog) de weergave van uw oude CD-speler, HiFi-systeem of auto radio? Heb je ooit gemerkt de displays gebruikt op uw lokale supermarkt ziet u het gescande object en de prijs van het?Deze schermen hebben e
Tijdwaarneming op ESP8266 & arduino uno zonder een RTC (Real Time CLock)?

Tijdwaarneming op ESP8266 & arduino uno zonder een RTC (Real Time CLock)?

Zoals de titel al zegt, ik heb getest het bijhouden van tijd op mijn arduino uno en de ESP8266 / Wemos D1 planken (geprogrammeerd met arduino) zonder het gebruik van Bibliotheken, het internet of een RTC-eenheid. Een heleboel grote instructables hier
Android App MIT met behulp van de HC06 van de Bluetooth verbinding maken met een Arduino Uno

Android App MIT met behulp van de HC06 van de Bluetooth verbinding maken met een Arduino Uno

Speciale dank aan de volgende onlinebronnen voor getting mij begonnen...Willekeurige Nerd TutorialsForceTronics - youtubeStap 1: materialen:HC-06 Bluetooth-apparaatAndroid telefoon---ik heb een HTC 8, emulators voor iPhones zijn beschikbaar, maar ik