ThermoClock: Ein OpenSource Arduino UNO OLED-Uhr, die auch Temperatur misst (4 / 5 schritt)


Schritt 4: Code & Bibliotheken

In diesem Schritt zeige ich Ihnen die wichtigsten code kopieren oder als vollständige .ino-Datei, die Sie mit Arduino IDE öffnen können herunterladen werden kann. Die Datei heißt ThermoClock_v2.6.16 und es im Beta-Test ist, so will ich Ihre Anregungen auf, wie und was ich ändern sollte, um es besser zu machen.

Nun nehmen Sie einen Blick auf sie.

 <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> 

Wenn Sie nicht wie die aktuelle Schriftart können Sie es ändern, indem Sie den Code bearbeiten. Alle unterstützte Schriftarten finden Sie hier.

Bibliotheken, die Sie benötigen:

DS1307RTC, u8glib und Zeit, die Bibliotheken herunterladen und dann entpacken Sie sie in /Program Files(x86)/Arduino/Bibliotheken (Standard).

In Verbindung stehende Artikel

Einführung in die ARDUINO UNO-R3

Einführung in die ARDUINO UNO-R3

Hallo Jungs, weiß man was ein Arduino-Board ist. Aber als Anfänger (oder) ein Anfänger können Sie eine Schwierigkeit bei der Auswahl des richtigen Mainboards aus der Vielzahl der Bretter in Arduino Familie gegenüberstellen.Für Sie empfehle ich Arduin
DHT11 und Arduino UNO; Die einfachste INSTRUCTABLE

DHT11 und Arduino UNO; Die einfachste INSTRUCTABLE

Hey Macher,In diesem Tutorial werden wir zu Arduino, DHT11 verbinden.Für weitere interessante Projekte zu besuchen: www.miymakers.comFacebook: www.facebook.com/miymakersSchritt 1: Wie funktioniert es?Der DHT11 ist eine grundlegende, ultra Low Cost Te
YouTube-Statistiken auf ein 320 x 240 Pixel LCD-Bildschirm an ein Arduino Uno angeschlossen anzeigen

YouTube-Statistiken auf ein 320 x 240 Pixel LCD-Bildschirm an ein Arduino Uno angeschlossen anzeigen

Dieser kleine Instructable wird Ihnen zeigen, wie ein 320 x 240 Pixel LCD-Monitor angeschlossen an ein Arduino Uno mit einem Netzwerk-Schild zu verwenden, um Statistiken für Youtube-Kanäle zu zeigen.Ich habe dies, wie ich wollte sehen, wie viele Abon
Arduino UNO als AtMega328P Programmierer

Arduino UNO als AtMega328P Programmierer

Nach Erhalt meiner ersten Arduino UNO, wurde mir bald klar, dass es unpraktisch ist, verwenden Sie eine UNO für jedes Projekt werden. Wie bei der Mikrochip-Familie von MCUs, wollte ich eine einfache Möglichkeit zum Programm stand-alone-Schaltungen un
Arduino Uno - Passive Infrarot (PIR)

Arduino Uno - Passive Infrarot (PIR)

Hallo an alle...Ich habe versucht, mehr Instructables Zeit erlaubt zu machen.Wir wollen in dieser Instructable einen Passive Infrarot (PIR) Sensor Draht zu unseren Arduino Uno in der Hoffnung, eine Möglichkeit, die Bewegung für ein zukünftiges Heim P
$10 Arduino WiFi Bewegungsmelder (PIR), die in SQL über billige ESP8266 Modul schreibt

$10 Arduino WiFi Bewegungsmelder (PIR), die in SQL über billige ESP8266 Modul schreibt

Hallo!Dies ist mein erster instructable also wenn etwas unklar ist, lass es mich wissen und ich werde versuchen, es zu erklären!Mein Szenario war wie folgt: Ich habe einen externen Ort, von denen ich möchte wissen, ob jemand da ist. Der einfachste We
DIY-Bluetooth Telefon gesteuert BB-8 Droid mit Arduino UNO

DIY-Bluetooth Telefon gesteuert BB-8 Droid mit Arduino UNO

Ich bin ein großer Star Wars Fan und als ich sah, dass der Star Wars: The Force erwacht ich dachte, dass ich einen BB-8 Droiden brauchen. Es war toll, wie dieses kleine Kugel im Film bewegt. Also beschloss ich, dass ich diese Droid machen werde, die
Stripboard Arduino Shield für die Programmierung von ATtiny45 und ATtiny85

Stripboard Arduino Shield für die Programmierung von ATtiny45 und ATtiny85

diese instructable (Eingabe in die Arduino Challenge Contest - Sie können es oben wählen) zeigt wie man eine Stripboard Arduino Shield für die Programmierung von ATtiny45 oder ATtiny85 Mikrocontroller mit einem Arduino, nach diesen Tutorials aus der
Gewusst wie: verwenden Sie NeoPixel 16 Ring mit Arduino Uno

Gewusst wie: verwenden Sie NeoPixel 16 Ring mit Arduino Uno

Heute werde ich Ihnen zeigen, wie NeoPixel Ring mit Arduino Uno eine sehr einfache Art zu verwenden. Wie Sie wissen, wir lieben bunte LED, es wurde sogar auf einem Ring festgestellt!Die Notwendigkeit Liste:(1) Arduino Uno(2) NeoPixel Ring 16xWS2812 (
4 x 4 x 4 LED Cube (Arduino Uno)

4 x 4 x 4 LED Cube (Arduino Uno)

In diesem Tutorial werde ich Ihnen zeigen werde, wie ein 4 x 4 x 4 machen LED cube für ca. $15,00. Der Würfel hat 64 grünen LEDs bilden die 4 layers(positives) und 16 columns(negatives). Diese sind alle mit einem Arduino Uno verdrahtet. Arduino ist e
Gewusst wie: verwenden Sie mBlock-Software zur Steuerung Arduino UNO Board - Potentiometer mit LED-Licht

Gewusst wie: verwenden Sie mBlock-Software zur Steuerung Arduino UNO Board - Potentiometer mit LED-Licht

Ich beginne zu mBlock Software zu verwenden, da ich meine mBot Roboter Bausatz bekam. mBlock ist eine grafische Programmiersoftware soll anhand von Scratch 2.0 und Compaible mit Arduino UNO, Mega 2560, Leonardo und etc., in Zukunft mehr Hardware unte
Fix mein Garagentor mit einem Arduino UNO

Fix mein Garagentor mit einem Arduino UNO

Finden Sie in meinem Github:https://github.com/glscantlen/Instructions/Tree/Ma...Dieser Ordner enthält Anweisungen von Notizen während der Reparatur meine Garagentorantrieb entwickelt. Ich habe ein Geni 1/2HP Schraube Antrieb Garagentorantrieb, die v
Wie ein AVR (Arduino) mit einem anderen Arduino Programm

Wie ein AVR (Arduino) mit einem anderen Arduino Programm

diese Instructables ist nützlich, wenn:* Du hast Ihre Arduino mit atmega168 und Sie kaufte ein atmega328 Sie lokalen Elektronik-Geschäft. Es muss kein Arduino bootloader* Sie wollen ein Projekt zu machen, die Arduino - nur eine regelmäßige AVR-Chip (
Senden Sie e-Mail mit ESP8266 und Arduino UNO

Senden Sie e-Mail mit ESP8266 und Arduino UNO

Wie kommt man Adafruits "send_email_smtp.ino" senden Sie e-Mail mit ESP8266 und Arduino UNO.Und Beseitigung des Problems mit "keine Antwort vom Modul" viele haben.Das Modul arbeitet auf 3,3V Logik gemäß der Dokumentation, aber ich hatt