Mündəricat:

IronForge NetBSD Toster: 9 Addım (Şəkillərlə birlikdə)
IronForge NetBSD Toster: 9 Addım (Şəkillərlə birlikdə)

Video: IronForge NetBSD Toster: 9 Addım (Şəkillərlə birlikdə)

Video: IronForge NetBSD Toster: 9 Addım (Şəkillərlə birlikdə)
Video: WoW Classic rogue Iron forge gank 2024, Dekabr
Anonim
NetBSD Tosterini IronForge
NetBSD Tosterini IronForge
NetBSD Tosterini IronForge
NetBSD Tosterini IronForge
NetBSD Tosterini IronForge
NetBSD Tosterini IronForge

Bu layihə tost kimi başlamadı, nəticədə bir oldu.

Yemək reseptlərimi göstərmək üçün istifadə etdiyim mətbəx kompüterim (köhnə Windows CE PDA) öldükdə bu fikir gəlir. Əvvəlcə buzdolabımda maqnitlə sabitlənəcək və batareyalardan çox uzun müddət tükənəcək E-mürəkkəb əsaslı aşağı enerjili bir ekran yaratmağı düşünürdüm, amma sonra mətbəxə musiqi dinləmək üçün köhnə 2.1 əhatəli sistem aldım. yaxşı düşündüm ki, bəlkə də hər ikisini də edə biləcək bir kompüter olmalıdır və sonra ağlıma başqa bir köhnə layihə gəlir:

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

Orijinal NetBSD toster. Bilməyənlər üçün bu layihə öz -özlüyündə geek bir zarafatdır:

"UNIX-ə bənzər OS NetBSD-nin, bəlkə də mətbəx tostunuz istisna olmaqla, hər növ maşın üçün portativ olduğu çoxdan qəbul edilmişdir."

Beləliklə, NetBSD ilə işləyən bir tost hazırlayaq və:

  • İstilik və qızartma vaxtı istifadəçi tərəfindən tam tənzimlənir
  • Yemək olmasa da, 2 hava stansiyasından hava məlumatlarını şık bir tablosunda göstərir
  • Qızardanda qalan vaxtı və temperaturu həm qrafikdə, həm də rəqəmlə göstərir
  • Qızarmadıqda zəngli saat və musiqi dinləmək, hətta üzərində film oynamaq kimi də istifadə etmək olar
  • Yemək reseptlərini göstərir və ya müntəzəm olaraq gəzmək üçün istifadə edilə bilər

Addım 1: Tost Əməliyyatı və Təchizat Seçimi

Tost Əməliyyatı və Təchizat Seçimi
Tost Əməliyyatı və Təchizat Seçimi
Tost Əməliyyatı və Təchizat Seçimi
Tost Əməliyyatı və Təchizat Seçimi
Tost Əməliyyatı və Təchizat Seçimi
Tost Əməliyyatı və Təchizat Seçimi
Tost Əməliyyatı və Təchizat Seçimi
Tost Əməliyyatı və Təchizat Seçimi

Burada, əvvəlki qəhvə sınağımdan fərqli olaraq, tost üçün əla seçim etdiyimə inanmıram, buna görə də tostun daxili işinə qısa bir giriş verəcəyəm, meyar və təcrübəni təkbaşına seçəcəyəm və oxucunun öz tostunu seçməsinə icazə verəcəyəm. bu hack üçün.

Tost maşınında əsas meyarlarımdan biri eyni vaxtda 4 dilim çörək bişirməyi və avtomatik olmağı bacarmaq idi, buna görə də Alman Ebay -da bir neçə saat sürdükdən sonra yeməyin yanında qərar verdim.

Severin AT 2509 (1400W) tost

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

Bu, Almaniyada geniş yayılmış bir markadır, yeni olaraq yazılarkən təxminən 40-50 avroya başa gəlir.

İstehsalçının reklam etdiyi əsas xüsusiyyətlər:

● İstilik izolyasiya edilmiş paslanmayan polad korpus

● inteqrasiya olunmuş rulon qovurma qurğusu

● 4 -ə qədər dilim üçün 2 uzun yuva qovurma şaftı

● İstilik sensoru ilə qovurma vaxtı elektronikası

● tənzimlənən aşılama dərəcəsi

● Göstərici işığı ilə defrost səviyyəsi

● Nəzarət işığı ilə əlavə bronzlaşma olmadan istiləşmə mərhələsi

● göstərici işığı olan ayrı buraxma düyməsi

● Çörəyin hər iki tərəfinin bərabər qızardılması üçün mərkəzləşdirilmiş çörək dilimləyicisi

● bir çörək diski sıxışdıqda avtomatik bağlanma

● Qırıntı tepsisi

● Kabelin geri sarılması

İstehsalçı temperaturun tənzimlənə biləcəyini iddia etməsə də, 2 yanıltıcı nöqtə qoyur:

● Nəzarət işığı ilə əlavə bronzlaşma olmadan istiləşmə mərhələsi

● İstilik sensoru ilə qovurma vaxtı elektronikası

Bu iddialara istinad etmək üçün maşının necə işlədiyini görək:

1, Normal vəziyyətdə 230V elektrik şəbəkəsi tamamilə ayrılıb, tostun heç bir hissəsi işləmir.

2, istifadəçi qolu aşağı çəkəndə (çörəkləri də aşağı çəkir), qızdırıcı elementi hər iki tərəfə bağlayır.

İndi burada etdikləri ucuz, eyni zamanda ağıllı bir dizayndır. Tosterin içərisində heç bir transformator yoxdur, buna görə aşağı (10V AC ~) gərginliyini necə əldə etdiyini düşünə bilərsiniz. Tostun sol tərəfində, 10V AC yaradan bir aşağı salınan transformator kimi işləyən qızdırıcı elementlərdən biri ilə birləşdirilmiş ayrı bir bobin var.

Sonra, tosterin əsas idarəetmə lövhəsini işlədən 10V DC yaratmaq üçün tək bir diod düzəldici istifadə edir.

3, İlk olaraq düşündüyüm - birlikdə solenoid + transformator olduğu - indi idarəetmə dövrəsi ilə işləyən və yalnız bir şeydən məsul olan qolun altındakı tək bir solenoid olduğu ortaya çıxdı (bu qolu aşağı çəkmək üçün).

Bu solenoid bitdiyi çörəyi sərbəst buraxan kimi, tostçu əsasən öz elektrik enerjisini kəsir və bununla da qızartma prosesini bitirir.

Beləliklə, haqlı olaraq məlumat səhifəsindəki əriyən, qızdırılan, istilənən və hər hansı bir xülya düymələrinin və iddialarının nə olduğunu soruşa bilərsiniz … Mən deyərdim ki, bu təmiz marketinq BS -dir. Vaxt tənzimləyicisi və 1 tək düymə qoya bilərdilər, çünki günün sonunda bu dövrə taymerdən başqa bir şey deyil. Bu dövrə qızdırıcı elementlə eyni enerji mənbəyindən qidalandığından və bu maşında (qızdırıcıda) olan yeganə şeyi idarə edə bilmədiyi üçün bu dövrəni daha da modelləşdirməkdə çətinlik çəkmədim, aid olduğu yerə atdım. zibil qutusu.

İndi hərbi dərəcəli idarəetmə dövrəsi yolundan çıxdığından, tost üzərində FULL CONTROL-u götürək.

Addım 2: Avadanlıq siyahısı

Avadanlıq siyahısı
Avadanlıq siyahısı
Avadanlıq siyahısı
Avadanlıq siyahısı
Avadanlıq siyahısı
Avadanlıq siyahısı

Bu yenə də tam bom deyil, tellər və vintlər kimi bütün əsasları əhatə etmir:

  • 1x AT 2509 (1400W) tost və ya seçdiyiniz hər hansı digər tost
  • 1 ədəd Arduino Pro Micro
  • Raspberry Pi XPT2046 BE üçün 1x 5 düym Rezistiv Dokunmatik Ekranlı LCD Ekran
  • 1x Raspberry PI 2 və ya Raspberry PI 3
  • 1x SanDisk 16GB 32GB 64GB Ultra Micro SD SDHC Kart 80MB/s UHS-I Class10 w Adapter (PI üçün)
  • 2x SIP-1A05 Reed Switch Rölesi
  • Arduino üçün 1x 1PCS MAX6675 Modulu + K Tipi Termokupl Temperatur Sensoru (ehtiyat hissələri almaq tövsiyə olunur)
  • 1x Çıxış 24V-380V 25A SSR-25 DA Solid State Relay PID Temperatur Controller
  • 1x Mini DC-DC Buck Dönüştürücü Aeromodelləşdirmə üçün Modulu Güc Təchizatı (dəyişdirmə üçün bunlardan daha çoxunu satın alın).
  • Arduino üçün 2x Rotary Encoder Modulu Kərpic Sensor İnkişaf etdirmə Kartı (Rotary + Middle Switch, əvəz etmək üçün bunlardan daha çox satın alınması tövsiyə olunur)
  • 2x WS2812B 5050 RGB LED Üzük 24Bit RGB LED
  • 1x 1mm A5 şəffaf Perspex akril təbəqə Plastik Pleksiglas Kesim 148x210mm Lot
  • 1x12V 2A DC adapter (1A da Pi+Screen+Ardu üçün kifayət olmalıdır, lakin əlavə cihazları USB vasitəsilə bağlasanız əlavə cərəyanı boşaldır)
  • 1x PCS HC-SR501 IR Pyroelektrik İnfraqırmızı IR PIR Hərəkət Sensor Detektor Modulu
  • Arduino üçün 2x Jumper Wire 5 Pin Dişi -Dupont Kabel 20 sm (dönərlər üçün bunlardan daha çox almağa dəyər)
  • 6x Potansiyometr Gümüşü üçün 2x Alüminium Xəlitəli Səs Topuzu 38x22mm
  • 1x 230V rölesi
  • Bağlantılar üçün Tək Sıralı Qadın 2.54mm + Kişi Qırılan Başlıq Bağlayıcıları
  • Xbee modu üçün isteğe bağlı: 1X10P 10pin 2mm Qadın Tək Sıralı Düz Pin Başlıq Zolağı XBee Soketi
  • Xbee modu üçün isteğe bağlı: 1 Xbee
  • Xbee modu üçün isteğe bağlı: 1x Jumper Wire 4 Pin Dişi -Dişi Dupont Kablosu Arduino üçün 20 sm (Xbee Raspi arasında)

Elektrik təchizatı üçün 5V əvəzinə 12V istifadə etməlisiniz, çünki solenoid aşağı gərginlik səviyyəsində qalmayacaq, solenoidə bir flyback diod əlavə etməyi unutmayın.

Digər komponentlərdən istifadə etmək qərarına gəlsəniz, məsələn: 12V-dən> 5V-a qədər geriləmə üçün fərqli pul modulu, lövhəni yenidən dizayn etməlisiniz.

Addım 3: Davanın dəyişdirilməsi: Ön cəbhədir

Davanın dəyişdirilməsi: Ön cəbhədir
Davanın dəyişdirilməsi: Ön cəbhədir
Davanın dəyişdirilməsi: Ön cəbhədir
Davanın dəyişdirilməsi: Ön cəbhədir
Davanın dəyişdirilməsi: Ön cəbhədir
Davanın dəyişdirilməsi: Ön cəbhədir

Əsas idarəetmə sxemini çıxardıqdan sonra hələ də açarların yerinə baxan böyük bir çirkin dəlik var idi, buna görə qərara gəldim ki, yalnız o tərəfi arxa olaraq istifadə edim və SSR -in yerləşdiyi qovşaq qutusunu düzəldim (Solid State Relay -> üçün istilik nəzarət) + 230V AC rölesi (gücün aşkarlanması üçün) + bütün dövrə işləyən 12V adapter.

Bu tost modelinin sökülməsi və yenidən yığılması bir qədər çətin idi. Çantanı çıxarmağın başqa yolunu tapmadım, ancaq qolları açıb çıxardıqdan sonra korpusu qaldıra bilmək üçün əsas açılan qolu altından bir zımba ilə kəsərək (xoşbəxtlikdən bu hissədə xarici plastik örtük olduğundan bu gözə çarpmayacaq).

MAX6675 termokuplunun detektor ucunu tosterin alt hissəsindəki əsas qolun əks kənarına (qol mexanizmi ilə ziddiyyət təşkil edərsə) daxil etdim.

Daxili korpus incə alüminiumdur, hətta qazmağa ehtiyac yoxdur, kiçik bir çuxur bir tornavida ilə asanlıqla genişləndirilə bilər, sonra sensora qoyulur, çətin tərəfi onu iç tərəfdən geri çevirmək idi. Bunu etmək üçün şəkillərdə göstərilən ağıllı bir həll tapmalıyam.

Qızdırıcı elementi olan əsas daxili tost qabını ayırmaq yalnız güclü sinirləri olan insanlar üçündür və çox tövsiyə edilmir. Onsuz da orada etməniz lazım olan başqa bir şey yoxdur.

MAX6675 -in telləri, maşının altından kabellərin çıxarıldığı çuxura asanlıqla ötürülə biləcək qədər uzun idi.

Bütün lazımi kabelləri birindən digərinə gətirmək ən çətin modifikasiya işlərindən biri idi. (İndi arxa) tərəfdə başqa bir delik açmaq məcburiyyətində qalmadım, çünki kabellər yalnız açarlardan olan çuxurdan istifadə edə bilərdi. Sonra, kabelləri korpusun divarına qədər düzəltmək, çox dar bir boşluqdan aşağıya endirmək lazımdır, burada yüksək gərginlikli idarəetmə lövhəsindən bir neçə əlavə tel ilə birləşdirilir, yəni:

  • Isıtma elementindən 1 tel -> SSR -ə gedir
  • 230V -dan 1 tel (tercihen isti qəhvəyi nöqtə) -> SSR -ə keçir
  • Açar qapalı vəziyyətdə olan 230V -dan 2 tel -> Röleyi Başlayır
  • 230V əsas şəbəkədən 2 tel -> Arxa tərəfdəki 12V adapterə keçir
  • Termo sensordan qoruyucu tellər

Və tosterə nəzarət etmək üçün lazım olan hamısı budur.

Sənaye lehimləmə səbəbiylə, qızdırıcı element ilə magistralın bir ucu arasındakı telin kəsilməsini qərara aldım (keçiddən sonra gəlir) və onu SSR -ə bağladığım terminal zolaqları ilə.

230V -dan (şəbəkə gərginliyi) işləyən bir röle tələb olunacaq. Bu, Arduino'ya istifadəçinin qolu aşağı çəkdiyini, yəni qızartma prosesinə başladığını bildirəcək başlanğıc rölesidir. Unutmayın ki, idarəetmə dövrəsi artıq mövcud deyil, solenoid qolu aşağı tutacaq gücə malik deyil və qızdırıcı da ayrılır (SSR vasitəsilə idarə olunur). Bütün bunlar bundan sonra Arduinonun vəzifəsi olacaq.

12V DC adapteri birbaşa ana şəbəkəyə bağlanır (arxada əlavə ON/OFF açarı əlavə etdim). Bu, dövrə üçün daimi güc təmin edəcək. Gözləmə rejimində olan tost cihazı yalnız sərf edir: ekranı AÇIQ 5,5 Vt, söndürüldükdə isə 5,4 Vt.

Addım 4: Ön Arcyclic Board

Ön Arcyclic Board
Ön Arcyclic Board
Ön Arcyclic Board
Ön Arcyclic Board
Ön Arcyclic Board
Ön Arcyclic Board

Mən bu materialla işləmək üzrə mütəxəssis deyiləm, axan suyun altında yüksək devirli dremmel ilə delikləri kəsmək üçün məsləhət aldım, amma çox mükəmməlləşdirmək istəmədim, buna görə etdiyim şey adi qazmaq idi. deşiklər, Raspi ilə ekran arasındakı hissəni təmizləməkdən tamamilə vaz keçin, bunun əvəzinə yalnız ekranın aralığında və Raspi bağlayıcısında deliklər qazdım, sonra qalan maddəni bağlayıcının uyğun olması üçün bir meydanda qoydum. vasitəsilə.

Pleksi lövhədə bəzi qazmaların ətrafında kiçik çatlar olduğunu görə bilərsiniz, buna görə də mükəmməl dizaynı hədəfləyirsinizsə nədən çəkinməli olduğunuzu bilirsiniz.

Buna baxmayaraq, istilik səbəbiylə tost qutusunun içərisinə heç bir şey qoya bilməzsiniz, bütün elektronlar qızdırıcıdan etibarlı bir məsafədə quraşdırılmalıdır.

148x210mmPlexiglass təbəqə üçün heç bir uyğun dizayn rəsmləri hazırlamadım, hər şeyi simmetrik və xətti olaraq düzəltməyə çalışdım, buna görə bu hissəyə heç bir sxem verə bilməyəcəyiniz üçün üzr istəyirəm, bunu özünüz etməlisiniz. Ancaq 1 məsləhətim var:

LED halqalarını yapışdırmadan əvvəl, Arduino ilə yandırın və yandırın və arxadakı İLK və SON LED -i qələmlə işarələyin ki, onları mənim kimi bir qədər döndərib montaj etməyinizlə nəticələnməsin (lakin bu proqramdan düzəldilə bilər))

Bütün ön paneli yerində tutmaq üçün nəzərdə tutulmuş 6 boşluq var, lakin sonunda, dönərlərin qısa olması səbəbindən, 2 alt hissəsi panel vasitəsilə ötürülmür.

Dönərlər və pleksi panel arasında müntəzəm PC anakart ayırıcılarından istifadə etdim, düymələr içəri basıldıqda əlavə sabitlik təmin etmək üçün dönərin arxasına 2-2 daha əlavə etdi.

Addım 5: Tost nəzarət dövrəsi

Tost İdarəetmə Dövrü
Tost İdarəetmə Dövrü
Tost İdarəetmə Dövrü
Tost İdarəetmə Dövrü
Tost İdarəetmə Dövrü
Tost İdarəetmə Dövrü

Bu, BÜTÜN Arduino sancaqlarını aşan layihələrdən biridir:) RX və TX gələcək ünsiyyət modulu uzadılması üçün ayrılmışdır.

Əsas dövrə lövhəsi, bir dollar çeviricisi (Arduino, Raspi, Ekran, SSR, Rölelər) vasitəsi ilə hər şeyə güc verir. Burada qeyd edim ki, bu gərginlik tənzimləyicisi son texnologiya deyil, 12V DC gələn gərginliyi çox keçə bilməz. Eyni növdən istifadə etmək qərarına gəlsəniz, adapterinizin sabit bir 12V açıq dövrə gərginliyi təmin etdiyinə əmin olun (WRT54G adapteri kimi deyil, bununla saniyələrdə sehrli tüstünün çıxdığını görəcəksiniz).

Bacardığım yerdəki prizlərdən istifadə edərək lövhəni mümkün qədər modul hala gətirdim. 2 qamış rölesinin xaricində qalan hər şey asanlıqla dəyişdirilə bilər.

Hər iki əla qamış rölesi, qurulmuş flyback diodları ilə gəlir və 7 mA -dan çox istehlak etmir, buna görə də hər hansı bir Arduino pininə birbaşa qoşula bilərlər (bunları gələcək layihələrimdə də davam etdirəcəyəm). Rölelərin funksiyası:

Biri qızartma prosesinin əvvəlində solenoidi açmaq üçündür (bu qolu aşağı çəkmək üçün).

Bir hərəkət aşkar edildikdə ekranı avtomatik açmaq və söndürmək üçündür.

7/24 işləyən HDMI ekranının uzun bir ömür təmin etməyəcəyini anladım (xüsusən istifadə etdiyim şey orijinal WaveShare deyil, sadəcə ucuz bir saxtakarlıqdır:

Həm də otağa girəndə kompüteriniz ekranı aça bilərmi? Düşünmürəm, BSD tostçu edə bilər!

Ekranın təməli 10 dəqiqəlik bir taymer üzərindədir, bu da yenidən hərəkət olduqda avtomatik olaraq çarpılır. Deyək ki, açıldı və 9 dəqiqə sonra yenidən hərəkət var, yəni əlavə 10 dəqiqə qalacaq. Açmaq və söndürmək SSR istisna olmaqla heç bir dövrə üçün sağlam deyil.

Qızdırıcıyı idarə etmək üçün bizi 3 -cü və son idarəetmə elementinə gətirir. Bu kiçik qurğular, temperaturu nəzarət altında saxlamaq üçün çoxlu açmaq və söndürmək üçün xüsusi olaraq hazırlanmışdır. Seçdiyim şey birbaşa Arduino çıxış pinindən yaxşı işləyəcək.

Orijinal dizaynda, Raspberry pi -nin səhər həyəcan siqnalı çalmasından əvvəl 2.1 dinamikini işə salmaq üçün lövhədə başqa bir röle də olardı (həm də qızartma zamanı mahnı əlavə etmək çox asandır), amma bu səbəbdən IoT narahat ol? Sadəcə şəbəkədəki başqa bir raspi -dən bunu mənim üçün standart 433Mhz RCSwitch ilə etməsini xahiş edir.

Ümumiyyətlə, lövhənin 0.4 versiyasında bəzi kiçik səhvlər var idi, şəkillərdə nə görmək olar. Yəni daha 2 ədəd 5V konnektoru və Arduino pin 10 -da giriş rölesi üçün bir bağlayıcı kənarda qaldı.

Bunları 0.5 versiyasında düzəltdim və Xbee olmayan bir versiya da hazırladım.

Bu 2 qatlı bir lövhə olduğu üçün yalnız bu planları yükləyərək DIY etmək çətin olardı, 2 tərəfini dəqiq çap etməlisiniz, lövhəni aşındırmalı və tərəfləri birləşdirmək üçün bir yol tapmalısınız, buna görə Easyeda paylaşılan layihəsində daha sonra əlaqələndirəcəyəm.. Onları birbaşa sifariş etmək tövsiyə olunur.

Addım 6: Xbee Mod

Xbee yalnız qəhvə maşınını birbaşa idarə etmək üçün buradadır, çünki məsafədə ona nisbətən yaxındır və aralarında heç bir maneə yoxdur.

Tost və ya tost kodu ilə heç bir əlaqəsi yoxdur.

Xbee modu haqqında: bu tamamilə isteğe bağlıdır, buna görə də Xbee ilə və olmadan bu lövhənin sxemlərini daxil edirəm. Xbee, Raspberry PI -nin RX/TX hardware UART portuna (ttyAMA0) birbaşa lehimlənir, bu da ekranın konnektorlarına çıxarılsa da, ekran istifadə etmir (PI ilə toxunma koordinatlarını əlaqələndirmək üçün SPI interfeysindən istifadə edir).

Mesajları Moruq -> Arduino -> 5v3v çeviricisi -> Xbee -> digər cihazlardan ötürmək əvəzinə, Xbee ünsiyyəti üçün PI -də ayrı bir serial portu ayırdım. Bu şəkildə, qızartma prosesinin bütün MCU -nu maneə törətməsi də problem deyil.

Addım 7: Tost Nəzarət Kodu

Kod olduqca sadədir, bunun səbəbi Arduio -> Raspberry PI arasında əsasən birtərəfli ünsiyyətin olmasıdır.

Qəhvə hazırlayıcısından fərqli olaraq, bu cihaz telefondan və ya kompüterdən yalnız bəzi xülya idarəetmə vasitələri ilə idarə edilə bilməz.

Burada PI -nin yeganə funksiyası məlumatların qeyd edilməsi və gözəl qrafiklərin göstərilməsidir. Tosterin işləməsi üçün flakon deyil, tamamilə söndürülə və ya hətta bu layihədən çıxarıla bilər, Arduino bütün işləri görür.

Başlanğıcda kod led halqaları sıfırlayır, müxtəlif tutma zamanlayıcılarını işə salır və hər döngədə 2 dönər açarının girişindən baxır. Bu giriş, saat yönünde və ya saat yönünün əksinə dönmə və ya 2 açarın hər hansı birini itələmək deməkdir (boş rejimdə kompüterə yalnız IRONFORGE_OFF_ALARM əsas əmrini göndərir və sonra normal IRONFORGE_OFF vəziyyətinə qaytarır).

Rotary_read_temp () və rotary_read_time () daxilində global_temp və global_time dəyişənləri dəyişdiriləcək. Bu, bu dəyərlərin dəyişdirilə biləcəyi və dəyərlərini qızartma hadisələri arasında saxlayacaqları YALNIZ yerdir.

Bu funksiyaların hər ikisində mövqelərdə dəyişiklik aşkar edildikdə rotary_memory () çağırılır. Bu, qızdırılan vəziyyətləri üzüklərə geri yükləmək üçündür, çünki qızartma prosesindən sonra onlar yenidən qara rəngə çevriləcək, güc itirməyəcək və ömrünü uzatmayacaq.

LED işıqları, son dönmə hadisəsi olmadığı təqdirdə, hər 10 dəqiqədən bir vaxtaşırı söndürülür.

Bu 2 funksiyanın birləşməsi aşağıdakı nəticələrə gətirib çıxaracaq:

1, Boş vəziyyətdə olduğunu fərz edirik

2, Hər hansı bir fırlanan hərəkət edir (əvvəllər düzəldilmiş olsaydı, bu dəyərlər yaddaşdan bərpa ediləcək və ledlərdə göstəriləcək)

3, Qızartma prosesi başlamazsa və daha çox tənzimləmə hadisəsi yoxdursa, işıqlar yenidən qaralacaq

Kompüter hava məlumatlarını göstərmək üçün çox istifadə ediləcəyi üçün onları ekrandan ayrı bir tutma taymerinə köçürdüm, amma fırlanan LED -lərin daim bərpa olunmasını istəmirəm, çünki bir milyon tost etmək istəmirəm. gün.

Əsas qızartma prosesi (Arduino Side):

Bu, sistemin başlanğıc rölesindən (230V) tetiklendiğinde başlayacaq (və həm vaxt, həm də sıfırdan fərqli). Proqram axını Arduino tərəfində belədir:

1, qolu tutmaq üçün Solenoidi yandırın

2, istilənmək üçün SSR -i yandırın

3, Vaxtdan asılı olaraq geri sayan bir qızartma döngəsi başlayın. Hər bir döngədə aşağıdakı məlumatları kompüterə göndərin:

-TEMPERATURE (əvvəlcə üzən nöqtə dəyəri, lakin 2 CSV sətri kimi göndərilir)

-ZAMAN qalır (saniyələr ərzində digər tərəfdən mm: ss formatına çevriləcək)

4, Hər bir döngədə, qızdırılma prosesini idarə etmək üçün SSRİ -ni yandırın və ya söndürün

5, Qızartma döngəsinin sonunda IRONFORGE_OFF əmri kompüterə göndəriləcək

6, SSR -i söndürün və solenoidi buraxın

7, şou üçün LED oyunu oynayın (burada həm də musiqi və ya istədiyiniz başqa hərəkəti əlavə edə bilərsiniz)

8, Qaranlıq ledlər

Daha əvvəl dediyim kimi, əsas qızartma döngəsi MCU -nu tamamilə bloklayır, bu müddət ərzində başqa işlər görülə bilməz. Həm də bu müddətdə fırlanan girişləri görməyəcək.

Əsas qızartma prosesi (Raspberry PI Side):

Moruq pi, masaüstündəki bütün qarşılıqlı əlaqələrdən məsul olan üstün bir istifadəçi ilə baş C nəzarət proqramını idarə edir.

Conky -ni bütün qrafik ekranlar üçün istifadə etməyə qərar verdim, çünki on ildən bəri istifadə edirəm və iş üçün istifadə etmək ən asan kimi görünürdü, lakin bəzi məqamları var:

-Qrafik dənəvərliyi dəyişdirilə bilməz, qrafik çox incə dənədir, hətta maksimum qızartma vaxtından (5 dəqiqə) sonra yalnız çubuğun yarısına çatır

-Conky, xüsusilə də öldürməyə və yenidən yükləməyə davam edərkən qəzaya uğramağı sevir

İkinci səbəbdən, gözətçi olmaq üçün ayrı -ayrı nəzarətçi proseslər vasitəsilə bütün qozları yumurtlamağa qərar verdim.

Əsas boş lua 2 ayrı qozdan istifadə edir (1 hava məlumatı üçün, digəri isə saat üçün).

Qızartma başlayanda:

1, Arduino, moruq pi C proqramını IRONFORGE_ON ilə serial vasitəsilə siqnal edir

2, C nəzarət proqramı, qızartma üçün 3 -cü konki luada 2 konki ipi və yükü dayandırır

3, Control C proqramı, ramdisk -də yerləşən ayrı -ayrı mətn sənədlərinə həm temperatur, həm də vaxt dəyərlərini yazır (SDcardda lazımsız RW əməliyyatları etməmək üçün), konkilərin oxuduqları və avtomatik olaraq göstərdikləri. Proqram, MM: SS formatında qalan vaxtın yaradılmasından məsuldur.

4, Qızartmanın sonunda C proqramı, indiki qızartma ipini dayandırır və yenidən hava və vaxt görüntüsünə gedən 2 konki yenidən işə salır.

5, Zəngli siqnalı aşkar etmək üçün C proqramı, boş vəziyyətdə olan dönərlərdən hər hansı biri içəri girəndə crondan musiqi çalma prosesini birbaşa dayandıra bilər.

Addım 8: Bütün Tostlarınız Bizə məxsusdur: NetBSD Vs Raspbian

Bütün Tostlarınız Bizə məxsusdur: NetBSD Vs Raspbian
Bütün Tostlarınız Bizə məxsusdur: NetBSD Vs Raspbian

Tost cihazı əsasən NetBSD və ekran görüntüsünü, səsi idarə etmək üçün hazırlansa da, Arduino hamısı onunla işləyir, heç bir toxunma ekranı dəstəyi yoxdur. Bunun üçün sürücü yazmaq istəyən hər kəsin köməyinə minnətdaram.

LCD -nin toxunma çipi XPT2046 -dır. Ekranda kursorun giriş koordinatlarını yenidən Moruqa göndərmək üçün SPI istifadə olunur.

www.raspberrypi.org/documentation/hardware…

  • 19 Toxunma Panelinin TP_SI SPI məlumat girişi
  • Toxunma Panelinin 21 TP_SO SPI məlumat çıxışı
  • 22 TP_IRQ Toxunma Paneli, aşağı səviyyədə, TouchPanel toxunmağı algılar
  • 23 Toxunma Panelinin TP_SCK SPI saatı
  • 26 TP_CS Touch Panel çip seçimi, aşağı aktiv

Bu yazını yazarkən, touch pad üçün işləyən NetBSD sürücüsü olan Raspberry PI uyğun (qalxan) bir sensor ekranından xəbərim yoxdur.

Addım 9: Bağlanma və Görüləcək İşlərin Siyahısı

Bağlanma və ediləcək işlər siyahısı
Bağlanma və ediləcək işlər siyahısı

Həmişə olduğu kimi, hər hansı bir kömək, töhfə, koddakı düzəlişlər xoş gəlir.

Bu yaxınlarda tamamlanmış bir hack idi, buna görə də layihəni daha sonra itkin kod parçaları ilə yeniləyəcəyəm (Raspberry pi C nəzarət kodu, Conky luas və s.). Həm də hər şeyi ehtiva edən avtomatik ölçülü 8GB/16GB sdcard şəkilləri yaratmağı planlaşdırıram. Raspberry PI standart bir qurğu olduğundan, layihəni qurmağa qərar verən hər kəs şəkilləri yükləyə bilər, onları bir sdcard -a yaza bilər və tost mənimki kimi açıldıqdan sonra işləyəcək. Şəbəkə qurmaq yalnız düzgün vaxt (NTP) və temperatur göstəricisi üçün lazımdır.

Qalan bir addım, FLIR ilə içəridəki temperaturları ölçmək və MAX termo sensorunun oxunuşuna düzəlişlər əlavə etmək olacaq, çünki kiçik 5 dəqiqəlik qızartma müddəti üçün çox yavaş istiləşdiyini düşünürəm.

İstilik aşağı salındıqda bu 5 dəqiqəlik maksimum vaxt aralığını uzada bilmək üçün, müəyyən edilmiş temperaturdan asılı olaraq avtomatik miqyaslama müddətini də əlavə etməyi planlaşdırırıq.

Tövsiyə: