İçindekiler:

IronForge NetBSD Tost Makinesi: 9 Adım (Resimlerle)
IronForge NetBSD Tost Makinesi: 9 Adım (Resimlerle)

Video: IronForge NetBSD Tost Makinesi: 9 Adım (Resimlerle)

Video: IronForge NetBSD Tost Makinesi: 9 Adım (Resimlerle)
Video: WoW Classic rogue Iron forge gank 2024, Temmuz
Anonim
NetBSD Tost Makinesi IronForge
NetBSD Tost Makinesi IronForge
NetBSD Tost Makinesi IronForge
NetBSD Tost Makinesi IronForge
NetBSD Tost Makinesi IronForge
NetBSD Tost Makinesi IronForge

Bu proje bir ekmek kızartma makinesi olarak başlamadı, sonunda bir oldu.

Fikir, yemek tariflerimi görüntülemek için kullanılan mutfak bilgisayarım (eski bir Windows CE PDA) öldüğünde ortaya çıktı. İlk önce buzdolabıma mıknatıslarla sabitlenecek ve pilleri çok uzun süre bitecek olan E-ink tabanlı düşük enerjili bir ekran yaratmayı düşünüyordum ama sonra mutfağa müzik dinlemek için eski bir 2.1 surround sistemi aldım. Peki, belki ikisini de yapabilen bir bilgisayar olmalı diye düşündüm ve sonra aklıma başka bir eski proje geldi:

www.embeddedarm.com/blog/netbsd-toaster-powered-by-the-ts-7200-arm9-sbc/

Orijinal NetBSD ekmek kızartma makinesi. Bu proje, bilmeyenler için başlı başına bir inek şakasıdır:

"UNIX benzeri OS NetBSD'nin, belki de mutfaktaki ekmek kızartma makineniz dışında her tür makineye taşınabilir olduğu uzun zamandır kabul ediliyor."

Öyleyse NetBSD çalıştıran bir ekmek kızartma makinesi oluşturalım ve:

  • Sıcaklık ve kızartma süresi kullanıcı tarafından tamamen ayarlanabilir
  • Kızartma olmasa da, şık bir gösterge panosunda 2 hava istasyonundan gelen hava durumu verilerini görüntüler.
  • Kızartma yaparken kalan süreyi ve sıcaklığı hem grafik hem de rakamlarla gösterir.
  • Kızartma olmadığında çalar saat olarak da kullanılabilir ve müzik dinleyebilir, hatta film oynatabilir.
  • Yemek tariflerini görüntüler veya normal tarama için kullanılabilir

Adım 1: Tost Makinesinin Çalıştırılması ve Donanımın Seçilmesi

Tost Makinesinin Çalıştırılması ve Donanım Seçimi
Tost Makinesinin Çalıştırılması ve Donanım Seçimi
Tost Makinesinin Çalıştırılması ve Donanım Seçimi
Tost Makinesinin Çalıştırılması ve Donanım Seçimi
Tost Makinesinin Çalıştırılması ve Donanım Seçimi
Tost Makinesinin Çalıştırılması ve Donanım Seçimi
Tost Makinesinin Çalıştırılması ve Donanım Seçimi
Tost Makinesinin Çalıştırılması ve Donanım Seçimi

Burada, önceki kahve tüyolarımdan farklı olarak, tost makinesi için harika bir seçim yaptığımı düşünmüyorum, bu yüzden tost makinesinin iç işleyişi, seçim kriterleri ve deneyimi hakkında kısa bir giriş yapacağım ve okuyucunun kendi tost makinesini seçmesine izin vereceğim. bu hack için.

Tost makinesine yönelik ana kriterlerimden biri aynı anda 4 dilim ekmek yapabilmesi ve otomatik olmasıydı, bu yüzden Alman Ebay'inde birkaç saat göz gezdirdikten sonra, ekmek kızartma makinesinin yanına karar verdim.

Severin AT 2509 (1400W) ekmek kızartma makinesi

www.severin.de/fruehstueck/toaster/automati…

Bu Almanya'da çok yaygın bir marka, yepyeni olarak yazıldığı sırada yaklaşık 40-50 EUR'ya mal oluyor.

Üreticinin reklamını yaptığı temel özellikler:

● Isı yalıtımlı paslanmaz çelik gövde

● entegre rulo kavurma aparatı

● 4 adede kadar ekmek dilimi için 2 uzun yarıklı kızartma şaftı

● Sıcaklık sensörlü kızartma süresi elektroniği

● ayarlanabilir bronzlaşma derecesi

● Gösterge ışığı ile buz çözme seviyesi

● Kontrol ışığı ile ilave bronzlaşma olmadan ısınma aşaması

● gösterge ışıklı ayrı serbest bırakma düğmesi

● Her iki somun tarafının da eşit şekilde kızarması için ekmek dilimleyici merkezleme

● ekmek diski sıkıştığında otomatik kapanma

● Kırıntı tepsisi

● Kablo sarma

Üretici, sıcaklığın ayarlanabilir olduğunu iddia etmese de 2 yanıltıcı noktaya değiniyor:

● Kontrol ışığı ile ilave bronzlaşma olmadan ısınma aşaması

● Sıcaklık sensörlü kızartma süresi elektroniği

Bu iddiaları alıntılamak için makinenin nasıl çalıştığını görelim:

1, Normal durumda 230V ana elektrik bağlantısı tamamen kesilmiştir, ekmek kızartma makinesinin hiçbir parçasına güç verilmemektedir.

2, Kullanıcı kolu (ekmekleri de aşağı çeker) aşağı çektiğinde, her iki taraftaki ısıtma elemanını bağlar.

Şimdi burada yaptıkları ucuz ama aynı zamanda akıllı bir tasarım. Tost makinesinin içinde transformatör yoktur, bu nedenle düşük (10V AC ~) voltajını nasıl elde ettiğini merak edebilirsiniz. Tost makinesinin sol tarafında, 10V AC oluşturan bir düşürücü transformatör gibi hareket eden bir ısıtma elemanı ile birleştirilmiş ayrı bir bobin vardır.

Ardından, ekmek kızartma makinesinin ana kontrol panosuna güç sağlayan 10V DC oluşturmak için tek bir diyot doğrultucu kullanır.

3, İlk düşündüğüm şey - birlikte bir solenoid + transformatör olduğu - kolun hemen altında, şimdi kontrol devresi tarafından çalıştırılan ve yalnızca bir şeyden sorumlu olan tek bir solenoid olduğu ortaya çıktı (bu kolu aşağı çekmek için).

Bu solenoid ekmeği serbest bırakır bırakmaz, ekmek kızartma makinesi temelde kendi elektriğini keserek kızartma işlemini tamamlar.

O zaman haklı olarak, veri sayfasındaki buz çözme, ön ısıtma, ısınma ve her neyse o süslü düğmelerin ve iddiaların ne olduğunu sorabilirsiniz… Bunun saf pazarlama BS olduğunu söyleyebilirim. Üzerine bir zaman ayarlayıcı ve 1 adet tek buton koyabilirlerdi çünkü günün sonunda bu devre bir zamanlayıcıdan başka bir şey değildir. Bu devre, ısıtma elemanı ile aynı güç kaynağından beslendiği ve bu makinede önemli olan tek şeyi (ısıtıcı) kontrol edemediği için, bu devreyi daha fazla modifiye etme zahmetine bile girmedim, sadece ait olduğu yere attım, çöp tenekesi.

Askeri sınıf kontrol devresi devre dışı olduğuna göre artık ekmek kızartma makinesi üzerinde TAM KONTROLÜ ele alalım.

2. Adım: Donanım Listesi

Donanım Listesi
Donanım Listesi
Donanım Listesi
Donanım Listesi
Donanım Listesi
Donanım Listesi

Bu yine tam bomba değil, teller ve vidalar gibi tüm temel bilgileri içermez:

  • 1x AT 2509 (1400W) ekmek kızartma makinesi veya seçtiğiniz diğer ekmek kızartma makinesi
  • 1x Arduino Pro Mikro
  • Raspberry Pi XPT2046 BE için 1x 5-inç Dirençli Dokunmatik Ekran LCD Ekran HDMI
  • 1x Raspberry PI 2 veya Raspberry PI 3
  • 1x SanDisk 16GB 32GB 64GB Ultra Micro SD SDHC Kart 80MB/s UHS-I Class10 w Adaptör (PI için)
  • 2x SIP-1A05 Manyetik Anahtar Rölesi
  • Arduino için 1 adet 1 ADET MAX6675 Modül + K Tipi Termokupl Sıcaklık Sensörü (yedek satın almanız önerilir)
  • 1x Çıkış 24V-380V 25A SSR-25 DA Solid State Röle PID Sıcaklık Kontrol Cihazı
  • Aeromodelling için 1x Mini DC-DC Buck Dönüştürücü Step Down Modülü Güç Kaynağı (değiştirmek için bunlardan daha fazlasını satın alın).
  • Arduino için 2x Döner Kodlayıcı Modülü Tuğla Sensör Geliştirme Kartı (Döner + Orta Anahtar, değiştirme için bunlardan daha fazlasını satın almanız önerilir)
  • 2x WS2812B 5050 RGB LED Halka 24Bit RGB LED
  • 1x 1mm A5 şeffaf Perspex akrilik levha Plastik Pleksiglas Kesim 148x210mm Parti
  • 1x12V 2A DC adaptör (Pi+Screen+Ardu için de 1A yeterli olacaktır, ancak USB üzerinden ek cihazlar bağlayacaksanız ekstra akım çekecektir)
  • 1x ADET HC-SR501 IR Piroelektrik Kızılötesi IR PIR Hareket Sensörü Dedektör Modülü
  • 2x Jumper Wire 5 Pin Dişi - Dişi Dupont Kablo Arduino için 20cm (dönerler için bunlardan daha fazlasını almaya değer)
  • 6mm Potansiyometre Mil Gümüş için 2x Alüminyum Alaşım Ses Düğmesi 38x22mm
  • 1x 230V röle
  • Bağlantılar için Tek Sıra Dişi 2.54mm + Erkek Kırılabilir Başlık Konnektörleri
  • Xbee modu için isteğe bağlı: 1X10P 10pin 2mm Dişi Tek Sıra Düz Pin Başlık Şeridi XBee Soketi
  • Xbee modu için isteğe bağlı: 1 Xbee
  • Xbee modu için isteğe bağlı: 1x Jumper Wire 4 Pin Dişi - Dişi Dupont Kablosu Arduino için 20cm (Xbee Raspi arasında)

Güç kaynağı için 5V yerine 12V kullanmalısınız çünkü solenoid o düşük voltaj seviyesinde tutmaz, solenoid üzerine flyback diyot eklemeyi unutmayın.

Diğer bileşenleri kullanmaya karar verirseniz, örneğin: 12V->5V'den voltaj düşürme için farklı buck modülü, kartı yeniden tasarlamanız gerekir, bu belirli bir küçük kare dönüştürücü için yapılmıştır.

Adım 3: Kasanın Modifiye Edilmesi: Arka Öndür

Kasanın Modifiye Edilmesi: Arka Öndür
Kasanın Modifiye Edilmesi: Arka Öndür
Kasanın Modifiye Edilmesi: Arka Öndür
Kasanın Modifiye Edilmesi: Arka Öndür
Kasanın Modifiye Edilmesi: Arka Öndür
Kasanın Modifiye Edilmesi: Arka Öndür

Ana kontrol devresini çıkardıktan sonra hala anahtarların yerine bakan büyük çirkin bir delik vardı, bu yüzden sadece o tarafı arka olarak kullanmaya karar verdim ve SSR'yi (Katı Hal Rölesi -> için bağlantı kutusunu sabitledim) ısıtma kontrolü) + 230V AC röle (güç tespiti için) + tüm devreye güç sağlayan 12V adaptör.

Bu ekmek kızartma makinesi modelinin sökülmesi ve yeniden birleştirilmesi biraz zordu. Kasayı çıkarmanın başka bir yolunu bulamadım, ancak kolları söküp çıkardıktan sonra kasayı kaldırabilmek için ana aşağı çekme kolunun hemen altında bir dremmel ile kesmek (neyse ki o kısımda bir dış plastik kaplama olduğu için) bu fark edilmeyecektir).

MAX6675 termokuplunun dedektör ucunu, tost makinesinin alt kısmına, ana kolun karşı kenarına (kol mekanizmasıyla çelişeceği yere) yerleştirdim.

İç kasa ince alüminyumdur, delmenize bile gerek yoktur, küçük bir delik bir tornavida ile kolayca genişletilebilir ve ardından sensörü yerleştirebilir, zor kısım onu içten vidalamaktı. Bunu yapmak için resimlerde gösterilen akıllıca bir çözüm bulmam gerekiyor.

Ana iç tost makinesi kasasının ısıtma elemanı ile sökülmesi yalnızca sinirleri güçlü kişiler içindir ve kesinlikle önerilmez. Zaten orada yapmanız gereken başka bir şey yok.

MAX6675'in kabloları, makinenin altından kabloların çıktığı deliğe kolayca beslenecek kadar uzundu.

Gerekli tüm kabloları birinden diğerine getirmek en zorlu modlama görevlerinden biriydi. Kablolar sadece anahtarlardan gelen deliği kullanabildiği için (şimdi arka) tarafta başka bir delik açmam gerekmedi. Daha sonra kabloların kasanın duvarına sabitlenmesi gerekiyordu, çok dar bir boşluktan aşağıya indirildiler ve burada yüksek voltaj kontrol panosundan birkaç ekstra kablo ile birleştirildiler, yani:

  • Isıtma elemanından 1 tel -> SSR'ye gider
  • 230V'dan 1 tel (tercihen sıcak kahverengi nokta) -> SSR'ye gider
  • Anahtar kapalı durumdayken 230V'dan 2 kablo -> Röleyi Başlatmaya Gidiyor
  • 230V ana girişten 2 kablo -> Arkadaki 12V adaptöre gider
  • Termo sensörden korumalı teller

Ve tost makinesini kontrol etmek için ihtiyacınız olan tek şey bu.

Endüstriyel lehimleme nedeniyle, ısıtma elemanı ile ana kablonun bir ucu arasındaki (anahtardan sonra gelen) kabloyu basitçe kesmeye karar verdim ve terminal şeritleri ile onu SSR'ye bağladım.

230V (şebeke gerilimi) ile çalışan bir röle gerekli olacaktır. Bu, Arduino'nun kullanıcının kolu aşağı çektiğini, yani kızartma işlemini başlattığını bilmesini sağlayacak başlatma rölesidir. Kontrol devresinin artık yerinde olmadığını, solenoidin kolu aşağıda tutacak şekilde güç almadığını ve ısıtıcının da bağlantısının kesildiğini (SSR üzerinden kontrol edilir) unutmayın. Bütün bunlar, bu noktadan itibaren Arduino'nun görevi olacak.

12V DC adaptör doğrudan ana şebekeye bağlanmıştır (arka tarafa fazladan bir AÇMA/KAPAMA anahtarı ekledim). Bu, devre için sabit güç sağlayacaktır. Bekleme modundaki ekmek kızartma makinesi yalnızca tüketiyor: Ekran AÇIK durumdayken 5,5 W ve kapalıyken 5,4 W.

Adım 4: Ön Arsiklik Kartı

Ön Arsiklik Pano
Ön Arsiklik Pano
Ön Arsiklik Pano
Ön Arsiklik Pano
Ön Arsiklik Pano
Ön Arsiklik Pano

Bu malzemeyle çalışma konusunda uzman değilim, akan su altında yüksek devirli dremmel ile üzerinde delikler açma tavsiyesi aldım ama aşırı mükemmelleştirmek istemedim, bu yüzden yaptığım sadece normal delmek oldu. delikler, Raspi ile ekran arasındaki kısmı hayal etmekten tamamen vazgeçtim, bunun yerine sadece ekranın ara parçalarında ve Raspi'nin konektöründe delikler açtım, sonra kalan maddeyi konektörün sığması için bir kareye dosyaladım vasıtasıyla.

Pleksi levhanın bazı deliklerin etrafında küçük çatlaklar olduğunu görebilirsiniz, bu nedenle mükemmel tasarımı hedefliyorsanız nelerden kaçınmanız gerektiğini bilirsiniz.

Bununla birlikte, ısı nedeniyle, ekmek kızartma makinesinin kasasına herhangi bir şey koyamazsınız, tüm elektronik parçalar ısıtıcıdan güvenli bir mesafede monte edilmelidir.

148x210mmPlexiglass levha için herhangi bir uygun tasarım çizimi yapmadım, sadece her şeyi simetrik ve sıralı olacak şekilde ayarlamaya çalıştım, bu yüzden kendi başınıza yapmanız gereken bu kısım için herhangi bir şema sağlayamadığım için özür dilerim. Ancak 1 tavsiyem var:

LED halkaları yapıştırmadan önce, onları bir Arduino ile açın ve arkadaki İLK ve SON led'i kalemle işaretleyin, böylece benim yaptığım gibi hafifçe döndürülmüş olarak monte etmek zorunda kalmazsınız (ancak bu yazılımdan düzeltilebilir))

Tüm ön paneli yerinde tutmak için tasarlanmış 6 ara parçası vardır, ancak sonunda dönerlerin kısa olması nedeniyle alt 2 tanesi panelden beslenmez.

Dönerler ve pleksi panel arasında normal PC anakart ara parçaları kullandım, ayrıca düğmelere basıldığında ek stabilite sağlamak için dönerin arkasına 2-2 daha ekledim.

Adım 5: Tost Makinesi Kontrol Devresi

Tost Makinesi Kontrol Devresi
Tost Makinesi Kontrol Devresi
Tost Makinesi Kontrol Devresi
Tost Makinesi Kontrol Devresi
Tost Makinesi Kontrol Devresi
Tost Makinesi Kontrol Devresi

Bu, TÜM Arduino pinlerini gerçekten maksimize eden projelerden biriydi:) RX ve TX, gelecekteki iletişim modülü genişletmesi için ayrıldı.

Ana devre kartı, bir buck dönüştürücü (Arduino, Raspi, Ekran, SSR, Röleler) aracılığıyla her şey için güç sağlar. Burada şunu belirtmek isterim ki bu voltaj regülatörü tam olarak son teknoloji değil, 12V DC gelen voltajı çok fazla geçemez. Tam olarak aynı türü kullanmaya karar verirseniz, adaptörünüzün sabit bir 12V açık devre voltajı sağladığından emin olun (WRT54G adaptörü gibi değil, bununla sihirli dumanın saniyeler içinde kaçtığını göreceksiniz).

Kartı mümkün olduğunca modüler yaptım, yapabildiğim yerlerde prizler kullandım. 2 kamışlı rölenin ötesinde her şey kolayca değiştirilebilir.

Bu mükemmel reed rölelerin her ikisi de dahili flyback diyotları ile birlikte gelir ve 7mA'dan fazla tüketmez, böylece herhangi bir Arduino pinine doğrudan bağlanabilirler (gelecek projelerimde de bunları önermeye devam edeceğim). Rölelerin işlevi:

Biri, kızartma işleminin başlangıcında solenoidi açmak içindir (bu kolu aşağı çekmek için).

Biri, hareket algılandığında ekranı otomatik olarak açıp kapatmak içindir.

Bu HDMI ekranını 7/24 çalıştırmanın uzun bir kullanım ömrü sağlamayacağını düşündüm (özellikle kullandığım şey sadece ucuz bir sahte, orijinal WaveShare değil:

Ayrıca odaya girdiğinizde PC'niz ekranı açabiliyor mu? Sanmıyorum, BSD ekmek kızartma makinesi yapabilir!

Ekran temelde 10 dakikalık bir bekleme zamanlayıcısındadır ve bu, herhangi bir hareket olduğunda otomatik olarak çarpılır. Diyelim ki açıldı ve 9 dakika sonra tekrar hareket var, bu da 10 dakika daha açık kalacağı anlamına geliyor. SSR dışında herhangi bir devrenin açılıp kapanması sağlıklı değildir.

Bu da bizi ısıtıcıyı kontrol etmek için 3. ve son kontrol elemanına getiriyor. Bu küçük cihazlar, sıcaklığı kontrol altında tutmak için çok fazla açıp kapatmak için özel olarak yapılmıştır. Seçtiğim şey, doğrudan bir Arduino çıkış pininden gayet iyi çalışacak.

Orijinal tasarımda, Raspberry pi sabah alarm tonunu çalmadan önce 2.1 hoparlör setini açmak için tahtada başka bir röle olurdu (ayrıca kızartma bittiğinde bir şarkı eklemek çok kolaydır) ancak bu neden IoT'dir. zahmet? Sadece ağımdaki başka bir raspi'den bunu benim için standart bir 433Mhz RCSwitch ile yapmasını istiyor.

Genellikle, tahtanın 0.4 versiyonunda bazı küçük hatalar vardı, resimlerde görülebiliyor. Yani 2 adet 5V konnektörü ve Arduino pin 10'daki giriş rölesi için bir konnektör dışarıda kaldı.

Bunları 0.5 sürümünde düzelttim ve ayrıca Xbee olmayan bir sürüm yaptım.

Bu, 2 katmanlı bir tahta olduğundan, sadece bu düzenleri indirerek ve DIY yapmak zor olacağından, 2 tarafı tam olarak yazdırmanız, tahtayı oymanız ve kenarları birleştirmenin bir yolunu bulmanız gerekecek, böylece daha sonra Easyeda paylaşılan projesinde bağlantı kuracağım.. Doğrudan onlardan sipariş etmeniz önerilir.

Adım 6: Xbee Modu

Xbee, yalnızca kahve makinesini doğrudan üzerinden kontrol etmek için burada çünkü mesafe olarak nispeten yakın ve ikisi arasında hiçbir engel yok.

Ekmek kızartma makinesi veya ekmek kızartma makinesi koduyla kesinlikle ilgisi yoktur.

Xbee modu hakkında: Bu tamamen isteğe bağlıdır, bu yüzden Xbee'li ve Xbee'siz bu kartın şemalarını ekliyorum. Xbee, Raspberry PI'nin RX/TX donanım UART portuna (ttyAMA0) doğrudan lehimlenmiştir; bu, ekranın konektörlerine çıkarılsa da ekran onu kullanmıyor (PI ve kendisi arasındaki dokunmatik koordinatları iletmek için SPI arayüzünü kullanıyor).

Mesajları Raspberry -> Arduino -> 5v3v converter -> Xbee -> diğer cihazlardan iletmek yerine Xbee iletişimi için PI üzerinde ayrı bir seri port ayırdım. Bu şekilde, kızartma işleminin tüm MCU'yu bloke etmesi de bir sorun değildir.

7. Adım: Tost Makinesi Kontrol Kodu

Kod oldukça basittir, çünkü temelde Arduio -> Raspberry PI arasında tek yönlü bir iletişim vardır.

Bu cihaz, kahve makinesinden farklı olarak, bazı süslü kontrollerle bir telefondan veya bilgisayardan sadece manuel olarak kontrol edilemez.

PI'nin buradaki tek işlevi, veri kaydetme ve güzel grafikler görüntüleme. Tost makinesinin çalışması için bir şişe değildir, tamamen kapatılabilir veya bu projeden çıkarılabilir, tüm işi Arduino yapar.

Kod başlangıçta led halkalarını sıfırlar, çeşitli tutma zamanlayıcılarını başlatır ve her döngüde 2 döner anahtardan gelen girişe bakar. Bu giriş, saat yönünde veya saat yönünün tersine dönüş veya 2 anahtardan herhangi birine basılması anlamına gelebilir (bu, boş modda bilgisayara yalnızca temel bir IRONFORGE_OFF_ALARM komutu gönderir ve ardından normal IRONFORGE_OFF durumuna geri döner).

rotary_read_temp() ve rotary_read_time() içinde global_temp ve global_time değişkenleri değiştirilecektir. Bu, bu değerlerin değiştirilebileceği koddaki SADECE yerdir ve değerlerini kızartma olayları arasında saklayacaklardır.

Bu fonksiyonların her ikisinde de bir kez çağrılan rotary_memory() pozisyonlarda değişiklik algılanır. Bu, halkaların üzerindeki led durumlarını geri yüklemek içindir, çünkü kızartma işleminden sonra tekrar siyaha döneceklerdir, güç israfı yapmamak ve kullanım ömürlerini uzatmak için.

Yakın zamanda herhangi bir rotasyon olayı olmaması durumunda LED ışıklar da her 10 dakikada bir periyodik olarak kapatılır.

Bu 2 işlevin birleşimi aşağıdakilerle sonuçlanacaktır:

1, boşta durumu varsayarsak

2, Dönerlerden herhangi biri hareket ettirilir (daha önce ayarlanmışsa, bu değer(ler) hafızadan geri yüklenir ve ledlerde gösterilir)

3, Kızartma işlemi başlamazsa ve daha fazla ayar olayı yoksa ışıklar tekrar kararır

Ayrıca onları ekrandan ayrı bir bekleme zamanlayıcısına taşıdım çünkü bilgisayar hava durumu verilerini görüntülemek için çok fazla kullanılacak ama döner LED'lerin her zaman geri yüklenmesini istemiyorum çünkü bir milyon tost yapmak istemiyorum. gün.

Ana kızartma işlemi (Arduino Tarafı):

Bu, sistem giriş başlatma (230V) rölesinden tetiklendiğinde (ve hem zaman hem de sıcaklık sıfırdan farklı olduğunda) başlatılacaktır. Arduino tarafında program akışı şu şekildedir:

1, Kolu basılı tutmak için Solenoidi açın

2, ısınmak için SSR'yi açın

3, Zamana bağlı olarak geri sayım yapan bir kızartma döngüsü başlatın. Her döngüde bilgisayara aşağıdaki verileri gönderin:

-TEMPERATURE (başlangıçta kayan nokta değeri, ancak 2 CSV dizesi olarak gönderiliyor)

-TIME kalır (saniye olarak, bu, diğer uçta tekrar mm:ss biçimine dönüştürülür)

4, Ayarlanan sıcaklığa bağlı olarak her döngüde, kızartma işlemini kontrol etmek için SSR'yi açın veya kapatın

5, Kızartma döngüsünün sonunda bilgisayara IRONFORGE_OFF komutu gönderilecektir.

6, SSR'yi kapatın ve solenoidi serbest bırakın

7, Gösteriş için LED oyunu oynayın (burada ayrıca müzik çalma veya istediğiniz başka bir eylemi de ekleyebilirsiniz)

8, Karartma ledleri

Daha önce de söylediğim gibi, ana kızartma döngüsü MCU'yu tamamen engelliyor, bu süre zarfında başka hiçbir görev yapılamaz. Ayrıca bu zaman diliminde döner girişleri yok sayar.

Ana kızartma işlemi (Raspberry PI Side):

Raspberry pi, masaüstündeki tüm etkileşimlerden sorumlu olan ayrıcalıksız bir kullanıcı ile head C kontrol programını çalıştırır.

Conky'yi tüm grafik ekranları için kullanmaya karar verdim çünkü on yıldan beri kullanıyorum ve bu iş için kullanımı en kolay gibi görünüyordu, ancak bazı yakalamaları var:

-Grafik ayrıntı düzeyi değiştirilemez, grafik çok ince tanelidir, maksimum kızartma süresinden (5 dakika) sonra bile çubuğun yalnızca yarısına ulaşır

-Conky, özellikle onu öldürmeye ve yeniden yüklemeye devam ettiğinizde çökmeyi sever

İkinci nedenden dolayı, tüm conki'leri, onu gözetlemek için ayrı denetimli süreçler aracılığıyla oluşturmaya karar verdim.

Temel boşta lua 2 ayrı conki kullanır (biri hava durumu verileri için, diğeri saat için).

Kızartma başladığında:

1, Arduino, IRONFORGE_ON ile seri olarak ahududu pi C programını sinyaller

2, Kontrol C programı 2 conky ipliğini durdurur ve kızartma için 3. conky lua'ya yükler

3, Kontrol C programı, ramdisk üzerinde bulunan ayrı metin dosyalarına (SD kart üzerinde gereksiz RW işlemleri yapmamak için) hem sıcaklık hem de zaman değerlerini yazar, conki'lerin ne okuduğunu ve otomatik olarak görüntülediğini yazar. Program kalan süreyi MM:SS formatına da oluşturmaktan sorumludur.

4, Kızartmanın sonunda, C programı mevcut kızartma ipliğini durdurur ve tekrar hava ve zaman ekranına geri dönen 2 conki'yi yeniden başlatır.

5, Alarm tespiti için, C programı, boş durumdayken herhangi bir döner çark içeri itildiğinde cron'dan müzik çalma işlemini doğrudan durdurabilir.

8. Adım: Tüm Tostlarınız Bize Ait: NetBSD Vs Raspbian

Tüm Tostlarınız Bize Ait: NetBSD Vs Raspbian
Tüm Tostlarınız Bize Ait: NetBSD Vs Raspbian

Tost makinesi ağırlıklı olarak NetBSD ve ekran, ses, Arduino çalışacak şekilde yapılmış olsa da, dokunmatik ekran desteği yoktur. Bunun için bir sürücü yazmakla ilgilenen herkesin yardımını takdir ediyorum.

LCD'nin dokunmatik çipi XPT2046'dır. Ekran, imleç giriş koordinatlarını Raspberry'ye geri göndermek için SPI kullanıyor.

www.raspberrypi.org/documentation/hardware…

  • Dokunmatik Panelin 19 TP_SI SPI veri girişi
  • Dokunmatik Panelin 21 TP_SO SPI veri çıkışı
  • 22 TP_IRQ Dokunmatik Panel kesintisi, Dokunmatik Panel dokunma algılarken düşük seviye
  • 23 TP_SCK SPI Dokunmatik Panel saati
  • 26 TP_CS Dokunmatik Panel çip seçimi, düşük aktif

Bu yazıyı yazarken, dokunmatik yüzey için çalışan NetBSD sürücüsüne sahip Raspberry PI uyumlu (kalkan) dokunmatik ekranın farkında değilim.

9. Adım: Kapanış ve Yapılacaklar Listesi

Kapanış ve Yapılacaklar Listesi
Kapanış ve Yapılacaklar Listesi

Her zaman olduğu gibi, koddaki herhangi bir yardım, katkı, düzeltme kabul edilir.

Bu yakın zamanda tamamlanmış bir hack'ti, bu yüzden projeyi daha sonra eksik kod parçalarıyla güncelleyeceğim (Raspberry pi C kontrol kodu, Conky luas vb.). Ayrıca, her şeyi içeren otomatik olarak yeniden boyutlandırılabilir 8GB/16GB sdcard görüntüleri oluşturmayı planlıyorum. Raspberry PI standart bir donanım olduğu için, projeyi oluşturmaya karar veren herkes görüntüleri indirebilir, bir sd karta yazabilir ve açılıştan sonra ekmek kızartma makinesi tıpkı benimki gibi çalışır. Ağ kurulumu sadece doğru zaman (NTP) ve sıcaklık göstergesi için gereklidir.

Kalan bir adım, içerideki sıcaklıkları bir FLIR ile ölçmek ve ayarlamaları MAX termo sensörünün okumasına eklemek olacaktır, çünkü küçük maksimum 5 dakikalık kızartma süresi için çok yavaş ısındığına inanıyorum.

Ayrıca, sıcaklık düşürülürse bu 5 dakikalık maksimum zaman penceresini uzatabilmek için ayarlanan sıcaklığa bağlı olarak zaman periyodunu otomatik ölçeklendirmeyi eklemeyi planlıyoruz.

Önerilen: