Inhaltsverzeichnis:

Hotstuff: 9 Schritte
Hotstuff: 9 Schritte
Anonim
Heißes Zeug
Heißes Zeug

Mit dem Ziel, das größte kleine grafische Thermohygrometer zu werden, das für einen Arduino Uno verfügbar ist.

Anwendungen umfassen:

  • Temperaturüberwachung für Säuglinge/Kinderzimmer
  • Außengebäude Temperaturwächter
  • Gewächshausmonitor
  • Externe atmosphärische Prüfung
  • Haus-/Büro-HLK-Check und -Überwachung
  • Inkubatorüberwachung/-steuerung

HINWEIS: Dies ist kein Medizinprodukt und kann keine ordnungsgemäße Planung und Arbeitsbedingungen ersetzen!

- Merkmale

  • Völlig kostenlos für nicht-kommerzielle Nutzung.
  • Kommt mit einer superschnellen 7-Segment-Simulationsschrift "Rose Digital" und der 16-Segment mit voller Alpha, "Astro Nerd" (siehe Lizenzierung für Einschränkungen dieses Teils der Software, es ist für einen guten Zweck, versprochen)
  • Fast vollständig flimmerfreie Updates (1)
  • Auto-Ranging-Diagramm, das die gesamte Palette der DHT11- und DHT22-Sensoren abdeckt
  • Verwendet ein DHT11 (zur Not haben wir es nicht versucht) oder DHT22, um Temperatur und relative Luftfeuchtigkeit zu erhalten.
  • Zeigt die relative Luftfeuchtigkeit und Temperatur in Fahrenheit oder Celsius an
  • Zeigt Taupunkte (Kondensation) UND Frostpunkte (kondensierendes Eis) in den aktuellen Einheiten an
  • Blinkende grafische Warnungen bei feuchter und trockener Luft.
  • Vom Benutzer anpassbare proportionale Anzeigeschriftarten (Option)
  • Hauptanzeigebereich -9 -> 99 F oder -9 -> 80C (Bereichswarnung bei Überschreitung)
  • Luftfeuchtigkeit von 0% -> 99% RH.
  • Zeichnet die maximale und minimale Temperatur und Luftfeuchtigkeit seit dem Zurücksetzen auf
  • Enthält Steadmans Berechnungen und warnt vor unbequemen oder gefährlichen Arbeitsbedingungen
  • Erfordert ein Minimum an Teilen Uno, 3,5" TFT-Schild
  • Optional umschaltbare F/C
  • Programmierbare Heizungssteuerung (für Inkubatoren etc.)
  • Einfach zu bauen
  • Hochmodularer Code
  • Haben wir gesagt, es sei kostenlos?

(1) Pufferbeschränkungen auf der UNO bedeuten, dass die Karte während des Updates kurz blinkt.

Lieferungen:

Arduino Uno R3 (oder chinesischer Klon)

  • 1 DHT22 Temperatur- und Feuchtigkeitsmonitor (eBay/Amazon)
  • 1 TFT 3,5" Shield mit resistivem Touchscreen und SD-Kartenslot (siehe Text.)
  • Ein SPST-Schiebeschalter (optional).
  • Ein PC mit USB - zum Hochladen des Programms.
  • Ein 9-12V Netzteil.
  • Seitenschneider in guter Qualität
  • Lötkolben und Lötzinn. Pinzette für Kühlkörper. Überbrückungsdrähte.
  • Optional ein Gehäuse (Arduino Uno-Gehäuse haben nicht genug Platz für ein Displayschild).
  • Feiner Schrumpfschlauch (zum Ankleiden und Isolieren der Lötstellen).

Schritt 1: Was macht dieses Besondere?

Was macht dieses Besondere?
Was macht dieses Besondere?

Aber warten Sie, Sie haben die Bilder gesehen und dies ist nur ein weiterer Temperatur- und Feuchtigkeitsmesser, oder? Sie können diese bei eBay für ungefähr die gleichen Kosten wie das Arduino TFT-Shield erhalten, das wir für dieses Projekt verwendet haben.

Naja, nicht ganz… erlauben Sie mir, es zu erklären.

Coronavirus, Covid-19, SARS-Cov-2 … alles ziemlich beängstigende Dinge Eines der besten Dinge, die wir derzeit tun können, ist unsere Lunge zu pflegen und nirgendwo ist dies einfacher zu Hause. Wenn wir in einem modernen Büro arbeiten, sollte es eine gute Klimaanlage haben und die meisten modernen Autos haben ausgezeichnete Filter, die die meisten größeren Partikel aus der Außenluft aufnehmen, bevor sie in die Kabine gelangen. Das verlässt das Zuhause… der einzige Ort, an dem man sich sicher fühlt und wo die häufigsten Übel lauern. Während es möglich ist, die Legionärskrankheit durch einen schmutzigen Duschkopf zu bekommen (ja, wirklich!), ist das zum Glück ziemlich ungewöhnlich.

Aber es gibt etwas viel häufigeres, dass die meisten von uns nicht einmal darüber nachdenken, weil wir unser ganzes Leben damit gelebt haben.

Schimmel.

Genauer gesagt Schimmelsporen. Betrachten Sie sie als mikroskopisch kleine Samen, die von winzigen Fugengewächsen produziert werden, die sie im Dunkeln verstecken und sich frei in der Luft verteilen - oft ohne dass sie gestört werden müssen - und unsere Häuser mit allem füllen können, von diesen bösen schwarzen Flecken in den feuchten Ecken bis hin zu Trockenfäule und mehr.

Schimmel schadet Ihrem Eigentum nicht (was schon schlimm genug ist) er kann die gesamten Atemwege reizen - von unserer Nase und unseren Nebenhöhlen bis in die Lungenbläschen, die Millionen kleiner Bläschen, die unsere Lunge auskleiden - sie sind so klein, dass ausgestreckt würden sie ungefähr einen Tennisplatz abdecken. Das ist viel Platz für einen mikroskopisch kleinen Organismus, um hineinzukommen, sich zu verstecken und alle möglichen Verwüstungen anzurichten.

Und es gibt noch mehr…

Am anderen Ende der Skala kann auch trockene Luft verheerende Folgen haben. Die Oberfläche unserer Lunge ist mit einem sehr dünnen Film aus wässrigem Schleim bedeckt - er ist da, um die Gespenster in Schach zu halten und er leistet einen ziemlich guten Job, aber wenn die Luft zu trocken ist, trocknet auch dieser Schleim und das erschwert das Atmen.

Und es gibt noch mehr…

Menschen halten sich durch Verdunstung auf natürliche Weise kühl – wir schwitzen (an einem trockenen, heißen Tag ist es nicht wahrnehmbar), aber wenn die Luftfeuchtigkeit zunimmt, stellen die Menschen fest, dass das Wasser einfach auf ihrer Haut "steht" und sie beginnen, heiß zu werden. Sehr heiß.

In einigen Teilen der Welt (Australien und den Tropen) ist dies ein solches Problem, dass die Arbeiter sich der "effektiven Arbeitstemperatur" bewusst sein müssen - die Wetterkanäle bezeichnen dies oft als "gefühlte" Temperatur, denn als Hitze /Luftfeuchtigkeit steigt, die Wahrscheinlichkeit eines Hitzschlags und sogar des Todes wird zu einer sehr realen Möglichkeit.

Für einige Gründe und weitere Lektüre konsultieren Sie Wikipedia oder tauchen Sie ein!

en.wikipedia.org/wiki/Heat_index

Wenn Sie denken, "das wird mir nie passieren", denken Sie daran, dass dies mit dem Klimawandel in Breitengraden jenseits von Seattle zu einer sehr realen Möglichkeit wird und Sie an einem heißen "schwülen" Tag arbeiten, könnten Sie Ihre Gesundheit riskieren, ohne es zu merken.

Hitzeerschöpfung ist äußerst unangenehm und Hitzschlag ist ein ernster medizinischer Notfall.

Dieses Gerät ist also nicht nur ein schickes grafisches Thermometer/Hygrometer, es hat eingebaute Alarme, die vor Hitzschlagbedingungen warnen, hilft Ihnen bei der Entscheidung, wie gut Ihr Zuhause belüftet ist, und es sieht sogar ziemlich schick aus (wenn wir es selbst sagen).

Trotz alledem ist dieses Gerät nicht für medizinische Zwecke bestimmt und sollte nicht dort verwendet werden, wo die Gesundheit und Sicherheit der Arbeiter gefährdet sein könnten. Selbst wenn wir unseren Code zertifizieren könnten (können wir nicht), trägt die Hardware selbst diese Zusicherung nicht. Dies soll all diesen unordentlichen legalen Mumbo-Jumbo stoppen, aber es sollte Ihnen eine Vorstellung davon geben, wie gesund Ihr Zuhause ist!

Der Aufbau ist so einfach wie es nur geht, obwohl Sie den TFT-Schild "schlachten" müssen, weil wir ihn auf eine Weise verwenden werden, an die die Designer nie gedacht hatten.

HINWEIS: Da dieses Problem von jemandem angesprochen wurde, ist es erwähnenswert, dass DHT22-Sensoren eine behauptete Genauigkeit von ± 0,5 ° C und ± 1 % Rh aufweisen, was für viele Anwendungen ausreicht, jedoch nicht, wenn die Temperatur / Luftfeuchtigkeit kritisch ist. Wir planen, später eine Kalibrierung nach der Montage hinzuzufügen. Das DHT11 hat eine etwas ungenauere Temperaturmessung von ±1,0°C, sollte aber generell unsere Umgebung gut widerspiegeln.

Schritt 2: Zerlegen des TFT

Das TFT schlachten
Das TFT schlachten

Dies ist der einzige wirklich knifflige Teil und es ist die Art von Dingen, die Sie richtig machen müssen, denn es sei denn, Sie haben ein bisschen mit einem Lötkolben zu tun … nun, weniger darüber gesagt, desto besser.

Dieses Projekt *sollte* mit vielen Schilden dieser Auflösung und dieses Typs funktionieren - und die Software funktioniert mit jedem ATMega 328 oder größer (die Software passt sehr eng, nähert sich 99% der 28K, die zum Zeitpunkt des Schreibens verfügbar sind) und wir haben gequetscht so viele Funktionen drin, wie der Platz es zulässt.

Überprüfen Sie, ob alles funktioniert, bevor Sie mit dem Abhacken von Teilen beginnen

  1. Passen Sie das Display an den Arduino an - der uSD-Steckplatz befindet sich am Ende, wo die Stromversorgung und die USB-Anschlüsse eingehen. Die Hintergrundbeleuchtung geht an, wenn sie mit Strom versorgt wird, aber ansonsten tut sie nichts.
  2. Beachten Sie die Pin-Beschriftungen für den uSD-Kartenzugriff. Wir werden diese nicht brauchen, also geben wir dem Board einen sehr kurzen Haarschnitt.
  3. Auf unserem Board sind die Zielpins am Ende von J1 mit SD_SS, SD_DI, SD_DO und SD_SCK gekennzeichnet.
  4. Die letzten beiden Pins können Sie belassen oder entfernen - wir schneiden die aus unserem Board.
  5. Schneiden Sie nichts anderes ab, sonst funktioniert das LCD nicht! Zum Beispiel ist LCD_D0 (eine der Datenleitungen) sehr nahe, daher müssen Sie hier äußerste Vorsicht walten lassen.
  6. Überprüfen Sie zweimal, schneiden Sie einmal oder hoffen Sie, dass Sie einen neuen Header einlöten können!

Hinweis: Es ist möglicherweise möglich, die hier verwendeten SPI-Pins zu "multiplexen" und Daten auf der SD-Karte zu speichern, aber das überlassen wir anderen Herstellern.

Schritt 3: Anbringen / Löten des Sensors

Sensor montieren / verlöten
Sensor montieren / verlöten

Obwohl es nicht unbedingt notwendig ist, ist das Löten der Verbindungen der beste Weg, um dieses Projekt zu etwas zu machen, das Sie montieren und vergessen können.

Das Löten am DHT22 sollte nur von jemandem mit angemessenen Lötkenntnissen versucht werden. Der Sensor ist hochempfindlich gegenüber Temperatur- und Feuchtigkeitsänderungen. Eine namenlose Person überhitzte die Lötstifte bei uns leicht (Husten, Husten) und schickte den Sensor so weit aus der Kalibrierung, dass er sich weigerte zu funktionieren, bis wir ihn gemäß den Anweisungen des Herstellers "gekocht" hatten, um zu verhindern, dass er liest Fehler. Eine bessere Option für die meisten Leute ist es, einen vormontierten DHT11/22 mit einem für Starthilfekabel ausgelegten Header zu beziehen.

DHT22s verwenden eine serielle Single-Wire-Seriell-Verbindung, um mit der MCU zu kommunizieren - mit einer potenziellen Reichweite von über 10 m (> 32 Fuß) ohne Signalkonditionierung, sodass der Detektor in einiger Entfernung vom Arduino platziert werden kann.

Es stellte sich (nach dem Studium der Schaltpläne) heraus, dass der 6-polige In-Circuit Serial Programmer (ICSP)-Header am Ende der Platine mit den SPI-Pins verbunden ist, die von der Abschirmung für den SD-Kartenleser / -schreiber verwendet wurden. Die Verwendung dieser Pins hat keinen Einfluss auf Ihre Fähigkeit, das Board in Zukunft über USB zu programmieren, da sie hauptsächlich zum Debuggen und Programmieren des Uno mit einem seriellen Programmierer (FDTI) verwendet werden. Als Randnotiz sind wir Steve Wood von AudioSpectrum Analyzers in Großbritannien dankbar, dass er uns einen Ersatz lieferte, als unserer in Marcs riesigem Haufen von Bits verschwand.

Wenn Sie eine hochwertige Spitzzange haben, können Sie die Drähte umbiegen, damit sie einen DuPont-Stift aufnehmen können, aber Löten ist die bevorzugte Methode. Mit Vorsicht (und ruhiger Hand) ist es durchaus möglich, den DHT22 direkt an den Header zu löten.

Der Anschluss ist so einfach wie es nur geht, aber es ist wichtig, die Polarität zu beachten, da ein umgekehrtes Anschließen des Geräts es wahrscheinlich sofort zerstören kann. Obwohl der DHT22 vier Pins hat, ist Pin 3 nicht verbunden. Montierte Sensoren werden normalerweise nur mit drei Pins geliefert, die schön mit dem Header ausgerichtet sind. Wenn der Sensor auf der Rückseite liegt (siehe Abbildung), können Sie sehen, dass die Strom- und Datenpins korrekt ausgerichtet sind.

Schritt 4: Test und erste Verwendung

Test und Erstanwendung
Test und Erstanwendung

Alles, was übrig bleibt, ist, Ihr DHT22-Modul vorsichtig in den Arduino zu stecken und die Software einzurichten. Viele der cleveren Dinge werden von der Software erledigt, die durch die Grafikbibliothek von Adafruit, den MCUFriend-Anzeigetreiber von David Prentice und ebenso clevere Dinge von Robert Steadmans Berechnungen der "effektiven Wärme" ermöglicht wird.

Das einzige, was Sie in dieser Grundkonfiguration einrichten müssen, ist, der Software mitzuteilen, welche drei Pins verwendet werden.

Wenn Sie Ihren Sensor lieber anders verdrahten möchten, teilen die folgenden Zeilen in CONSTANTS. H dem Uno mit, wie er sich selbst konfigurieren soll.

#define DHT22_DATA 11

Der DH22 verwendet einen sehr konservativen Wert von 1 - 1,5 mA, wenn er einen Messwert misst, der weit unter dem typischen maximalen Wert von 20 mA liegt, sodass er keinen Stress verursacht. (Natürlich wird das Kurzschließen eines Pins das Gerät mit ziemlicher Sicherheit zerstören, daher empfehlen wir die Verwendung von Schrumpfschläuchen, wenn Sie den Sensor auf eine Heath Robinson-Steckplatine stecken.) Wenn alles gut geht, bootet HotStuff in etwa 5 Sekunden. Wenn ein Fehler erkannt wird, wird der Bildschirm schwarz und zeigt eine kurze Fehlermeldung an. Dies kann weitgehend ignoriert werden, da es nur bedeutet, dass der Sensor entweder nicht mit Strom versorgt oder nicht richtig verdrahtet ist.

Schritt 5: Verwendung des Instruments & FAQ

Verwendung des Instruments & FAQ
Verwendung des Instruments & FAQ

F: Ich kann Fintenspuren der unbeleuchteten Ziffern auf dem Bildschirm sehen. Ist das nicht ein Bug?

A: Nein, das ist beabsichtigt, obwohl es nicht in Stein gemeißelt ist. Die Idee war, das Aussehen eines "echten" LCD-Displays (im Vergleich zu einem hochauflösenden TFT) zu emulieren. Solche Displays verwenden große, vorgefertigte Blöcke, die wie Pixel ein- und ausgeschaltet werden können, aber im Gegensatz zu Pixeln können sie große Teile des Bildschirms einnehmen. Dadurch ist immer eine feine Spur des Materials sichtbar, die hier nachgeahmt wird.

F: Wie kann ich zwischen Celsius und Fahrenheit wechseln?

A: Die Funktion war zum Zeitpunkt der "Drucklegung" noch nicht vollständig getestet (weil jemand vergessen hat, nicht wahr…). Wir haben es jedoch überprüft und diese Funktion funktioniert (wenn gewünscht), aber einen kleinen SPST-Schiebeschalter mit dem einen Anschluss an Pin 12 und dem anderen an einer geeigneten Masse anzuschließen. Der schnellste Weg, dies zu tun, besteht darin, einen modifizierten DuPont-Stecker zu löten oder zu verwenden, um ihn an der Masse zu befestigen und den anderen entweder direkt an Pin 12 (einige Klone haben einen zusätzlichen Satz Durchgangslöcher für solche Dinge) oder an Originaldesigns, um dies zu tun der MOSI-Pin am ICSP-Header, der über der 5-V-Leistung liegt. Wenn sich dieser Schalter in der offenen Position befindet, bootet das Gerät bei Celsius, aber in der geschlossenen Position zieht es Pin 12 nach unten und ein Neustart bringt es wieder in Fahrenheit hoch. Es ist kein Widerstand zum Schutz des Pins erforderlich, da ein interner Widerstand vorhanden ist.

F: Kann ich einen anderen Sensor verwenden?

Antwort: Ja. Aber Sie müssen entweder eine passende Bibliothek finden oder Ihre eigene schreiben. Wir entschieden uns für einen DHT22 wegen seiner Single-Wire-Schnittstelle und weil sich einer im hinteren Teil des Teiles befand, der Staub ansetzte. Ein-Draht-Schnittstellendesigns sind vorzuziehen, da wir die anderen "freien" digitalen Pins für andere Funktionen verwenden können. I2C ist nicht verfügbar, da dieses vom Display-Shield belegt wird. SPI ist jedoch, wenn Sie bereit sind, Funktionen wie Skalierungswechsel usw. zu verlieren.

F: Kann ich eine kommerzielle Version verkaufen?

A: Natürlich können Sie die Software-Lizenzbedingungen befolgen (im Wesentlichen ist die 2-Klausel-BSD-Lizenz sehr freizügig, aber beachten Sie, dass für die enthaltenen Bibliotheken möglicherweise andere Lizenzen gelten.) Beachten Sie auch, dass dieses Gerät dies nicht ist (und niemals sein kann)) für den Einsatz in kritischen Umgebungen zertifiziert, ist es für den Heim- und Hobbygebrauch geeignet, obwohl es in Pflegeheimen, Büros und anderen Arbeitsplätzen Anwendung finden könnte. Seien Sie sich jedoch bewusst, dass es nur so gut ist wie das schwächste Glied… Die für dieses Projekt entwickelte Font-Engine ist für den nicht-kommerziellen Gebrauch lizenziert, es sei denn, Sie spenden an die Krebserkrankung GoFundMe unseres Kollegen.

F: Meine Min/Max-Messwerte werden nicht in der Tabelle aufgezeichnet.

A: Dies ist beabsichtigt. Das Instrument verwendet einen "gleitenden Durchschnitt" (ein statistisches Mittel), der jede Stunde zurückgesetzt wird. Dies hilft, das Diagramm zu glätten und einen vernünftigeren Blick auf die Messungen zu geben, um ungerade Spitzen (wie einige, äh, "Personen", die auf den Sensor atmen, zu verhindern, dass sie verrückt werden.

F: Warum verwenden Sie keine C++-Verknüpfungen (wie ++, -- und so weiter) in Ihrem Code? Warum ist alles so … wortreich!

A: Einer der Autoren ist ein erfahrener 8-Bit-Spieleprogrammierer, aber der andere kommt von Python. Wir haben ein paar Abkürzungen verwendet, deren Verwendung ziemlich eindeutig ist, aber C (die Sprache, die C++ zugrunde liegt) ist alt und Compiler im Allgemeinen waren ein bisschen dumm, als Kernighan und Richie den ersten Compiler schrieben, ganz zu schweigen davon, dass Computer langsam waren und Tastaturen Tasten hatten dass Sie das Gefühl hatten, mit einem Plattenhammer schlagen zu müssen. All diese Dinge (und andere) führten dazu, dass C eine sehr knappe Sprache mit mehreren Abkürzungen war, um dasselbe zu erreichen. Viele sind (und bleiben) für einige sehr knifflige Fehler verantwortlich: und bringen uns nicht einmal mit Heap/Stack-Abstürzen in Gang.

Natürlich sind einige Optimierungen (z. B. die Semaphoren) notwendig, da wir versuchen, einen Liter in eine Teetasse zu quetschen, aber das haben wir nach Möglichkeit vermieden.

Übrigens, wenn Sie kein gut gelesenes Exemplar von K&R C besitzen … hören Sie sofort auf und bestellen Sie eines. Es gibt viele sehr umfangreiche Bücher über C, aber K&R bleibt wahrscheinlich das beste und da C C++ untermauert, werden Sie auch die Funktionen dieser Sprache besser verstehen.

F: Ich glaube, ich habe einen Fehler gefunden, was soll ich tun!

A: Fehler? Es gibt keine Fehler, nur Funktionen… nur einige Funktionen funktionieren nicht so, wie wir es erwartet haben. Hinterlassen Sie uns eine Notiz auf GitHub und wir werden versuchen, die Funktion so zu ändern, dass sie besser zum Design passt. Tatsächlich wird der Code die ganze Zeit in verschiedene Projekte umgestaltet, so dass er an manchen Stellen ziemlich ruppig ist und dafür wird Marc mit einem nassen Schellfisch geschlagen, bis er schreit: "Nicht mehr!" - Dan

Schritt 6: Kompilieren aus der Quelle

Aus Quelle kompilieren
Aus Quelle kompilieren

Das Projekt wird auf GitHub gehostet (es gibt einfach zu viel Code, um auf ein Instructable zu schlagen, die Leute würden quadratische Augen bekommen, die versuchen, all dieses Zeug herauszufinden), aber während vorprogrammierte ATMegas bei eBay verfügbar sind, möchten Sie vielleicht Ihre eigenen aus kompilieren? Quelle.

Der Quellcode, der unter Visual Studio mit Platform IO kompiliert werden sollte - er wurde für den Arduino-Editor etwas unhandlich und Visual Studio ermöglicht es uns, besseren Code mit weniger Fehlern zu schreiben, dank einiger der "lint" -Auswahl, die es hat.

github.com/marcdraco/HotStuff

platformio.org/

visualstudio.microsoft.com/downloads/Sie benötigen ein paar Bibliotheken für dieses Schild. Adafruit GFX (das auch die Wire-Bibliothek benötigt).

MCUFriend_kbv von David Prentice v2.9. David hat spätere Versionen produziert, aber es wird nicht garantiert, dass sie funktionieren.

Schritt 7: Machen Sie es zu Ihrem eigenen

Machen Sie es sich zu eigen
Machen Sie es sich zu eigen

Es gibt nichts Schöneres, als ein schönes Projekt zu haben, das Sie anderen zeigen und sie vor Ehrfurcht nach Luft schnappen lassen können, wenn es mit Ihrem Namen dort oben im Licht beginnt. Deshalb haben wir die Software so eingerichtet, dass fast jeder ohne C/C++-Kenntnisse Änderungen vornehmen kann.

Suchen Sie in Ihrem bevorzugten Texteditor nach "constants.h", um die folgenden Zeilen zu finden:

constexpr uint16_t defaultPaper = SCHWARZ;

constexpr uint16_t defaultInk = CYAN;

Sie können die Farbnamen in einfachem Englisch sehen - David Prentice hat freundlicherweise eine Menge Definitionen bereitgestellt, die früher in der Datei erscheinen, und Sie müssen nur Ihren Vordergrund (und Hintergrund) in etwas Ihrer Wahl ändern, bevor Sie es auf das Board hochladen. Die "Trace"-Farben für das Diagramm sind hier etwas tiefer und sehen so aus:

constexpr uint16_t HUMIDITY_TRACE {AZURE};constexpr uint16_t TEMP_TRACE {GELB};

Obwohl diese TFTs nicht für ihren Kontrast bekannt sind (und auf 5-6-5 RGB, 16-Bit-Farbe beschränkt sind), haben wir eine Beispiel-Kompilierungsoption "NIGHT_MODE" bereitgestellt, die standardmäßig auskommentiert ist, aber die Anzeige festlegt

Andere Farben können ähnlich angepasst werden. Möchten Sie, dass es in Imperial liest, wenn es startet? Kein Problem! Suchen und auskommentieren ("//") oder entfernen Sie die folgende Zeile und wenn Sie wieder auf das Board hochladen…

Fragen, Kommentare und Verbesserungen sollten auf GitHub gepostet werden.

Eine noch längere Dokumentation zum Hacken des Projekts befindet sich in der beiliegenden README. MD

Schritt 8: Hacken

Dieses Projekt wurde mit dem KISS-Prinzip erstellt und ist so wie es ist vollständig.

Es kann die Grundlage für etwas bilden, das auf einem anderen Sensor basiert - vielleicht ein genauerer oder schnellerer, sofern genügend Platz für seine Bibliothek vorhanden ist. Wie Sie sehen, ist es schon ziemlich eng.

Wenn Sie den Code gut kennen, ist es einfach, Dinge dramatisch zu ändern, aber auch ohne viel Programmiererfahrung erklären viele der konstanten Werte in "constants.h" wie man Dinge ändert. Fortgeschrittene Programmierer werden feststellen, dass es relativ einfach ist (hoffen wir!), die benötigten Teile für die spätere Verwendung zu entnehmen. So haben wir beispielsweise die Grafikanzeige in weniger als einer Stunde durch eine voll funktionsfähige Echtzeituhr ersetzt. Die Uhr erfordert jedoch eine Möglichkeit, die Zeit einzustellen, daher ist sie so wie sie ist nicht nützlich; wir werden später eine funktionsfähige Version davon veröffentlichen (den Entwicklungscode finden Sie auf GitHub unter HotStuff Chrono).

Aber es gibt etwas an diesen Displays, das nicht sofort offensichtlich ist, bis Sie zum Programmieren gehen - dieser Touchscreen.

Das Problem bei resistiven Touchscreens dieser Art ist, dass sie eine Kalibrierung benötigen, was die Komplexität erhöht, und ehrlich gesagt gibt es nicht den Raum mit all den anderen Funktionen, in die wir eine weitere Bibliothek hineingepfercht haben. Dies wäre mit dem Arduino Mega möglich, der viel mehr Flash-Speicher hat, aber wo ist der Spaß daran?

Schauen Sie unter die Platine und Sie werden sehen, dass es außer dem digitalen I / O zum Ansteuern des LCD und der SD-Karte keine Ausgänge für einen ADC gibt, um die Widerstandsmessung zu erkennen.

Seltsam oder?

Clevere Leute, diese Designer. Das Display verfügt über einen eigenen Framebuffer: Das ist ein Bereich im RAM, der den Bildschirm so hält, wie er ist, während der Strom angeschlossen bleibt, was bedeutet, dass Sie mehrere Pins des Geräts (programmgesteuert) im eingeschalteten Zustand trennen und für andere Aufgaben verwenden können - Vorausgesetzt, Sie legen sie danach wieder zurück!

Um zu erfahren, wie dies geschieht, empfehlen wir die Lektüre der resistiven Touchscreen-Bibliothek von Limor "Lady Ada" Fried.

Und wenn Sie etwas Cooles machen, stellen Sie bitte unbedingt einen Pull Request!

Schritt 9: Optionale Spenden

Optionale Spenden
Optionale Spenden

Hier ist das optionale Stück, lassen Sie uns die Dame vorstellen, die den in diesem Projekt verwendeten Schriftarten Leben und einen Namen gegeben hat und uns alle inspiriert bleibt, insbesondere wenn sie die Nachricht erhält, dass sie an Krebs erkrankt ist und … die meisten von uns wissen, wie beängstigend das ist Schreckgespenst ist. Ihre vollständige Biografie ist auf ihrer Website https://www.rosedf.net/ und Sie finden sie auf den üblichen Social-Media-Kanälen. Sie sagt von sich:

„Wenn ich nicht trainiere, um in den Weltraum zu gelangen, den Leuten zu sagen, sie sollen sich unseren wunderschönen Nachthimmel ansehen, Zeit mit denen verbringen, die ich liebe, oder einfach nur ein Nerd sein, konzentriere ich meine Aufmerksamkeit gerne auf Bildung und Gerechtigkeit Ich arbeite an der Anwaltschaft für Opfer von häuslichem/sexuellem Missbrauch und Obdachlosigkeit, wie ich es war, und ich möchte das Bewusstsein für die Bedeutung der psychischen Gesundheit im Alltag und in der Wissenschaft schärfen."

Wenn Sie ihr ein paar Dollar (oder was auch immer Ihre Landeswährung ist) zuwerfen möchten, würden wir uns alle sehr darüber freuen. Es wurde viel Liebe in die Entwicklung von HotStuff gesteckt, obwohl es als Lehraufgabe gedacht war und ein Großteil dieser Arbeit für zukünftige Projekte wiederverwendet werden kann, die einen "langsamen" Prozessor haben, aber eine schnelle, klare und vor allem GROSSE alphanumerische benötigen Schriftart auf einem TFT-Display. Spenden Sie hier (Sie haben unseren Dank):

paypal.me/FirstGenSci

Empfohlen: