Arduino TFT kleur klok (3 / 4 stap)

Stap 3: De Code


Sommige van de code komt rechtstreeks vanuit het voorbeeld schetsen die kwam met het schild en RTC-module. De rest was echt gekookt door jou en zwaar commentaar voor uw gebruiksgemak. Het één ding dat u moeten zult om op te letten is de verschillende manieren waarop die u voor het TFT-scherm instellen kunt. Het is ook beschikbaar als een eenvoudige breakout board (zonder de joystick of SD-kaartlezer) en de pinout is anders daarvoor. Er zijn ook meerdere versies van het schild, die worden aangegeven door de kleur van het tabblad op de screen protector. Mine kwam met een groen lipje maar alleen gewerkt met de zwarte tabblad coderegel ingeschakeld. Hebt u enkel een paar dingen om uit te proberen om jou werken. Verwijzen naar de voorbeeld-schetsen voor hulp.

U zult moeten omvatten de volgende bibliotheken:

  • Wire.h
  • SPI.h
  • RTClib.h
  • Adafruit_GFX.h
  • Adafruit_ST7735.h

Zorg ervoor dat u die hebt gedownload en geïnstalleerd in de IDE voordat u gaan. De eerste drie moeten in die exacte volgorde of krijg je compile errors. Ik was stumped voor vrij een tijdje voordat ik dat kleine lekkernij in een forum ergens gevonden.

Ik zal de code een beetje uitleggen. Om te kiezen van een kleur op het scherm te gebruiken hebt u een 16-bit hex waarde te gebruiken, maar het is in een rare configuratie die is een beetje moeilijk te begrijpen aanvankelijk. Het heet 565 kleur en dat is omdat de groene waarde wordt anders behandeld. Er is vijf bits voor rood en blauw, maar omdat je ogen gevoeliger voor groen is het 6 bits gebruikt voor die. Dus hebt je 16 waarden voor rood en blauw, en 32 waarden voor groen. Maar dat is niet alles. De laagste waarde is eigenlijk nul, zodat de hoogste waarde eigenlijk 15 of 31 is.

Terwijl u kunt uitstappen van een hex grafiek en sommige converteren het is soort van lastig doen te worden voortdurend te typen in de kleurwaarden in hex als 0xFFFF voor white (u kunt verklaren sommige kleurwaarden, de top van de schets zien) de GFX bibliotheek biedt een leuke kleine functie om te zorgen voor de dingen voor u met behulp van waarden van 0 tot 255.

Wat het tijdgedeelte van de schets doet is neem de uurwaarde en de kaart-functie gebruiken om de 24 uur, 60 minuten, en 60 seconden converteren naar waarden tussen 0 en 255. Vervolgens stekkers het die variabelen in het tft. Color565 functie en het zorgt voor het bedenken van de hexadecimale waarde. Uren geven de waarde voor rood, minuten het groen en seconden van de blauwe.

redValue = map(hour(t), 23, 0, 0, 255);

grnValue = map(minute(t), 59, 0, 0, 255);

bluValue = map(second(t), 59, 0, 0, 255);

tft.fillRect (0, 0, 50, 160 (tft. Color565(redValue, grnValue, bluValue)));

Dat is wat de schets gebruikt om de kleuren van de tekst en het veld instellen. Ik gesold met de afschaffing van de zwarte balk en in plaats daarvan de tijd weergegeven in zwart met een duidelijke tekst op de achtergrond, maar het was een beetje flickery. Dat is waarom de bar bestaat en het trekt twee rechthoeken van kleur in plaats van gewoon het scherm vullen met kleur.

Wat betreft de kleuren die u kunt krijgen om te weten waar je in de dag of uur met enkel een snelle blik bent.

Net na middernacht het erg donker is omdat de rode (uren) waarde nul en zo is zijn de blauw en groen (minuten en seconden). Zoals de seconden aan te kruisen dingen krijgen blauwer en blauwer tot de minuut teken over en een klein beetje groen is toegevoegd en de blauwe waarde gaat terug naar nul. Wanneer het is bijna een uur dingen is met de seconden dingen rekening teal als zeer groene zullen kruipen ze.

Door lunchtijd is er een behoorlijke hoeveelheid rood in het spel dus dingen beginnen te krijgen een beetje meer paarse.

En tegen het einde van de dag, vooral net voor middernacht dingen zijn zeer helder omdat alle waarden zeer hoog op dit punt zijn.

Hebt u ook het schild met de joystick is het zeer gemakkelijk om toe te voegen wat code als u wilt instellen van de helderheid. Als u de eenvoudige route bent gegaan kunt u gewoon twee knoppen toevoegen op elke twee pinnen dat een digitalRead doen kunnen. Gebruik een bel de functie helderheid en dan de andere twee voor op en neer. Sloeg Selecteer opnieuw om af te sluiten.

Als u wilt volledig weg met knoppen doen kan je ofwel program van de helderheid afhankelijk van tijd van dag, of gebruik een foto-sensor en controle met ambient lichtniveaus.

Hier is de code:

Arduino Color klok - Pastebin Code

Gerelateerde Artikelen

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
ThermoClock: Een OpenSource Arduino UNO OLED klok die ook temperatuur meet

ThermoClock: Een OpenSource Arduino UNO OLED klok die ook temperatuur meet

Hallo, iedereen!Vandaag ga ik u tonen hoe te maken een OpenSource Arduino UNO OLED klok dat ook maatregelen temperatuur. Dit project is een OpenSource en het is open voor iedereen. Het vereist geen speciale ingenieur vaardigheden, en brengt u minder
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 + TFT visuele muziek =

Arduino + TFT visuele muziek =

Samenvatting:Audio: In dit project de Arduino leest een reeks van nota's geschreven in de notatie van de muziekformaat hebben wij gevraagd makkelijke taal van de muziek. Elke muzikale opmerking (of rest) selecteert, bepaalt de frequentie en speelt di
DIY Arduino LED kleur orgel 2.0

DIY Arduino LED kleur orgel 2.0

In dit project die ik u hoe tonen zal te bouwen van een Arduino LED kleur orgaan dat op verschillende frequentiebanden in uw muziek met lichten reageert toont. In mijn geval het rode lampje vertegenwoordigt de bas, de middelste frequenties groen lich
Arduino TFT tekstuele zelfstudie

Arduino TFT tekstuele zelfstudie

U moet dit delen:-Arduino Uno R3-TFT Display-De volgende Arduino LibraryStap 1: SrcDit is de src#include#include #define LCD_CS A3 #define LCD_CD A2 #define LCD_WR A1 #define LCD_RD A0 #define LCD_RESET A4 Adafruit_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR,
Arduino DCF77 Pulse klok

Arduino DCF77 Pulse klok

IntroductieDit Instructable u tonen hoe te maken van een digitale pulse klok en toe te voegen aan een oude klok zaak 12"(300mm) of inbelverbinding & omlijsting. Ik heb een oude Engelse bellen klok met 12" wijzerplaat gebruikt maar een klok m
Arduino + TFT Turtle Graphics-->

Arduino + TFT Turtle Graphics-->

De inspiratie voor dit Instructable kwam uit herinneringen van de schildpad afbeeldingen die waren een onderdeel van TI-Logo, een programma dat liep op de TI-99 4A huiscomputer. En het kwam uit de grafische mogelijkheden van het schild Adafruit 2,8"
Arduino + LEDs binaire klok =

Arduino + LEDs binaire klok =

Dit project werd genomen direct uit het boek "30 Arduino projecten voor het kwade genie" door Simon Monk.  Het is beschreven in detail dat begint op pagina 159.In principe is de stappen die ik heb zijn:1. na de beslissing van de grootte van de 1
Arduino-powered LED klok

Arduino-powered LED klok

Een leuke, eenvoudige LED klok, die krijgt u de tijd tot de dichtstbijzijnde half uur met één kleur LED's. Onderdelen nodig zijn als volgt:Arduino Nano400 stropdas-punt BreadboardLintkabelDS1307 RTC IC32.768 kHz kristal(12) 10mm LEDs(12) 180 Ohm weer
Arduino TFT beeldscherm en lettertype bibliotheek

Arduino TFT beeldscherm en lettertype bibliotheek

Ik ben nogal een fan van de Arduino, want er is zo veel software al beschikbaar op het internet, dit maakt voltooiing van nieuwe projecten gemakkelijker!Onlangs kocht ik een paar goedkope 1.8" TFT-beeldschermen voor een project, in eerste instantie k
Arduino - TFT-breedbeeldscherm van bitmap-afbeeldingen van een SD-kaart

Arduino - TFT-breedbeeldscherm van bitmap-afbeeldingen van een SD-kaart

Naar aanleiding van mijn andere Instructables op de Arduino en TFT is display hier een bijgewerkte bibliotheek en schets tot het opstellen van bitmaps (BMP of Raw) opgeslagen op een SD-kaart op het TFT-display.De meeste van de beschikbare TFT-beeldsc
Kleur kan ook tijd Build een LED kleur klok weergeven

Kleur kan ook tijd Build een LED kleur klok weergeven

Niet alle klokken cijfers om de tijd weer te gebruiken. Deze keurige kleine klok vertelt je de tijd met behulp van verschillende kleuren voor elk cijfer. De kleuren zijn gebaseerd op de weerstand kleurencode (soort van), dus voor de meeste elektronic
Arduino TFT voorspelling weerstation met ESP8266

Arduino TFT voorspelling weerstation met ESP8266

Dit project bouwt voort op Wunderground weerbericht via het Internet.Specificaties:1. 3 dagen weerbericht (Low & High temps, waarschijnlijk van neerslag, voorwaarde pictogrammen)2. de huidige weersomstandigheden (huidige temperaturen feelslike temp,