Mundarija:

IronForge NetBSD tushdi mashinasi: 9 qadam (rasmlar bilan)
IronForge NetBSD tushdi mashinasi: 9 qadam (rasmlar bilan)

Video: IronForge NetBSD tushdi mashinasi: 9 qadam (rasmlar bilan)

Video: IronForge NetBSD tushdi mashinasi: 9 qadam (rasmlar bilan)
Video: WoW Classic rogue Iron forge gank 2024, Noyabr
Anonim
IronForge NetBSD tushdi mashinasi
IronForge NetBSD tushdi mashinasi
IronForge NetBSD tushdi mashinasi
IronForge NetBSD tushdi mashinasi
IronForge NetBSD tushdi mashinasi
IronForge NetBSD tushdi mashinasi

Bu loyiha tushdi mashinasi sifatida boshlanmadi, oxir -oqibat u bitta bo'ldi.

Mening fikrimcha, mening pishirish retseptlarimni ko'rsatish uchun ishlatilgan mening oshxona kompyuterim (eski Windows CE PDA) vafot etdi. Birinchidan, men muzlatgichga magnitlar bilan o'rnatiladigan va batareyadan uzoq vaqt ishlay oladigan, elektron siyohga asoslangan, past energiyali displey yaratishni o'ylardim, lekin keyin men musiqani tinglash uchun oshxonaga 2.1 ta eski tizimni oldim. Xo'sh, men bu kompyuterni ham qila oladigan bo'lishi kerak deb o'yladim va keyin yana bir eski loyiha xayolimga keldi:

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

Original NetBSD tushdi mashinasi. Bu loyiha o'z -o'zidan jirkanch hazil, bilmaganlar uchun:

"Uzoq vaqtdan buyon UNIX-ga o'xshash NetBSD OS har qanday turdagi mashinalarda ko'chirilishi mumkin, ehtimol sizning oshxonangizdagi mashinadan tashqari."

Shunday qilib, keling, NetBSD ishlaydigan tosterni yarataylik va:

  • Harorat va pishirish vaqti foydalanuvchi tomonidan to'liq sozlanishi
  • Tost yoqilmagan bo'lsa -da, u 2 ta ob -havo stantsiyasining ob -havo ma'lumotlarini zamonaviy asboblar panelida aks ettiradi
  • Qovurilgan vaqtda u qolgan vaqt va haroratni grafikda ham, raqamlarda ham ko'rsatadi
  • Qovurilmaganda, uni budilnik va musiqa tinglash, hatto film o'ynashda ham ishlatish mumkin
  • Ovqat pishirish retseptlarini ko'rsatadi yoki muntazam ko'rib chiqish uchun ishlatilishi mumkin

1 -qadam: Tosterning ishlashi va uskunani tanlash

Tosterning ishlashi va uskunani tanlash
Tosterning ishlashi va uskunani tanlash
Tosterning ishlashi va uskunani tanlash
Tosterning ishlashi va uskunani tanlash
Tosterning ishlashi va uskunani tanlash
Tosterning ishlashi va uskunani tanlash
Tosterning ishlashi va uskunani tanlash
Tosterning ishlashi va uskunani tanlash

Bu erda, avvalgi qahvaxonadan farqli o'laroq, men tushdi mashinasi uchun ajoyib tanlov qilganimga ishonmayman, shuning uchun men tosterning ichki ishi, mezonlari va tajribasini mustaqil tanlash haqida qisqacha ma'lumot beraman va o'quvchiga o'z tost mashinasini tanlashiga ruxsat beraman. bu hack uchun.

Tosterga qo'yiladigan asosiy mezonlardan biri, bir vaqtning o'zida 4 bo'lak non tayyorlash va avtomatik bo'lish edi, shuning uchun bir necha soatlik nemis Ebay -ni skimlashdan so'ng, men nonushta yonida qaror qildim.

Severin AT 2509 (1400W) toster

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

Bu Germaniyada keng tarqalgan brend bo'lib, uni yangi sifatida yozish vaqtida 40-50 evro atrofida turadi.

Ishlab chiqaruvchi reklama qiladigan asosiy xususiyatlar:

● Issiqlik izolyatsiyali zanglamaydigan po'latdan yasalgan korpus

● birlashtirilgan rulonli qovurish moslamasi

● 4 ta bo'lak non uchun 2 ta uzun bo'lakli qovurish vallari

● Harorat sensori bilan qovurish vaqti elektronikasi

● sozlanishi sarg'ishlik darajasi

● Ko'rsatkich nuri bilan eritish darajasi

● nazorat nuri bilan qo'shimcha kuyishsiz isitish bosqichi

● indikator nuri bo'lgan alohida ajratish tugmasi

● Non kesish mashinasi, nonning ikkala tomonini bir tekis qizartirish uchun

● non disklari tiqilib qolganda avtomatik o'chirish

● maydalangan tovoqlar

● Kabelni orqaga qaytarish

Ishlab chiqaruvchi haroratni sozlash mumkin deb da'vo qilmagan bo'lsa -da, ular ikkita noto'g'ri fikrni bildiradilar:

● nazorat chirog'i bilan qo'shimcha kuyishsiz isitish bosqichi

● Harorat sensori bilan qovurish vaqti elektronikasi

Ushbu da'volarni keltirish uchun mashinaning qanday ishlashini ko'rib chiqaylik:

1, oddiy holatda 230V elektr tarmog'i to'liq uzilgan, tosterning hech bir qismi quvvatlanmagan.

2, foydalanuvchi qo'lni pastga tushirganda (u ham nonlarni tortadi), u isitish elementini ikki tomondan bog'laydi.

Endi ular bu erda qilganlari arzon, ammo aqlli dizayndir. Toster ichida hech qanday transformator yo'q, shuning uchun u past (10V AC ~) kuchlanishni qanday oladi deb o'ylashingiz mumkin. Tosterning chap tomonidagi isitish elementlaridan biri bilan birlashtirilgan alohida lasan bor, u 10V o'zgaruvchan tokni pasaytiruvchi transformator kabi ishlaydi.

Keyin u bitta diodli to'g'rilagichdan foydalanib, tushirish mashinasining asosiy boshqaruv panelini quvvatlaydigan 10V DC hosil qiladi.

3, Men birinchi marta o'ylaganim - bu solenoid + transformator birgalikda - hozirda boshqaruv pallasida ishlaydigan va faqat bitta narsa uchun javobgar bo'lgan tutqich ostida bitta solenoid bo'lib chiqdi (bu qo'lni pastga tushirish uchun).

Bu solenoid nonni qo'yib yuborishi bilan, tushdi mashinasi asosan o'z elektr energiyasini o'chirib qo'yadi va shu bilan tushirish jarayonini tugatadi.

Ma'lumotlar varag'idagi muzdan tushirish, oldindan qizdirish, isinish va boshqa har qanday tugmachalar va da'volar nima ekanligini haqli ravishda so'rashingiz mumkin … men aytaman, bu aniq marketing BS. Ular vaqt sozlagichini va bitta bitta tugmani qo'yishi mumkin edi, chunki kun oxirida bu sxema taymerdan boshqa narsa emas. Chunki bu sxema isitish elementi bilan bir xil quvvat manbaidan oziqlanadi va u bu mashinada (isitgichda) muhim bo'lgan narsani boshqarolmaydi, shuning uchun men bu sxemani modifikatsiyalashni ham bezovta qilmadim, uni tegishli joyiga tashladim. axlat qutisi.

Endi harbiy darajadagi boshqaruv sxemasi ishlamayapti, keling, tushdi mashinasi ustidan to'liq nazoratni olaylik.

2 -qadam: Uskuna ro'yxati

Uskunalar ro'yxati
Uskunalar ro'yxati
Uskunalar ro'yxati
Uskunalar ro'yxati
Uskunalar ro'yxati
Uskunalar ro'yxati

Bu yana to'liq emas, simlar va vintlardek barcha asoslarni o'z ichiga olmaydi:

  • 1x AT 2509 (1400W) toster yoki siz tanlagan boshqa toster
  • 1 x Arduino Pro Micro
  • Raspberry Pi XPT2046 BE uchun 1x 5 dyuymli chidamli sensorli ekranli LCD displey
  • 1x Raspberry PI 2 yoki Raspberry PI 3
  • 1x SanDisk 16GB 32GB 64GB Ultra Micro SD SDHC karta 80MB/s UHS-I Class10 w adapter (PI uchun)
  • 2x SIP-1A05 qamish kalitli o'rni
  • Arduino uchun 1x 1PCS MAX6675 moduli + K tipidagi termojuftli harorat sensori (ehtiyot qismlarni sotib olish tavsiya etiladi)
  • 1x Chiqish 24V-380V 25A SSR-25 DA Solid State Relay PID Temperatur Controller
  • 1x Mini DC-DC Buck Converter Step Down Module Aeromodelling uchun quvvat manbai (almashtirish uchun ulardan ko'pini sotib oling).
  • Arduino uchun 2x Rotary Enkoder Moduli G'isht sensori ishlab chiqarish paneli (Rotary + Middle Switch, almashtirish uchun ulardan ko'pini sotib olish tavsiya etiladi)
  • 2x WS2812B 5050 RGB LED halqa 24Bit RGB LED
  • 1x 1 mm A5 shaffof Perspex akril plastmassa plastmassa pleksiglas kesim 148x210 mm
  • 1x12V 2A shahar adapteri (1A Pi+Screen+Ardu uchun ham etarli bo'lishi kerak, lekin qo'shimcha qurilmalarni USB orqali ulasangiz, ular qo'shimcha tokni to'kib yuboradi)
  • 1x PCS HC-SR501 IQ piroelektrik infraqizil IR PIR harakat sensori detektori moduli
  • Arduino uchun 20 sm uzunlikdagi 5 dyuymli 5 dyuymli ayol dupontli ayol kabeli (aylanadiganlar uchun, ulardan ko'pini sotib olish kerak)
  • 2x alyuminiy qotishma ovoz balandligi tugmasi 38x22mm 6 mm potansiyometrli mil uchun kumush
  • 1x 230V o'rni
  • Aloqa uchun bitta qatorli ayol 2,54 mm + erkak sindiriladigan sarlavhali ulagichlar to'plami
  • Xbee mod uchun ixtiyoriy: 1X10P 10pin 2mm ayol bitta qatorli tekis pinli sarlavhali chiziq XBee rozetkasi
  • Xbee rejimi uchun ixtiyoriy: 1 Xbee
  • Xbee modi uchun ixtiyoriy: 1x jumper simli 4 pinli dişi va dupontli kabeli 20 sm Arduino uchun (Xbee Raspi o'rtasida)

Elektr ta'minoti uchun siz 5V o'rniga 12Vni ishlatishingiz kerak, chunki elektromagnit past kuchlanish darajasida ushlab turmaydi, solenoidga flyback diodini qo'shishni unutmang.

Agar siz boshqa komponentlardan foydalanishga qaror qilsangiz, masalan: 12V-> 5V dan kuchlanishni pasaytirish uchun har xil modulli taxtani qayta loyihalashingiz kerak.

3 -qadam: Ishni o'zgartirish: Orqa - old tomon

Ishni o'zgartirish: Orqa - old tomon
Ishni o'zgartirish: Orqa - old tomon
Ishni o'zgartirish: Orqa - old tomon
Ishni o'zgartirish: Orqa - old tomon
Ishni o'zgartirish: Orqa - old tomon
Ishni o'zgartirish: Orqa - old tomon

Asosiy boshqaruv sxemasini olib tashlaganingizdan so'ng, hali ham kalitlarning joyiga qaragan katta teshik bor edi, shuning uchun men bu tomonni orqa sifatida ishlatishga qaror qildim va SSR korpusining birlashma qutisini o'rnatdim (Solid State Relay -> uchun) isitishni boshqarish) + 230V o'zgaruvchan o'rni (quvvatni aniqlash uchun) + butun kontaktlarning zanglashiga olib keladigan 12V adapter.

Toster modelini demontaj qilish va qayta yig'ish qiyin kechdi. Men korpusni olib tashlashning boshqa yo'lini topa olmadim, lekin dastagini burab ochganimdan keyin qopqog'ini ko'tarish uchun asosiy tortish dastagining ostiga burab qo'ydim (xayriyatki bu qismda tashqi plastik qoplama bor) bu sezilmaydigan bo'ladi).

Men tushirish mashinasining pastki qismidagi MAX6675 termojuftining detektor uchini asosiy tutqichning qarama -qarshi chetiga joylashtirdim (u erda qo'l mexanizmiga zid keladi).

Ichki korpus ingichka alyuminiydir, uni burg'ilashning hojati yo'q, kichik tuynukni tornavida yordamida osonlikcha kengaytirish mumkin, keyin sensorni joylashtiring, uning qiyin tomoni uni ichki tomondan teskari burish edi. Buning uchun men rasmlarda ko'rsatilgan aqlli echim bilan chiqishim kerak.

Isitgich elementi bo'lgan ichki tosterning asosiy korpusini ajratish faqat asablari kuchli bo'lganlar uchun tavsiya etiladi. Siz baribir u erda qilishingiz kerak bo'lgan boshqa hech narsa yo'q.

MAX6675 simlari mashinaning pastki qismidan kabellar chiqib ketgan teshikka osongina uzatilishi uchun etarlicha uzun edi.

Barcha kerakli kabellarni biridan ikkinchisiga olib kelish modirovka qilishning eng qiyin vazifalaridan biri edi. Men (hozir orqa) tomondan boshqa teshik ochishim shart emas edi, chunki kabellar faqat kalitlarning teshiklaridan foydalanishi mumkin edi. Keyin kabellarni korpusning devoriga mahkamlash kerak, juda tor joy orqali pastga tushirish kerak, u erda ular yuqori voltli boshqaruv panelidan bir nechta qo'shimcha simlar bilan birlashtiriladi, ya'ni:

  • Isitish elementidan 1 ta sim -> SSR ga o'tadi
  • 230V dan 1 ta sim (yaxshisi issiq jigarrang nuqta) -> SSR ga o'tadi
  • 230V dan 2 ta sim yopiq holatda -> O'rnimizni ishga tushadi
  • 230V kuchlanishli ikkita sim -> 12V adapterning orqa tomoniga o'tadi
  • Termo-sensordan himoyalangan simlar

Va bu tushdi mashinasini boshqarish uchun kerak bo'lgan hamma narsa.

Sanoat lehimi tufayli men isitish elementi bilan magistralning bir uchi orasidagi simni kesib o'tishga qaror qildim (kalitdan keyin keladi) va uni SSRga ulangan terminal chiziqlar bilan.

230V (tarmoq voltaji) dan ishlaydigan o'rni kerak bo'ladi. Bu boshlang'ich rölesi, bu Arduino -ga foydalanuvchining qo'lni tushirish jarayonini boshlaganini bildiradi. Shuni unutmangki, boshqaruv sxemasi endi ishlamayapti, solenoid qo'lni ushlab turadigan quvvatga ega emas va isitgich ham uzilgan (SSR orqali boshqariladi). Bularning barchasi bundan buyon Arduinoning vazifasi bo'ladi.

12V shahar adapteri to'g'ridan -to'g'ri elektr tarmog'iga ulanadi (men orqa tomondan qo'shimcha ON/OFF tugmachasini qo'shdim). Bu davr uchun doimiy quvvat beradi. Kutish rejimida tushdi mashinasi faqat iste'mol qiladi: ekran yoqilgan 5,5 Vt va o'chirilgan holatda 5,4 Vt.

4 -qadam: Old tsiklik taxta

Old tsiklik taxta
Old tsiklik taxta
Old tsiklik taxta
Old tsiklik taxta
Old tsiklik taxta
Old tsiklik taxta

Men bu material bilan ishlashda mutaxassisi emasman, men uning ustidagi teshiklarni oqimli suv ostida yuqori aylanish tezligi bilan kesish bo'yicha maslahat oldim, lekin men uni haddan tashqari mukammal qilishni xohlamadim. Raspi va ekran orasidagi qismni tozalashdan butunlay voz keching, buning o'rniga men teshiklarni faqat ekran oralig'ida va Raspi ulagichida burg'uladim, keyin qolgan moddani ulagich mos kelishi uchun kvadratga qo'ydim. orqali.

Ko'rib turganingizdek, pleksi taxtada ba'zi burg'ulashlar atrofida mayda yoriqlar bor, shuning uchun siz mukammal dizaynni maqsad qilgan bo'lsangiz, nimadan qochish kerakligini bilasiz.

Shunday bo'lsa -da, issiqlik tufayli, tost qutisiga hech narsa qo'yishning iloji yo'q, hamma elektron qurilmalar isitgichdan xavfsiz masofada o'rnatilishi kerak.

Men 148x210 mm pleksiglas varaq uchun to'g'ri dizayn chizmalarini qilmaganman, hamma narsani nosimmetrik va chiziqli qilib sozlashga harakat qilganman, shuning uchun uzr so'rayman, bu qism uchun hech qanday sxema bera olmayman, buni o'zingiz qilishingiz kerak. Ammo menda 1 ta maslahat bor:

LED halqalarini yopishtirishdan oldin, ularni Arduino -da yoqing va yondiring va qalam bilan BIRINCHI va OXIRI sonini ruchka bilan belgilang, shunda siz ularni men kabi biroz burab qo'yolmaysiz (lekin bu dasturiy ta'minot orqali tuzatilishi mumkin).)

Butun old panelni joyida ushlab turish uchun mo'ljallangan 6 ta ajratgich mavjud, lekin oxirida, aylananing qisqa uzunligi, pastki 2 qismi paneldan o'tmaydi.

Men aylanuvchi va pleksi panellar orasidagi oddiy kompyuter anakart ajratgichlaridan foydalandim, shuningdek, tugmalar bosilganda qo'shimcha barqarorlikni ta'minlash uchun aylantiruvchi orqasiga 2-2 qo'shimcha qo'shildi.

5 -qadam: Tosterni boshqarish davri

Tosterni boshqarish davri
Tosterni boshqarish davri
Tosterni boshqarish davri
Tosterni boshqarish davri
Tosterni boshqarish davri
Tosterni boshqarish davri

Bu barcha Arduino pinlarini maksimal darajada oshirgan loyihalardan biri edi:) RX va TX kelajakda aloqa modulini kengaytirish uchun ajratilgan.

Asosiy elektron karta konvertor orqali hamma narsani quvvat bilan ta'minlaydi (Arduino, Raspi, Screen, SSR, Relays). Bu erda shuni ta'kidlashni istardimki, bu voltaj regulyatori zamonaviy emas, u 12V doimiy kuchlanishdan oshib keta olmaydi. Agar siz aynan bir xil turni ishlatishga qaror qilsangiz, adapteringiz 12 V kuchlanishli barqaror voltaj bilan ta'minlanganligiga ishonch hosil qiling (WRT54G adapteriga o'xshamaydi, siz sehrli tutunni bir necha soniya ichida chiqib ketishini ko'rasiz).

Men taxtani iloji boricha rozetkalardan foydalanib modulli qildim. 2 qamish o'rni orqasida qolgan hamma narsani osongina almashtirish mumkin.

Ikkala ajoyib qamish o'rni ham diodli diodlar bilan jihozlangan va 7 mA dan oshmaydi, shuning uchun ularni har qanday Arduino pinlariga to'g'ridan -to'g'ri ulash mumkin (men buni kelajakdagi loyihalarimda ham tavsiya qilaman). O'rnimizni vazifasi:

Ulardan biri tushirish jarayonining boshida solenoidni yoqish uchun (ushlagichni pastga tushirish uchun).

Harakat aniqlanganda ekranni avtomatik ravishda yoqish va o'chirish uchun mo'ljallangan.

Men 7/24 HDMI displeyini ishlatish uzoq umr ko'rishni ta'minlamasligini tushundim (ayniqsa, men ishlatadigan narsa - bu arzon qalbaki, asl WaveShare emas:

Xonaga kirganingizda kompyuteringiz ekranni yoqishi mumkinmi? Menimcha, BSD tushdi mashinasi mumkin!

Asosan, ekran 10 daqiqalik ushlab turish taymerida, u har safar qaytganda avtomatik ravishda urilib ketadi. Aytaylik, u yoqildi va 9 daqiqadan so'ng yana harakat bor, demak u yana 10 daqiqa davom etadi. Yoqish va o'chirish SSRdan tashqari har qanday davr uchun sog'lom emas.

Bu bizni isitgichni boshqarish uchun uchinchi va oxirgi boshqaruv elementiga olib keladi. Bu kichik qurilmalar haroratni nazorat ostida ushlab turish uchun ko'p yoqish va o'chirish uchun maxsus ishlab chiqarilgan. Men tanlagan narsa to'g'ridan -to'g'ri Arduino chiqish pinidan ishlaydi.

Asl dizaynda, Raspberry pi ertalab signal ohangini chalishdan oldin 2.1 karnayni yoqish uchun yana bir o'rni bo'lishi kerak edi (shuningdek, tushirish paytida qo'shiq qo'shish juda oson), lekin bu IoT nima uchun bezovta qilyapsizmi? Bu mening tarmog'imdagi boshqa raspidan men uchun 433 MGts standartli RCSwitch bilan buni qilishini so'raydi.

Odatda, taxtaning 0,4 versiyasida kichikroq xatolar bor edi, buni rasmlarda ko'rish mumkin. Aniqrog'i, yana 2 ta 5V konnektori va Arduino pin 10 -dagi kirish o'rni konnektori qoldirildi.

Men ularni 0.5 versiyada tuzatdim va Xbee bo'lmagan versiyasini ham tuzdim.

Bu 2 qatlamli taxta, chunki bu sxemalarni yuklab olish juda qiyin bo'ladi, siz 2 tomonni aniq chop etishingiz, taxtani qirib tashlashingiz va tomonlarni ulash usulini topishingiz kerak bo'ladi, shuning uchun men keyinchalik Easyeda umumiy loyihasida bog'lanaman.. Buni to'g'ridan -to'g'ri ulardan buyurtma qilish tavsiya etiladi.

6 -qadam: Xbee mod

Xbee bu erda faqat qahva qaynatgichni to'g'ridan -to'g'ri boshqarish uchun, chunki u uzoqdan unga nisbatan yaqin va ular o'rtasida hech qanday to'siq yo'q.

Bu tushdi mashinasi yoki tushdi kod bilan hech qanday aloqasi yo'q.

Xbee mod haqida: bu mutlaqo ixtiyoriy, shuning uchun men ushbu taxtaning sxemalarini Xbee bilan va bo'lmasdan o'z ichiga olaman. Xbee to'g'ridan -to'g'ri Raspberry PI -ning RX/TX uskunasi UART portiga (ttyAMA0) lehimlanadi, lekin u ekran ulagichlariga chiqariladi, lekin ekran uni ishlatmaydi (PI va o'zi o'rtasidagi sensorli koordinatalarni bog'lash uchun SPI interfeysidan foydalanadi)..

Xabarlarni Raspberry -> Arduino -> 5v3v konvertori -> Xbee -> boshqa qurilmalar orqali uzatish o'rniga, men PI -dagi alohida ketma -ket portni Xbee aloqasi uchun ajratdim. Shunday qilib, tushirish jarayoni butun MCUni to'sib qo'yishi ham muammo emas.

7 -qadam: Tosterni boshqarish kodi

Kod juda oddiy, chunki Arduio -> Raspberry PI o'rtasida asosan bir tomonlama aloqa mavjud.

Qahva qaynatgichdan farqli o'laroq, bu qurilmani telefon yoki kompyuterdan qo'lda boshqarish mumkin emas.

Bu erda PIning yagona vazifasi - bu ma'lumotlarni ro'yxatga olish va chiroyli grafiklarni ko'rsatish. Tosterning ishlashi uchun u flakon emas, uni butunlay o'chirib qo'yish yoki hatto bu loyihadan olib tashlash mumkin, Arduino hamma ishni bajaradi.

Dastlab, kod halqalarni qaytaradi, har xil ushlab turish taymerlarini ishga tushiradi va har bir pastadirda 2 ta aylanadigan kalitning kirishini ko'rib chiqadi. Bu kirish soat yo'nalishi bo'yicha yoki soat miliga teskari yo'nalishda aylanishni yoki ikkita kalitni bosishni anglatishi mumkin (bu bo'sh rejimda kompyuterga IRONFORGE_OFF_ALARM asosiy buyrug'ini yuboradi va keyin normal IRONFORGE_OFF holatiga qaytariladi).

Rotary_read_temp () va rotary_read_time () ichida global_temp va global_time o'zgaruvchilari o'zgartiriladi. Bu koddagi Yagona joy, bu qiymatlarni o'zgartirish mumkin va ular o'z qadriyatlarini tost hodisalari o'rtasida saqlaydi.

Ikkala funktsiya ichida ham pozitsiyalar o'zgarishi aniqlangan rotary_memory () chaqiriladi. Bu halqalarga olib kelingan holatlarni yuklash maqsadida qilingan, chunki tushirish jarayonidan so'ng ular qora rangga qaytariladi, kuchini yo'qotmaydi va umrini uzaytirmaydi.

LED yoritgichlari, shuningdek, yaqinda aylanish hodisasi bo'lmagan taqdirda, vaqti -vaqti bilan har 10 daqiqada o'chiriladi.

Ushbu 2 funktsiyani birlashtirish natijasida quyidagilar paydo bo'ladi:

1, ishlamay turgan holat

2, har qanday rotatorlar harakatlanadi (agar ular oldin sozlangan bo'lsa, bu qiymatlar xotiradan tiklanadi va LEDlarda ko'rsatiladi)

3, agar tushirish jarayoni boshlanmasa va boshqa sozlash hodisalari bo'lmasa, chiroqlar yana o'chadi

Men ularni ekrandan alohida ushlab turish taymeriga o'tkazdim, chunki kompyuter ob -havo ma'lumotlarini ko'rsatish uchun juda ko'p ishlatiladi, lekin men aylanadigan LEDlarning doimiy ravishda tiklanishini xohlamayman, chunki men million tost qilishni xohlamayman. kun.

Asosiy tushirish jarayoni (Arduino Side):

Bu tizimni ishga tushirish (230V) rölesinden ishga tushirilganda boshlanadi (va vaqt ham, harorat ham noldan farq qiladi). Arduino tomonida dastur oqimi quyidagicha:

1, qo'lni ushlab turish uchun solenoidni yoqing

2, isitish uchun SSRni yoqing

3, vaqtga qarab, pastga tushadigan pastadir boshlanadi. Har bir ko'chadan kompyuterga quyidagi ma'lumotlarni yuboring:

-TEMPERATURE (dastlab suzuvchi nuqta qiymati, lekin 2 CSV qatori sifatida yuborilgan)

-TIME qoladi (bir necha soniyalarda, u boshqa tomondan mm: ss formatiga qaytariladi)

4, Har bir pastadirda, belgilangan haroratga qarab, tushirish jarayonini boshqarish uchun SSRni yoqing yoki o'chiring

5, qovurish tugagandan so'ng, IRONFORGE_OFF buyrug'i kompyuterga yuboriladi

6, SSRni o'chiring va solenoidni bo'shating

7, namoyish qilish uchun LED o'yinini o'ynang (bu erda siz musiqa ijro etish yoki xohlagan boshqa harakatlarni qo'shishingiz mumkin)

8, LEDlarni o'chirish

Yuqorida aytganimdek, tushirishning asosiy qismi MCUni to'liq blokirovka qiladi, bu vaqt ichida boshqa vazifalarni bajarish mumkin emas. Shuningdek, bu davrda aylanadigan kirishlar e'tiborga olinmaydi.

Asosiy tushirish jarayoni (Raspberry PI Side):

Malinali pi, ish stolidagi barcha o'zaro ta'sirlar uchun javobgar bo'lgan, imtiyozli bo'lmagan foydalanuvchi bilan C bosh dasturini boshqaradi.

Men Conky -ni barcha grafik displeylar uchun ishlatishga qaror qildim, chunki men uni o'n yildan buyon ishlataman va bu ish uchun ishlatish eng oson bo'lib tuyuldi, lekin ba'zi narsalar bor:

-Grafa granulyatsiyasini o'zgartirish mumkin emas, grafigi juda nozik, hatto maksimal qizdirish vaqtidan keyin ham (5 daqiqa) barning yarmigacha yetadi.

-Konki qulashni yaxshi ko'radi, ayniqsa uni o'ldirishda va qayta yuklashda

Ikkinchi sababga ko'ra, men qo'riqchilarni alohida nazorat jarayonlari orqali qo'riqlash uchun tuxum qo'yishga qaror qildim.

Bo'sh turgan lua ikkita alohida konkidan foydalanadi (1 -chi ob -havo ma'lumoti uchun, ikkinchisi soat uchun).

Qovurish boshlanganidan keyin:

1, Arduino malina pi C dasturiga IRONFORGE_ON bilan ketma -ket signal beradi

2, nazorat C dasturi tushirish uchun 3 -chi konki luadagi 2 konik ip va yukni to'xtatadi

3, C boshqaruvi dasturi ramdiskda joylashgan alohida matnli fayllarga harorat va vaqt qiymatlarini yozadi (SD kartada keraksiz RW operatsiyalarini bajarmaslik kerak), konkilar o'qiyotgan va avtomatik ko'rsatadigan. Dastur MM: SS formatida qolgan vaqtni yaratish uchun javobgardir.

4, tushirish oxirida C dasturi hozirgi qizdirish ipini to'xtatadi va ob -havoga qaytadigan 2 ta konkini qayta ishga tushiradi va vaqtni ko'rsatadi.

5, signalni aniqlash uchun C dasturi, bo'sh turgan holatda, aylantirgichlardan birortasi bosilganda, musiqani crondan ijro etish jarayonini to'g'ridan -to'g'ri to'xtatishi mumkin.

8 -qadam: Sizning barcha tostlaringiz bizga tegishli: NetBSD va Raspbian

Sizning barcha tostlaringiz bizga tegishli: NetBSD va Raspbian
Sizning barcha tostlaringiz bizga tegishli: NetBSD va Raspbian

Garchi tushdi mashinasi asosan NetBSD va ekran, tovush, Arduino bilan ishlash uchun qilingan bo'lsa -da, ularda sensorli ekran qo'llab -quvvatlanmaydi. Buning uchun haydovchini yozmoqchi bo'lganlarning yordamidan minnatdorman.

LCD displeyining sensorli chipi XPT2046. Kursorni kiritish koordinatalarini Raspberry -ga qaytarish uchun ekran SPI -dan foydalanadi.

www.raspberrypi.org/documentation/hardware…

  • Sensorli panelning TP_SI SPI ma'lumotlarini kiritish
  • Sensorli panelning TP_SO SPI ma'lumotlar chiqishi
  • 22 TP_IRQ Sensorli panel past, sensorli panel esa teginishni aniqlaydi
  • Sensorli panelning 23 TP_SCK SPI soati
  • 26 TP_CS sensorli panelli chip tanlash, faolligi past

Yozish paytida men sensorli panel uchun NetBSD drayveri bo'lgan Raspberry PI mos keladigan (qalqon) sensorli ekranni bilmayman.

9 -qadam: yopilish va bajariladigan ishlar ro'yxati

Yopish va bajariladigan ishlar ro'yxati
Yopish va bajariladigan ishlar ro'yxati

Har doimgidek, har qanday yordam, hissa qo'shish, kodni tuzatish mumkin.

Bu yaqinda tugallangan xakerlik edi, shuning uchun men loyihani keyinchalik yo'qolgan kod qismlari bilan yangilayman (Raspberry pi C boshqaruv kodi, Conky luas va boshqalar). Bundan tashqari, men hamma narsani o'z ichiga oladigan, sig'imi 8/16 gigabaytli avtomatik o'lchamlarini o'zgartirishni rejalashtirmoqdaman. Raspberry PI standart uskuna bo'lganligi sababli, loyihani qurishga qaror qilgan har bir kishi rasmlarni yuklab olishi mumkin, ularni sdcardga yozib yuborishi mumkin va tost meniki kabi yuklanganidan keyin ishlaydi. Tarmoqni sozlash faqat to'g'ri vaqt (NTP) va harorat ko'rsatkichi uchun kerak.

Qolgan bir qadam - FLIR yordamida ichidagi haroratni o'lchash va MAX termosensorining o'qilishiga o'zgartirishlar kiritish, chunki menimcha, u 5 minutgacha bo'lgan qizdirish vaqti juda sekin qiziydi.

Bundan tashqari, agar harorat pasaytirilsa, maksimal 5 daqiqalik vaqt oynasini uzaytirishi uchun, belgilangan haroratga qarab, avtomatik o'lchov vaqtini qo'shishni rejalashtirgan.

Tavsiya: