İçindekiler:

Hotstuff: 9 Adım
Hotstuff: 9 Adım

Video: Hotstuff: 9 Adım

Video: Hotstuff: 9 Adım
Video: Roblox Sussy Moment 😳 #shorts 2024, Kasım
Anonim
Sıcak şeyler
Sıcak şeyler

Arduino Uno için mevcut en büyük küçük grafik termohigrometre olmayı hedefliyor.

Uygulamalar şunları içerir:

  • Bebek/kreş sıcaklık monitörü
  • Ek bina sıcaklık monitörü
  • Sera monitörü
  • Harici atmosferik kontrol
  • Ev/ofis HVAC kontrolü ve izleme
  • İnkübatör monitörü/kontrolü

NOT: Bu tıbbi bir cihaz değildir ve uygun planlama ve çalışma koşullarının yerini tutmaz!

- Özellikleri

  • Ticari olmayan kullanım için tamamen ücretsizdir.
  • Süper hızlı 7 segment simüle edilmiş yazı tipi "Rose Digital" ve tam alfa "Astro Nerd" ile 16 segment ile birlikte gelir (yazılımın bu bölümündeki sınırlamalar için lisansa bakın, bu iyi bir amaç için, söz veriyoruz)
  • Neredeyse tamamen titreşimsiz güncellemeler (1)
  • DHT11 ve DHT22 sensörlerinin tüm aralığını kapsayan otomatik aralık grafiği
  • Sıcaklık ve bağıl nem elde etmek için bir DHT11 (daha önce denemedik) veya DHT22 kullanır.
  • Bağıl nemi ve sıcaklığı Fahrenheit veya Santigrat cinsinden görüntüler
  • Mevcut birimlerde çiy (yoğuşma) VE don (yoğunlaşan buz) noktalarını görüntüler
  • Yanıp sönen grafik nemli ve kuru hava uyarıları.
  • Kullanıcı tarafından özelleştirilebilir orantılı ekran yazı tipleri (isteğe bağlı)
  • Ana ekran aralığı -9 -> 99 F veya -9 -> 80C (Aşıldığında aralık uyarısı)
  • %0 -> %99 RH arası nem.
  • Sıfırlamadan bu yana maksimum ve minimum sıcaklık ve nemi kaydeder
  • Steadman'ın hesaplamalarını içerir ve rahatsız edici veya tehlikeli çalışma koşulları konusunda uyarır
  • Minimum parça Uno, 3,5" TFT kalkan gerektirir
  • İsteğe bağlı olarak değiştirilebilir F/C
  • Programlanabilir ısıtıcı kontrolü (küvözler vb. için)
  • inşa etmek basit
  • Son derece modüler kod
  • Bedava mı dedik?

(1) UNO'daki arabelleğe alma sınırlamaları, güncellemeler sırasında grafiğin kısa süreliğine yanıp sönmesi anlamına gelir.

Gereçler:

Arduino Uno R3 (veya Çin klonu)

  • 1 DHT22 sıcaklık ve nem monitörü (eBay/Amazon)
  • Dirençli dokunmatik ekranlı ve SD kart yuvalı 1 TFT 3.5" Shield (metne bakın.)
  • Bir SPST kaydırma anahtarı (isteğe bağlı).
  • USB'li bir PC - programı yüklemek için.
  • 9-12v Güç kaynağı.
  • Kaliteli yan kesiciler
  • Havya ve lehim. Soğutucu cımbız. Atlama telleri.
  • İsteğe bağlı olarak bir kasa (Arduino Uno kasalarında ekran kalkanı için yeterli alan yoktur).
  • İnce ısıyla daralan makaron (lehimli noktaları giydirmek ve yalıtmak için).

Adım 1: Bunu Özel Yapan Nedir?

Bunu Özel Kılan Nedir?
Bunu Özel Kılan Nedir?

Ama bir dakika, resimleri gördünüz ve bu sadece başka bir sıcaklık ve nem ölçer, değil mi? Bunları, bu proje için kullandığımız Arduino TFT kalkanıyla aynı maliyete eBay'den alabilirsiniz.

Pek değil… açıklamama izin verin.

Coronavirus, Covid-19, SARS-Cov-2 … tüm oldukça korkutucu şeyler Şu anda yapabileceğimiz en iyi şeylerden biri ciğerlerimize bakmaktır ve bunu evde yapmak hiçbir yerde bu kadar kolay değildir. Modern bir ofiste çalışıyorsak, iyi bir HVAC'ye sahip olması gerekir ve çoğu modern arabada, daha büyük parçacıkların çoğunu kabine girmeden önce dışarıdaki havadan alan mükemmel filtreler bulunur. Bu evden çıkıyor… kendini güvende hissettiğin tek yer ve orası en yaygın pisliklerin gizlendiği yer. Lejyoner hastalığını kirli bir duş başlığından almak mümkün olsa da (evet, gerçekten!), neyse ki bu oldukça nadirdir.

Ama çok daha yaygın bir şey var ki, çoğumuzun ikinci kez düşünmediği, çünkü tüm hayatımız boyunca onunla yaşadığımız için.

Kalıba dökmek.

Daha spesifik olarak, küf sporları. Bunları, karanlığı gizleyen ve genellikle rahatsız edilmeden havaya serbestçe dağılan ve evlerimizi nemli köşelerdeki o kötü siyah lekelerden her şeyle doldurabilen küçük füg büyümeleri tarafından üretilen mikroskobik tohumlar olarak düşünün. kuru çürük ve daha fazlası.

Küf mülkünüze zarar vermez (ki bu yeterince kötüdür) tüm hava yolunda tahrişe neden olabilir - şu anda burnumuzdan ve sinüslerimizden alveollere, akciğerlerimizi çevreleyen milyonlarca küçük keselere kadar - o kadar küçüktürler ki uzansalar, kabaca bir tenis kortunu kaplayacaklardı. Bu, mikroskobik bir organizmanın içeri girip saklanabileceği ve her türlü tahribata yol açabileceği çok büyük bir alan.

Ve dahası var…

Ölçeğin diğer ucunda kuru hava da hasara yol açabilir. Akciğerlerimizin yüzeyi çok ince bir sulu mukus tabakasıyla kaplıdır - pislikleri uzak tutmaya yardımcı olmak için oradadır ve oldukça iyi bir iş çıkarır, ancak hava çok kuruysa, o mukus da kurumaya başlar ve bu da nefes almayı zorlaştırır.

Ve dahası da var…

İnsanlar doğal olarak buharlaşarak serinler - terleriz (kuru, sıcak bir günde, bu fark edilmez) ancak nem arttıkça insanlar suyun derilerinin üzerinde "durduğunu" ve ısınmaya başladığını fark ederler. Çok sıcak.

Dünyanın bazı bölgelerinde (Avustralya ve tropik bölgeler) bu öyle bir sorundur ki, işçilerin "etkili çalışma sıcaklığının" farkında olmaları gerekir - hava kanalları buna genellikle "hissedilen" sıcaklık olarak atıfta bulunur, çünkü ısı /nem artar, sıcak çarpması ve hatta ölüm olasılığı çok gerçek bir olasılık haline gelir.

Bazı gerekçeler ve daha fazla okuma için Wikipedia'ya bakın veya dalın!

en.wikipedia.org/wiki/Heat_index

"Bu benim başıma asla gelmeyecek" diye düşünüyorsanız, iklim değişikliğiyle bunun Seattle'ın ötesindeki enlemlerde çok gerçek bir olasılık haline geldiğini ve sıcak bir "bunaltıcı" günde çalışırken, farkında olmadan sağlığınızı riske atıyor olabilirsiniz.

Isı bitkinliği son derece rahatsız edicidir ve sıcak çarpması ciddi bir tıbbi acil durumdur.

Dolayısıyla bu cihaz sadece süslü bir grafik termometre/higrometre değildir, sıcak çarpması koşullarını uyarmak için yerleşik alarmlara sahiptir, evinizin de ne kadar iyi havalandırıldığına karar vermenize yardımcı olur ve hatta oldukça akıllı görünür (eğer kendimiz söylersek).

Tüm bunlarla birlikte, bu cihaz tıbbi amaçlar için tasarlanmamıştır ve çalışanların sağlık ve güvenliğinin tehlikeye atılabileceği yerlerde kullanılmamalıdır. Kodumuzu onaylasak bile (yapamayız) donanımın kendisi bu güvenceyi taşımaz. Bu, tüm bu dağınık yasal saçmalıkları durdurmak için ama size ve evinizin ne kadar sağlıklı olduğu hakkında bir fikir vermeli!

TFT kalkanını "kasaplamanız" gerekmesine rağmen, inşası olabildiğince kolaydır, çünkü onu tasarımcıların hiç düşünmediği şekillerde kullanacağız.

NOT: Birisi bu sorunu gündeme getirdiği için, DHT22 sensörlerinin ±0.5°C ve ±%1 Rh'lik bir doğruluk iddiasına sahip olduğunu belirtmekte fayda var; bu, birçok uygulama için yeterlidir, ancak sıcaklık/nem kritik değilse değil. Daha sonra montaj sonrası kalibrasyon eklemeyi planlıyoruz. DHT11, ±1.0°C'lik biraz daha az hassas bir sıcaklık ölçümüne sahiptir ancak genellikle çevremizi iyi yansıtmalıdır.

2. Adım: TFT'yi Kasaplamak

TFT'yi doğramak
TFT'yi doğramak

Bu gerçekten zor olan tek kısımdır ve düzeltmeniz gereken türden bir şeydir çünkü biraz havya kullanmıyorsanız… bu konuda ne kadar az şey söylerseniz o kadar iyi olur.

Bu proje, bu çözünürlük ve türdeki birçok kalkanla * çalışmalıdır * - ve yazılım herhangi bir ATMega 328 veya daha büyük ile çalışır (yazılım çok sıkı bir uyum, bu yazıda mevcut olan 28K'nın % 99'una yaklaşır) ve biz sıkıştırdık orada alanın izin verdiği kadar çok özellik var.

Parçaları kesmeye başlamadan önce her şeyin çalıştığını kontrol edin

  1. Ekranı Arduino'ya göre test edin - uSD yuvası, güç ve USB bağlantı noktalarının girdiği en sondadır. Güç verildiğinde arka ışık yanar, aksi takdirde hiçbir şey yapmaz.
  2. uSD kart erişimi için pin etiketlerine dikkat edin. Bunlara ihtiyacımız olmayacak, bu yüzden tahtaya çok kısa bir saç kesimi yapacağız.
  3. Kartımızda hedef pinler J1'in sonunda SD_SS, SD_DI, SD_DO ve SD_SCK olarak işaretlenmiştir.
  4. Son iki pimi bırakabilir veya çıkarabilirsiniz - panomuzdan kesiyoruz.
  5. Başka hiçbir şeyi kesmeyin yoksa LCD çalışmaz! Örneğin LCD_D0 (veri hatlarından biri) çok yakın olduğu için burada çok dikkatli olmanız gerekiyor.
  6. İki kez kontrol edin, bir kez kesin veya yeni bir başlık lehimleyebileceğinizi umuyoruz!

Not: Burada kullandığımız SPI pinlerini "multiplex" olarak kullanmak ve SD kartta veri depolamak mümkün olabilir, ancak bu diğer inşaatçılara bırakacağımız bir şeydir.

Adım 3: Sensörü Takma / Lehimleme

Sensörü Takma / Lehimleme
Sensörü Takma / Lehimleme

Kesinlikle gerekli olmasa da, bu projeyi monte edip unutabileceğiniz bir şeye dönüştürmenin en iyi yolu bağlantıları lehimlemek.

DHT22'ye lehimleme, yalnızca makul lehimleme becerilerine sahip biri tarafından denenmelidir. Sensör, sıcaklık ve nemdeki değişikliklere karşı oldukça hassastır. İsimsiz bir kişi lehim pimlerini biraz fazla ısıttı (öksürük, öksürük) ve sensörü kalibrasyondan o kadar uzağa gönderdi ki, üretici tarafından okuma üretimini durdurması için talimat verildiği şekilde "pişirene" kadar çalışmayı reddetti. hatalar. Çoğu insan için daha iyi bir seçenek, atlama kabloları için tasarlanmış bir başlık ile önceden monte edilmiş bir DHT11/22'yi kaynaklamaktır.

DHT22'ler, MCU ile iletişim kurmak için bir seri tek telli seri bağlantı kullanır - sinyal koşullandırma olmadan 10M'nin üzerinde (>32 fit) potansiyel aralığı ile dedektör Arduino'dan belirli bir mesafeye yerleştirilebilir.

(Şemayı inceledikten sonra) kartın sonundaki 6 pinli Devre İçi Seri Programlayıcı (ICSP) başlığının, SD kart okuma/yazıcı için kalkan tarafından kullanılan SPI pinlerine bağlı olduğu ortaya çıktı. Bu pinleri kullanmak, öncelikle Uno'yu bir seri programlayıcı (FDTI) ile hata ayıklamak ve programlamak için kullanıldıklarından, gelecekte kartı USB üzerinden programlama yeteneğinizi etkilemeyecektir. Ek bir not olarak, Birleşik Krallık'taki AudioSpectrum Analyzers'tan Steve Wood'a, bizimkiler Marc'ın uçsuz bucaksız bit yığınında kaybolduğunda bize yedek bir tane sağladığı için minnettarız.

Bir çift kaliteli uzun burunlu penseniz varsa, kabloları bir DuPont başlığını alabilmeleri için bükmek mümkündür, ancak lehimleme tercih edilen yöntemdir. Dikkatle (ve sabit bir el ile) DHT22'yi doğrudan başlığa lehimlemek tamamen mümkündür.

Bağlantı olabildiğince kolaydır, ancak polariteyi gözlemlemek önemlidir çünkü cihazı ters bağlamak, cihazı anında yok edebilir. DHT22'nin dört pini olmasına rağmen pin 3 bağlı değildir. Monte edilmiş sensörler tipik olarak sadece başlık ile güzel bir şekilde hizalanan üç pim ile gelir. Sensör sırt üstü yatarken (gösterilmiştir), güç ve veri pinlerinin doğru şekilde hizalandığını görebilirsiniz.

Adım 4: Test Etme ve İlk Kullanım

Test ve İlk Kullanım
Test ve İlk Kullanım

Geriye kalan tek şey DHT22 modülünüzü Arduino'ya dikkatlice takmak ve yazılımı kurmak. Akıllı şeylerin çoğu yazılım tarafından yapılır, Adafruit'in grafik kitaplığı, David Prentice'in MCUFriend ekran sürücüsü ve Robert Steadman'ın "etkili ısı" hesaplamalarından aynı derecede akıllı şeyler.

Bu temel konfigürasyonda kurmanız gereken tek şey, yazılıma hangi üç pinin kullanıldığını söylemektir.

Sensörünüzü farklı şekilde kablolamayı tercih ederseniz, CONSTANTS. H'deki aşağıdaki satırlar Uno'ya kendisini nasıl yapılandıracağını anlatır.

#define DHT22_DATA 11

DH22, tipik maksimum 20 mA değerinden çok daha düşük bir okuma alırken çok muhafazakar 1 - 1,5 mA kullanır, bu nedenle hiçbir şeyi strese sokmaz. (Tabii ki, herhangi bir pime kısa devre yaptırmak, cihazı kesinlikle mahvedecektir, bu nedenle sensörü bir Heath Robinson eklenti kartına yerleştirirseniz ısıyla büzüşme kullanmanızı öneririz.) Her şey yolunda giderse, HotStuff yaklaşık 5 saniye içinde açılacaktır. Bir hata algılanırsa ekran kararır ve kısa bir hata mesajı görüntülenir. Bu, sensöre güç verilmediği veya doğru şekilde bağlanmadığı anlamına geldiği için büyük ölçüde göz ardı edilebilir.

Adım 5: Enstrümanın Kullanımı ve SSS

Enstrümanın Kullanımı ve SSS
Enstrümanın Kullanımı ve SSS

S: Ekranda aydınlatılmamış rakamların yanıltıcı izlerini görebiliyorum. Bu bir hata değil mi?

C: Hayır, bu tasarım gereğidir, ancak taştan yapılmamıştır. Fikir, "gerçek" bir LCD ekranın (yüksek çözünürlüklü TFT'ye karşı) görünümünü taklit etmekti. Bu tür ekranlar, pikseller gibi açılıp kapatılabilen büyük, önceden tasarlanmış bloklar kullanır, ancak piksellerin aksine ekranın büyük bir bölümünü kaplayabilirler. Sonuç olarak, her zaman görünür olan malzemenin yanıltıcı bir izi vardır ve bu, burada taklit edilmiştir.

S: Santigrat ve Fahrenhayt arasında nasıl geçiş yapabilirim?

C: İşlev, "basılacak" sırada tam olarak test edilmedi (çünkü biri unuttu, değil mi…). Ancak, kontrol ettik ve bu işlev (istenirse) çalışıyor, ancak bir terminali pim 12'ye ve diğerini uygun bir toprağa küçük bir SPST kaydırıcı anahtarı takıyor. Bunu yapmanın en hızlı yolu, zemine tutturmak için değiştirilmiş bir DuPont konektörünü lehimlemek veya kullanmak ve diğerini doğrudan pim 12'ye (bazı klonlarda bu tür şeyler için fazladan bir açık delik seti vardır) veya orijinal tasarımlarda kullanmaktır. 5v gücünün üstünde olan ICSP başlığındaki MOSI pimi. Bu anahtar açık konumdaysa, ünite santigratta ancak kapalı konumda önyükleme yapar, pim 12'yi aşağı çeker ve yeniden başlatma onu Fahrenhayt'ta geri getirir. Sağlanan bir dahili direnç olduğundan, pimi korumak için bir dirence gerek yoktur.

S: Farklı bir sensör kullanabilir miyim?

C: Evet. Ama ya kendine uyan bir kitaplık bulman ya da kendi kitaplığını yazman gerekecek. DHT22'yi tek telli arayüzü ve parçaların arkasında biriken toz çekmesi nedeniyle seçtik. Diğer işlevler için diğer "serbest" dijital pinleri kullanabildiğimiz için tek kablolu arayüz tasarımları tercih edilir. I2C, ekran kalkanı tarafından işgal edildiğinden kullanılamaz. Ancak SPI, ölçek değiştirme vb. gibi işlevleri kaybetmeye hazırsanız uygundur.

S: Ticari bir sürüm satabilir miyim?

C: Yazılım lisanslama koşullarına uymanızı sağladığınızdan emin olun (aslında bu çok serbest olan 2 maddeli BSD lisansıdır, ancak diğer lisansların dahil edilen kitaplıklar için geçerli olabileceğini unutmayın.) Ayrıca bu cihazın öyle olmadığını (ve asla uygulanamayacağını unutmayın)) kritik ortamlarda kullanım için onaylanmıştır, bakım evlerinde, ofislerde ve diğer işyerlerinde uygulama bulabilmesine rağmen evde/hobi kullanımı içindir. Sadece en zayıf halka kadar iyi olduğunu unutmayın… Bu proje için geliştirilen font motoru, meslektaşımızın kanseri GoFundMe'ye bağış yapmadığınız sürece ticari olmayan kullanım için lisanslanmıştır.

S: Min/maks okumalarım tabloya kaydedilmiyor.

C: Bu tasarım gereğidir. Her saat sıfırlanan bir "hareketli ortalama" (istatistiksel ortalama) kullanan cihaz. Bu, grafiği düzleştirmeye ve garip ani yükselmeleri önleyen ölçümlere daha makul bir görünüm kazandırmaya yardımcı olur (bazıları, ee, "kişi" sensörde nefes alıp çıldırtır.

S: Neden kodunuzda C++ kısayollarını (++, -- vb.) kullanmıyorsunuz? Neden her şey bu kadar… endişeli!

C: Yazarlardan biri deneyimli bir 8-bit oyun programcısı, diğeri Python'dan geliyor. Kullanımlarının oldukça açık olduğu, ancak C'nin (C++'ın altında yatan dil) eski olduğu ve Kernighan ve Richie ilk derleyiciyi yazdığında genel olarak derleyicilerin biraz aptal olduğu birkaç kısayol kullandık, bilgisayarların slooooooow ve klavyelerden bahsetmeye gerek yok. bir çekiçle vurmak zorunda hissettiğini. Tüm bunlar (ve diğerleri), C'yi aynı şeyi başarmak için birden fazla kısayol içeren çok özlü bir dil haline getirdi. Bazı çok zor hatalardan çok sayıda kişi sorumludur (ve kalır): ve yığın/yığın çökmelerine başlamamıza bile gerek yok.

Açıkçası, bazı optimizasyonlar (örneğin semaforlar) gereklidir çünkü bir litreyi bir çay fincanına ezmeye çalışıyoruz, ancak mümkün olduğunda bundan kaçındık.

Bu arada, K&R C'nin çok okunan bir kopyasına sahip değilseniz… şimdi durun ve bir tane sipariş edin. C üzerine çok sayıda büyük kitap var ama K&R muhtemelen en iyisi olmaya devam ediyor ve C, C++'ı desteklediğinden o dilin özelliklerini de daha iyi anlayacaksınız.

S: Sanırım bir hata buldum ne yapmalıyım!

C: Böcekler mi? Hata yok, sadece özellikler… sadece bazı özellikler beklediğimiz gibi çalışmıyor. Bize GitHub'da bir not bırakın, özelliği tasarıma daha uygun olacak şekilde değiştirmeyi deneyelim. Aslında kod her zaman birkaç farklı projede yeniden düzenleniyor, bu yüzden bazı yerlerde oldukça dağınık ve bunun için Marc, "Artık yok!" diye bağırana kadar ıslak bir mezgit balığı ile tokatlanacak. - Dan

Adım 6: Kaynaktan Derleme

Kaynaktan Derleme
Kaynaktan Derleme

Proje GitHub'da barındırılıyor (bir Instructable'a tokatlamak için çok fazla kod var, insanlar tüm bunları anlamaya çalışırken kare gözler alacaklar) ancak önceden programlanmış ATMegas eBay'de mevcut olacak olsa da, kendiniz derlemek isteyebilirsiniz. kaynak.

Platform IO ile Visual Studio altında derlenmesi gereken kaynak kodu - Arduino editörü için biraz hantallaştı ve Visual Studio, sahip olduğu bazı "tiftik" toplama sayesinde daha az hatayla daha iyi kod yazmamıza izin veriyor.

github.com/marcdraco/HotStuff

platformio.org/

visualstudio.microsoft.com/downloads/Bu shield için birkaç kütüphaneye ihtiyacınız olacak. Adafruit GFX (ki bu da Wire kütüphanesine ihtiyaç duyacaktır).

David Prentice v2.9 tarafından MCUFriend_kbv. David daha sonraki sürümleri üretti, ancak bunların çalışması garanti edilmedi.

7. Adım: Kendiniz Yapın

Kendi haline getir
Kendi haline getir

Başkalarına gösterebileceğiniz güzel bir projeye sahip olmak ve ışıklar altında adınızla başladığında huşu ile nefes almalarını sağlamak gibisi yoktur. Bu yüzden yazılımı, neredeyse herkesin C/C++ bilgisi olmadan değişiklik yapabilmesi için ayarladık.

Aşağıdaki satırları bulmak için favori metin düzenleyicinizi "constants.h" içinde bulun:

constexpr uint16_t defaultPaper = SİYAH;

constexpr uint16_t defaultInk = CYAN;

Renk adlarını sade İngilizce olarak görebilirsiniz - David Prentice, dosyada daha önce görünen bir sürü tanım sağladı ve yapmanız gereken tek şey, panoya yüklemeden önce ön planınızı (ve arka planınızı) seçtiğiniz bir şeyle değiştirmek. Grafiğin "iz" renkleri burada biraz daha derindir ve şöyle görünür:

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

Bu TFT'ler kontrastlarıyla bilinmese de (ve 5-6-5 RGB, 16-bit renkle sınırlıdır), varsayılan olarak yorumlanan ancak ekranı ayarlayan örnek bir derleme seçeneği "NIGHT_MODE" sağladık.

Diğer renkler de benzer şekilde ayarlanabilir. Ateşlendiğinde Imperial'de okumasını ister misiniz? Sorun değil! Aşağıdaki satırı bulun ve yorumlayın ("//") veya kaldırın ve panoya geri yüklediğinizde…

Sorular, yorumlar ve iyileştirmeler GitHub'a gönderilmelidir.

Projeyi hacklemeye ilişkin daha da uzun belgeler beraberindeki README. MD'dedir.

Adım 8: Hacklemek

Bu proje KISS ilkesi kullanılarak oluşturuldu ve olduğu gibi tamamlandı.

Kitaplığı için yeterli alan olması koşuluyla, başka bir sensöre dayalı bir şeyin temelini oluşturabilir - belki daha doğru veya daha hızlı bir sensör. Gördüğünüz gibi, işler zaten oldukça sıkı.

Kodu iyi bildiğinizde, bir şeyleri önemli ölçüde değiştirmek kolaydır, ancak çok fazla programlama deneyimi olmadan bile "constants.h" içindeki birçok sabit değer, şeylerin nasıl değiştirileceğini açıklar. Daha ileri düzey programcılar, daha sonra kullanmak üzere ihtiyacınız olan parçaları çekmenin nispeten kolay olduğunu (umarız!) fark edeceklerdir. Örneğin, grafik ekranını bir saatten kısa bir sürede tamamen işlevsel bir gerçek zamanlı saatle değiştirdik. Ancak saat, zamanı ayarlamak için bir yol gerektirir, bu nedenle olduğu gibi kullanışlı değildir; bunun işlevsel bir sürümünü daha sonra yayınlayacağız (geliştirme kodunu GitHub'da HotStuff Chrono altında bulabilirsiniz).

Ancak bu ekranlarda programlamaya başlayana kadar hemen belli olmayan bir şey var - o dokunmatik ekran.

Bu tür dirençli dokunmatik ekranlarla ilgili sorun, karmaşıklığı artıran kalibrasyona ihtiyaç duymalarıdır ve açıkçası, orada başka bir kütüphaneyi levyelemek için doldurduğumuz diğer tüm işlevlere sahip bir oda yoktur. Bu, çok daha fazla flaş alanına sahip olan Arduino Mega ile mümkün olabilir, ama bunun eğlencesi nerede?

Kartın altına bakın ve LCD ve SD kartı sürmek için dijital I/O dışında direnç ölçümünü algılamak için bir ADC için çıkış olmadığını göreceksiniz.

Garip değil mi?

Zeki insanlar bu tasarımcılar. Ekranın kendi çerçeve arabelleği vardır: bu, güç bağlı kalırken ekranı olduğu gibi tutan bir RAM alanıdır; bu, açıkken (programlı olarak) cihazın pinlerinden birkaçını ayırabileceğiniz ve bunları diğer işler için kullanabileceğiniz anlamına gelir - tabi sonradan geri koymanız şartıyla!

Bunun nasıl yapıldığı hakkında bilgi için Limor "Lady Ada" Fried'in dirençli dokunmatik ekran kitaplığını okumanızı öneririz.

Ve harika bir şey yaparsanız, lütfen bir Çekme Talebi gönderdiğinizden emin olun!

9. Adım: İsteğe Bağlı Bağışlar

İsteğe Bağlı Bağışlar
İsteğe Bağlı Bağışlar

Şimdi isteğe bağlı kısım, bu projede kullanılan yazı tiplerine hayat ve isim veren ve hepimize ilham kaynağı olmaya devam eden hanımefendiyi tanıtalım, özellikle kansere yakalandığı haberlerini alıyoruz ve… çoğumuz bunun ne kadar korkutucu olduğunu biliyoruz. öcü Biyografisinin tamamı https://www.rosedf.net/ web sitesinde ve onu her zamanki sosyal medya kanallarında bulabilirsiniz. Kendisi hakkında şunları söylüyor:

"Uzaya gitmeye çalışmak, insanlara güzel gece gökyüzümüze bakmalarını söylemek, sevdiklerimle vakit geçirmek ya da sadece inek olmak için eğitim almıyorsam, dikkatimi eğitime erişim ve eşitlik üzerine odaklamayı seviyorum. aile içi/cinsel istismar mağdurları ve benim gibi evsizlik mağdurları için savunuculuk üzerine çalışıyorum ve Ruh Sağlığının günlük yaşamda ve akademideki önemi konusunda farkındalık yaratmayı seviyorum."

Ona birkaç dolar (ya da yerel para biriminiz ne olursa olsun) vermek isterseniz, hepimiz gerçekten minnettar oluruz. HotStuff'ı geliştirmek için çok fazla sevgi harcandı, hatta bunun bir öğretim alıştırması olduğu düşünüldü ve bu çalışmanın çoğu, "yavaş" bir işlemciye sahip, ancak hızlı, net ve her şeyden önce BÜYÜK bir alfa sayısala ihtiyaç duyan gelecekteki projeler için yeniden kullanılabilir. TFT ekranda yazı tipi. Buradan bağış yapın (teşekkürlerimizi iletin):

paypal.me/FirstGenSci

Önerilen: