Spisu treści:

IronForge toster NetBSD: 9 kroków (ze zdjęciami)
IronForge toster NetBSD: 9 kroków (ze zdjęciami)

Wideo: IronForge toster NetBSD: 9 kroków (ze zdjęciami)

Wideo: IronForge toster NetBSD: 9 kroków (ze zdjęciami)
Wideo: WoW Classic rogue Iron forge gank 2024, Listopad
Anonim
IronForge toster NetBSD
IronForge toster NetBSD
IronForge toster NetBSD
IronForge toster NetBSD
IronForge toster NetBSD
IronForge toster NetBSD

Ten projekt nie zaczął się jako toster, w końcu się nim stał.

Pomysł pojawił się, gdy zmarł mój komputer kuchenny (stary PDA z systemem Windows CE), który służył do wyświetlania moich przepisów kulinarnych. Najpierw myślałem o stworzeniu niskoenergetycznego wyświetlacza opartego na e-ink, który byłby przymocowany do mojej lodówki za pomocą magnesów i przez bardzo długi czas działałby z baterii, ale potem dostałem do kuchni stary system surround 2.1, aby słuchać muzyki, ponieważ no więc pomyślałem, że może powinien to być komputer, który mógłby zrobić jedno i drugie, a potem przyszedł mi do głowy kolejny stary projekt:

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

Oryginalny toster NetBSD. Ten projekt sam w sobie jest żartem maniaków, dla tych, którzy nie wiedzą:

„Od dawna uważa się, że system operacyjny NetBSD podobny do systemu UNIX można przenosić na każdy rodzaj maszyny, z wyjątkiem być może tostera kuchennego”.

Więc stwórzmy toster z uruchomionym NetBSD i:

  • Temperatura i czas opiekania są całkowicie regulowane przez użytkownika;
  • Chociaż nie tostuje, wyświetla dane pogodowe z 2 stacji pogodowych na stylowej desce rozdzielczej
  • Podczas opiekania wyświetla pozostały czas i temperaturę zarówno na wykresie, jak i cyfrach
  • Gdy się nie piecze, może być również używany jako budzik i słuchanie muzyki, a nawet odtwarzanie filmów
  • Wyświetla przepisy kulinarne lub może być używany do regularnego przeglądania

Krok 1: Obsługa tostera i wybór sprzętu

Obsługa tostera i wybór sprzętu
Obsługa tostera i wybór sprzętu
Obsługa tostera i wybór sprzętu
Obsługa tostera i wybór sprzętu
Obsługa tostera i wybór sprzętu
Obsługa tostera i wybór sprzętu
Obsługa tostera i wybór sprzętu
Obsługa tostera i wybór sprzętu

Tutaj, w przeciwieństwie do mojego poprzedniego hacka z kawą, nie sądzę, że dokonałem świetnego wyboru tostera, więc przedstawię krótkie wprowadzenie do wnętrza tostera, samodzielnego doboru kryteriów i doświadczenia oraz pozwolę czytelnikowi wybrać własny toster za ten hack.

Jednym z moich głównych kryteriów dotyczących tostera była zdolność do robienia 4 kromek chleba jednocześnie i bycia automatycznym, więc po kilku godzinach przeglądania niemieckiego Ebay zdecydowałem się obok

Toster Severin AT 2509 (1400W)

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

Jest to szeroko rozpowszechniona marka w Niemczech, kosztowała około 40-50 EUR w momencie pisania jako zupełnie nowa.

Najważniejsze cechy reklamowane przez producenta:

● Izolowana termicznie obudowa ze stali nierdzewnej

● zintegrowana przystawka do pieczenia bułek

● 2 długie wałki do pieczenia do 4 kromek chleba

● Elektronika czasu pieczenia z czujnikiem temperatury

● regulowany stopień opalania

● Poziom odszraniania z kontrolką

● Etap rozgrzewki bez dodatkowego opalania z lampką kontrolną

● oddzielny przycisk zwalniający z kontrolką

● Wyśrodkowanie krajalnicy w celu równomiernego przyrumienienia obu stron bochenka

● automatyczne wyłączanie w przypadku zacięcia krążka chleba

● Tacka na okruchy

● Zwijanie kabla

Chociaż producent nie twierdził, że temperaturę można regulować, wprowadzają 2 mylące uwagi:

● Etap rozgrzewki bez dodatkowego opalania z lampką kontrolną

● Elektronika czasu pieczenia z czujnikiem temperatury

Aby przytoczyć te twierdzenia, zobaczmy, jak działa maszyna:

1, W normalnym stanie sieć 230 V jest całkowicie odłączona, żadna część tostera nie jest zasilana.

2, gdy użytkownik pociąga w dół dźwignię (która również ciągnie w dół pieczywo), łączy element grzejny po obu stronach.

Teraz to, co tutaj zrobili, to tani, ale także sprytny projekt. Wewnątrz tostera nie ma transformatora, więc możesz się zastanawiać, jak wtedy uzyskuje niskie napięcie (10 V AC ~). Po lewej stronie tostera znajduje się oddzielna cewka sprzężona z jednym z elementów grzejnych, działająca jak transformator obniżający napięcie 10V AC.

Następnie wykorzystuje prostownik jednodiodowy do wytworzenia napięcia stałego o napięciu 10 V, które zasila główną płytę sterującą tostera.

3, To, co na początku pomyślałem – że to elektrozawór + transformator razem – okazało się pojedynczym elektrozaworem tuż pod dźwignią, który teraz jest zasilany z obwodu sterującego i odpowiedzialny tylko za jedną rzecz (aby trzymać tę dźwignię wciśniętą).

Gdy tylko ten solenoid wypuści chleb, który jest po wszystkim, toster w zasadzie odcina własny prąd, tym samym kończąc proces opiekania.

Możesz więc słusznie zapytać, jakie są te fantazyjne przyciski i twierdzenia w arkuszu danych, że może rozmrażać, podgrzewać, rozgrzewać i cokolwiek… Powiedziałbym, że to czysto marketingowy BS. Mogliby umieścić na nim regulator czasu i 1 pojedynczy przycisk, ponieważ pod koniec dnia ten obwód to nic innego jak zegar. Skoro ten obwód jest zasilany z tego samego źródła zasilania co grzałka i nie może sterować jedyną rzeczą jaka w tej maszynie ma znaczenie (grzałką) dlatego nawet nie zawracałem sobie głowy dalszym modyfikowaniem tego obwodu, tylko wrzuciłem go tam gdzie należy, aby Śmietnik.

Teraz, gdy obwód kontrolny klasy wojskowej został usunięty, przejmijmy PEŁNĄ KONTROLĘ nad tosterem.

Krok 2: Lista sprzętu

Lista sprzętu
Lista sprzętu
Lista sprzętu
Lista sprzętu
Lista sprzętu
Lista sprzętu

To znowu nie jest pełny bom, nie obejmuje wszystkich podstaw, takich jak przewody i śruby:

  • 1x toster AT 2509 (1400 W) lub inny wybrany przez Ciebie toster
  • 1x Arduino Pro Micro
  • 1x 5-calowy rezystancyjny wyświetlacz LCD z ekranem dotykowym HDMI dla Raspberry Pi XPT2046 BE
  • 1x Malinowy PI 2 lub Malinowy PI 3
  • 1x Karta SanDisk 16 GB 32 GB 64 GB Ultra Micro SD SDHC 80 MB/s UHS-I Class10 z adapterem (dla PI)
  • 2x przekaźnik kontaktronowy SIP-1A05
  • 1x1 szt. Moduł MAX6675 + czujnik temperatury termopary typu K dla Arduino (zalecane do zakupu części zamiennych)
  • 1x Wyjście 24 V-380 V 25A SSR-25 DA Przekaźnik Półprzewodnikowy Regulator Temperatury PID
  • 1x Zasilacz modułu obniżającego napięcie przekształtnika DC-DC Mini DC-DC Do modelarstwa lotniczego (kup więcej w celu wymiany).
  • 2x płytka rozwojowa czujnika obrotowego modułu enkodera dla Arduino (przełącznik obrotowy + środkowy, zaleca się zakup większej liczby w celu wymiany)
  • 2x WS2812B 5050 RGB LED Pierścień 24Bit RGB LED
  • 1x1mm A5 przezroczysty arkusz akrylowy Pleksiglas Pleksi z tworzywa sztucznego Cięcie 148x210mm Lot
  • Zasilacz 1x12V 2A DC (1A też powinno wystarczyć dla Pi+Screen+Ardu, ale na pewno lepiej, jeśli podłączysz dodatkowe urządzenia przez USB, pobiorą dodatkowy prąd)
  • 1x PCS HC-SR501 IR piroelektryczny moduł detektora ruchu na podczerwień IR PIR
  • 2x przewód połączeniowy 5 pin żeński do żeńskiego kabla Dupont 20 cm dla Arduino (dla rotatorów warto kupić więcej z nich)
  • 2x pokrętło regulacji głośności ze stopu aluminium 38x22mm na wałek potencjometru 6mm srebrny
  • 1x przekaźnik 230V
  • Wiązka jednorzędowych żeńskich złączy 2,54 mm + męskich łamliwych złączy do połączeń
  • Opcjonalnie dla modu Xbee: 1X10P 10pin 2mm żeńskie jednorzędowe proste gniazdo listwowe XBee
  • Opcjonalnie dla modu Xbee: 1 Xbee
  • Opcjonalnie dla Xbee mod: 1x przewód połączeniowy 4-pinowy żeński na żeński kabel Dupont 20cm dla Arduino (między Xbee Raspi)

Do zasilania należy użyć 12V zamiast 5V, ponieważ elektrozawór nie utrzyma się na tak niskim poziomie napięcia, nie zapomnij dodać diody flyback na elektromagnesie.

Jeśli zdecydujesz się na użycie innych komponentów, np.: inny moduł buck do obniżania napięcia z 12V->5V, musisz przeprojektować płytkę, została ona wykonana dla tego jednego, konkretnego, małego, kwadratowego konwertera buck.

Krok 3: Modyfikacja obudowy: tył to przód

Modyfikacja obudowy: tył to przód
Modyfikacja obudowy: tył to przód
Modyfikacja obudowy: tył to przód
Modyfikacja obudowy: tył to przód
Modyfikacja obudowy: tył to przód
Modyfikacja obudowy: tył to przód

Po usunięciu głównego obwodu sterującego nadal był duży brzydki otwór patrzący na miejsce przełączników, więc zdecydowałem, że użyję tylko tej strony jako tyłu i naprawię skrzynkę przyłączeniową zawierającą SSR (przekaźnik półprzewodnikowy -> dla sterowanie ogrzewaniem) + przekaźnik 230V AC (do detekcji zasilania) + zasilacz 12V zasilający cały obwód.

Ten model tostera był dość trudny do demontażu i ponownego złożenia. Nie znalazłem innego sposobu na zdjęcie obudowy, tylko wcięcie dremmelem tuż pod główną dźwignią ściągającą, aby po odkręceniu i wyjęciu dźwigni można było podnieść obudowę (na szczęście ponieważ na tej części jest zewnętrzna powłoka z tworzywa sztucznego będzie to niezauważalne).

Umieściłem końcówkę czujki termopary MAX6675 w dolnej części tostera na przeciwległej krawędzi do głównej dźwigni (gdzie kolidowałoby to z mechanizmem dźwigni).

Wewnętrzna obudowa jest wykonana z dobrego aluminium, nie trzeba jej nawet wiercić, mały otwór można łatwo poszerzyć śrubokrętem, a następnie włożyć czujnik, trudną częścią było odkręcenie go od wewnętrznej strony. Muszę wymyślić na to sprytne rozwiązanie, pokazane na zdjęciach.

Rozbieranie głównej wewnętrznej obudowy tostera wraz z grzałką jest przeznaczone tylko dla osób o mocnych nerwach i zdecydowanie nie jest zalecane. I tak nie musisz tam nic więcej robić.

Przewody MAX6675 były wystarczająco długie, aby można je było łatwo przeprowadzić przez spód maszyny do otworu, w którym wyprowadzono kable.

Przeniesienie wszystkich niezbędnych kabli z jednego do drugiego było jednym z najtrudniejszych zadań modingowych. Nie musiałem wiercić kolejnego otworu z (teraz z tyłu) boku bo kable mogły po prostu wykorzystać otwór od przełączników. Następnie kable trzeba było przymocować do ściany obudowy, sprowadzić do dołu przez bardzo wąską przestrzeń, gdzie łączyły się z kilkoma dodatkowymi przewodami z tablicy sterowniczej wysokiego napięcia, a mianowicie:

  • 1 przewód od grzałki -> Idzie do SSR
  • 1 przewód z 230V (najlepiej gorący brązowy punkt) -> Idzie do SSR
  • 2 przewody z 230V ze stanem zamkniętym przełącznika -> Idzie do przekaźnika startowego
  • 2 przewody z sieci 230V -> Idzie do zasilacza 12V z tyłu
  • Przewody ekranowane od czujnika temperatury

I to wszystko, czego potrzebujesz, aby sterować tosterem.

Ze względu na lutowanie przemysłowe zdecydowałem się po prostu przeciąć przewód pomiędzy elementem grzejnym a jednym końcem głównego (za wyłącznikiem) i listwami zaciskowymi podłączyłem go do SSR.

Wymagany będzie przekaźnik działający z 230V (napięcie sieciowe). Jest to przekaźnik startowy, który poinformuje Arduino, że użytkownik pociągnął dźwignię, czyli rozpoczął proces opiekania. Nie zapominaj, że obwód sterujący nie jest już na swoim miejscu, elektrozawór nie dostaje prądu, co przytrzymywałoby dźwignię, a grzałka jest odłączona (sterowana przez SSR). Od tego momentu wszystko to będzie zadaniem Arduino.

Zasilacz 12V DC jest podłączony bezpośrednio do sieci (dodałem dodatkowy włącznik/wyłącznik z tyłu). Zapewni to stałą moc dla obwodu. Toster w trybie czuwania zużywa tylko 5,5 W przy włączonym ekranie i 5,4 W przy wyłączonym.

Krok 4: Przednia płytka arcykliczna

Przednia płyta arcykliczna
Przednia płyta arcykliczna
Przednia płyta arcykliczna
Przednia płyta arcykliczna
Przednia płyta arcykliczna
Przednia płyta arcykliczna

Nie jestem ekspertem w pracy z tym materiałem, dostałem radę, aby wycinać w nim otwory dremmelem na wysokich obrotach pod bieżącą wodą, ale nie chciałem go przesadzać, więc to, co zrobiłem, to po prostu wiercenie w zwykłym dziury, całkowicie zrezygnowałem z wykopywania części pomiędzy Raspi a ekranem, zamiast tego wywierciłem otwory tylko przy przekładkach ekranu i przy złączu Raspi, a pozostałą substancję spiłowałem do kwadratu, aby złącze pasowało Poprzez.

Widać, że płyta plexi ma małe pęknięcia wokół niektórych otworów, więc wiesz, czego unikać, jeśli dążysz do idealnego projektu.

Niemniej jednak ze względu na ciepło nie ma możliwości włożenia czegokolwiek do obudowy tostera, cała elektronika musi być zamontowana w bezpiecznej odległości od grzałki.

Nie wykonałem żadnych rysunków projektowych dla arkusza Plexi o wymiarach 148x210mm, po prostu starałem się dopasować wszystko do symetrii i linii, więc przepraszam, że nie mogę podać żadnego schematu dla tej części, musisz to zrobić sam. Mam jednak 1 radę:

Przed sklejeniem pierścieni LED włącz je za pomocą Arduino, zapal i zaznacz piórem diody FIRST i LAST z tyłu, aby nie skończyć z zamontowaniem ich lekko obróconych, jak ja (jednak można to naprawić z oprogramowania)

Jest 6 przekładek, które utrzymują cały przedni panel na miejscu, jednak na końcu, ze względu na małą długość obrotowych, 2 dolne nie przechodzą przez panel.

Użyłem zwykłych podkładek dystansowych płyty głównej PC między pokrętłami a panelem plexi, dodałem również 2-2 więcej za pokrętłem, aby zapewnić dodatkową stabilność po wciśnięciu przycisków.

Krok 5: Obwód sterowania tosterem

Obwód sterowania tosterem
Obwód sterowania tosterem
Obwód sterowania tosterem
Obwód sterowania tosterem
Obwód sterowania tosterem
Obwód sterowania tosterem

Był to jeden z tych projektów, które faktycznie wykorzystały WSZYSTKIE piny Arduino:) RX i TX zostały zarezerwowane dla przyszłego rozszerzenia modułu komunikacyjnego.

Płyta główna zapewnia zasilanie dla wszystkiego poprzez konwerter buck (Arduino, Raspi, Screen, SSR, Relays). Tutaj chciałbym zauważyć, że ten regulator napięcia nie jest do końca najnowocześniejszy, nie może zbytnio przekroczyć napięcia wejściowego 12 V DC. Jeśli zdecydujesz się na użycie dokładnie tego samego typu, upewnij się, że twój zasilacz zapewnia stabilne napięcie obwodu otwartego 12 V (nie tak jak w przypadku zasilacza WRT54G, dzięki czemu w ciągu kilku sekund zobaczysz magiczny dym).

Zrobiłem płytkę jak najbardziej modułową, używając gniazd tam, gdzie mogłem. Poza 2 kontaktronami wszystko inne można łatwo wymienić.

Oba te doskonałe przekaźniki kontaktronowe mają wbudowane diody flyback i pobierają nie więcej niż 7 mA, dzięki czemu można je bezpośrednio podłączyć do dowolnych pinów Arduino (polecam je również w moich przyszłych projektach). Funkcja przekaźników:

Jeden służy do włączania elektrozaworu na początku procesu opiekania (aby trzymać tę dźwignię wciśniętą).

Jeden służy do automatycznego włączania i wyłączania ekranu w przypadku wykrycia ruchu.

Uznałem, że używanie tego ekranu HDMI 24/7 nie zapewni długiej żywotności (zwłaszcza to, czego używam, to tylko tania podróbka, a nie oryginalny WaveShare:

A także czy twój komputer może włączyć ekran, gdy wchodzisz do pokoju? Nie sądzę, toster BSD może!

Ekran jest w zasadzie na 10-minutowym zegarze, który jest automatycznie podskakiwany za każdym razem, gdy ponownie pojawia się ruch. Powiedzmy, że włączył się i po 9 minutach znowu jest ruch, co oznacza, że pozostanie włączony przez dodatkowe 10 minut. Włączanie i wyłączanie nie działa prawidłowo dla żadnego obwodu z wyjątkiem SSR.

Co prowadzi nas do trzeciego i ostatniego elementu sterującego do sterowania grzałką. Te małe urządzenia zostały stworzone specjalnie do częstego włączania i wyłączania, aby utrzymać temperaturę pod kontrolą. To, co wybiorę, będzie działać dobrze bezpośrednio z pinu wyjściowego Arduino.

W oryginalnym projekcie na płytce byłby jeszcze jeden przekaźnik do włączania zestawu głośników 2.1, zanim Raspberry pi odtworzy rano dźwięk alarmu (także bardzo łatwo jest dodać piosenkę po zakończeniu opiekania), ale ponieważ tak jest IoT, dlaczego silić się? Po prostu prosi innego raspi w mojej sieci, aby zrobił to za mnie za pomocą standardowego przełącznika RCSwitch 433 MHz.

Jak zwykle z płytą w wersji 0.4 pojawiły się mniejsze błędy, co widać na zdjęciach. Mianowicie pominięto 2 dodatkowe złącza 5V i złącze przekaźnika wejściowego na pinie 10 Arduino.

Poprawiłem je w wersji 0.5 i stworzyłem też wersję inną niż Xbee.

Ponieważ jest to tablica dwuwarstwowa, samo pobranie tych układów, a majsterkowanie byłoby trudne, trzeba by dokładnie wydrukować 2 strony, wytrawić tablicę i znaleźć sposób na połączenie boków, więc połączę później w projekcie wspólnym Easyeda. Zaleca się zamówić go bezpośrednio od nich.

Krok 6: Mod Xbee

Xbee jest tutaj tylko po to, aby sterować ekspresem bezpośrednio przez niego, ponieważ jest stosunkowo blisko niego na odległość i nie ma między nimi żadnych przeszkód.

Nie ma to absolutnie nic wspólnego z tosterem ani kodem tostera.

O modzie Xbee: jest to całkowicie opcjonalne, dlatego załączam schematy tej płyty z i bez Xbee. Xbee jest bezpośrednio przylutowany do sprzętowego portu UART Raspberry PI RX/TX (ttyAMA0), który jest wyprowadzony na złącza ekranu, ale ekran go nie używa (używa interfejsu SPI do przekazywania współrzędnych dotykowych między PI a nim samym).

Dedykowałem osobny port szeregowy na PI dla komunikacji Xbee zamiast przekazywać wiadomości przez Raspberry -> Arduino -> konwerter 5v3v -> Xbee -> inne urządzenia. W ten sposób nie jest również problemem, że proces opiekania blokuje cały MCU.

Krok 7: Kod kontrolny tostera

Kod jest dość prosty, co wynika z faktu, że komunikacja między Arduio -> Raspberry PI jest w zasadzie jednokierunkowa.

To urządzenie, w przeciwieństwie do ekspresu do kawy, nie może być sterowane z telefonu lub komputera tylko ręcznie za pomocą niektórych wymyślnych elementów sterujących.

Jedyną funkcją PI jest tutaj rejestracja danych i wyświetlanie ładnych wykresów. Nie jest fiolek do działania tostera, można go całkowicie wyłączyć lub nawet usunąć z tego projektu, Arduino wykonuje całą pracę.

Na początku kod resetuje pierścienie led, uruchamia różne zegary podtrzymania iw każdej pętli sprawdza dane wejściowe z 2 przełączników obrotowych. To wejście może oznaczać obrót w prawo lub w lewo lub naciśnięcie dowolnego z 2 przełączników (który w trybie bezczynności wysyła po prostu podstawowe polecenie IRONFORGE_OFF_ALARM do komputera, a następnie powraca do normalnego stanu IRONFORGE_OFF).

Wewnątrz Rotary_read_temp() i Rotary_read_time() zostaną zmienione zmienne global_temp i global_time. Jest to JEDYNE miejsce w kodzie, w którym te wartości można zmienić i będą one przechowywać swoje wartości między kolejnymi opiekaniem.

Wewnątrz obu tych funkcji funkcja rotate_memory() wywoływana po wykryciu zmiany pozycji. Ma to na celu ponowne wczytanie stanów diod LED na pierścieniach, ponieważ po procesie opiekania zostaną one zresetowane z powrotem do czerni, aby nie marnować energii i wydłużać ich żywotność.

Diody LED są również okresowo wyłączane co 10 minut na wypadek, gdyby nie było ostatniego zdarzenia obrotowego.

Połączenie tych 2 funkcji da w wyniku:

1, Zakładając stan bezczynności

2, Dowolny z pokręteł przesunięty (jeśli zostały wcześniej wyregulowane, te wartości zostaną przywrócone z pamięci i wyświetlone na diodach)

3, jeśli proces opiekania nie rozpocznie się i nie ma więcej zdarzeń regulacji, światła ponownie zgasną;

Przeniosłem je również na oddzielny zegar wstrzymania z ekranu, ponieważ komputer będzie często używany do wyświetlania danych pogodowych, ale nie chcę, aby obrotowe diody LED były cały czas przywracane, ponieważ nie chcę robić miliona toastów dzień.

Główny proces opiekania (strona Arduino):

Zostanie to zainicjowane, gdy system zostanie wyzwolony przez przekaźnik startu wejścia (230V) (a zarówno czas, jak i temperatura są różne od zera). Po stronie Arduino przebieg programu jest następujący:

1, włącz elektromagnes, aby przytrzymać dźwignię;

2, włącz SSR do nagrzewania;

3, W zależności od czasu uruchom pętlę opiekania, która odlicza w dół. W każdej pętli wyślij do komputera następujące dane:

-TEMPERATURE (pierwotnie wartość zmiennoprzecinkowa, ale wysyłana jako 2 ciągi CSV)

-TIME pozostaje (w sekundach zostanie przekonwertowany z powrotem do formatu mm:ss na drugim końcu)

4, w każdej pętli w zależności od ustawionej temperatury włącz lub wyłącz SSR, aby kontrolować proces opiekania;

5, pod koniec pętli opiekania polecenie IRONFORGE_OFF zostanie wysłane do komputera;

6, wyłącz SSR i zwolnij elektrozawór;

7, Graj w grę LED na pokaz (tutaj możesz również dodać muzykę do odtwarzania lub jakąkolwiek inną akcję, którą chcesz)

8, diody zaciemniające

Jak powiedziałem wcześniej, główna pętla opiekania całkowicie blokuje MCU, w tym czasie nie można wykonać żadnych innych zadań. Zignoruje również wejścia obrotowe w tym okresie czasu.

Główny proces opiekania (Strona Raspberry PI):

Raspberry Pi uruchamia program sterujący head C z nieuprzywilejowanym użytkownikiem, który jest odpowiedzialny za wszystkie interakcje na pulpicie.

Zdecydowałem się użyć Conky'ego do wszystkich wyświetlaczy wykresów, ponieważ używam go od dekady i wydawał się najłatwiejszy w użyciu do pracy, ale ma pewne haczyki:

-Nie można zmienić ziarnistości wykresu, wykres jest zbyt drobny, nawet po maksymalnym czasie opiekania (5 minut) dochodzi tylko do połowy słupka

-Conky lubi się zawieszać, zwłaszcza gdy ciągle go zabijasz i przeładowujesz

Z drugiego powodu zdecydowałem się na odrodzenie wszystkich conkies poprzez oddzielne nadzorowane procesy, aby je pilnować.

Podstawowa bezczynna lua używa 2 oddzielnych conkies (1 dla danych pogodowych, a drugi dla zegara).

Po rozpoczęciu opiekania:

1, Arduino sygnalizuje program raspberry pi C przez port szeregowy z IRONFORGE_ON

2, program kontrolny C zatrzymuje 2 conky wątki i ładuje 3 conky lua do opiekania

3, Program sterujący C wypisuje zarówno wartości temperatury, jak i czasu do oddzielnych plików tekstowych znajdujących się na ramdysku (aby nie wykonywać zbędnych operacji RW na karcie SD), co conkies wczytują i wyświetlają automatycznie. Program odpowiada również za stworzenie pozostałego czasu do formatu MM:SS.

4, pod koniec opiekania program C zatrzymuje bieżącą nić opiekania i ponownie uruchamia 2 conkies, wracając ponownie do wyświetlania pogody i czasu

5, w celu wykrycia alarmu program C może bezpośrednio zatrzymać proces odtwarzania muzyki z crona, gdy w stanie bezczynności którykolwiek z pokręteł jest wciśnięty

Krok 8: Wszystkie twoje tosty należą do nas: NetBSD kontra Raspbian

Wszystkie twoje tosty należą do nas: NetBSD Vs Raspbian
Wszystkie twoje tosty należą do nas: NetBSD Vs Raspbian

Chociaż toster został stworzony głównie do uruchamiania NetBSD i wyświetlania na ekranie dźwięku, Arduino wszystkie z nim pracują, nie ma obsługi ekranu dotykowego. Byłbym wdzięczny za pomoc każdego, kto jest zainteresowany napisaniem sterownika do tego.

Dotykowy układ LCD to XPT2046. Ekran używa SPI do wysyłania współrzędnych wejściowych kursora z powrotem do Raspberry.

www.raspberrypi.org/documentation/hardware…

  • 19 Wejście danych TP_SI SPI panelu dotykowego
  • 21 Wyjście danych TP_SO SPI panelu dotykowego
  • 22 Przerwanie panelu dotykowego TP_IRQ, niski poziom, gdy panel dotykowy wykrywa dotknięcie
  • 23 Zegar TP_SCK SPI panelu dotykowego
  • 26 TP_CS Wybór chipa panelu dotykowego, niski poziom aktywności

W chwili pisania tego tekstu nie znam żadnego ekranu dotykowego kompatybilnego z Raspberry PI (shield), który miałby działający sterownik NetBSD dla touchpada.

Krok 9: Zamknięcie i lista rzeczy do zrobienia

Lista zamknięć i zadań
Lista zamknięć i zadań

Jak zawsze wszelka pomoc, wkład, poprawki w kodzie mile widziane.

To był niedawno ukończony hack, więc później zaktualizuję projekt o brakujące fragmenty kodu (kod kontrolny Raspberry pi C, Conky luas itp.). Planuję też tworzyć obrazy sdcard z automatyczną zmianą rozmiaru o pojemności 8 GB/16 GB, które zawierają wszystko. Ze względu na to, że Raspberry PI jest standardowym sprzętem, każdy, kto zdecyduje się zbudować projekt, może po prostu pobrać obrazy, zapisać je na karcie sd, a toster będzie działał po uruchomieniu tak samo jak mój. Konfiguracja sieci jest potrzebna tylko dla prawidłowego czasu (NTP) i wyświetlania temperatury.

Pozostałym krokiem będzie zmierzenie temperatury wewnątrz za pomocą FLIR i dodanie korekt do odczytu czujnika temperatury MAX, ponieważ uważam, że nagrzewa się zbyt wolno jak na krótki, maksymalnie 5 minutowy okres opiekania.

Planuje również dodanie automatycznego skalowania okresu czasu w zależności od ustawionej temperatury, aby móc wydłużyć to maksymalne okno czasowe o 5 minut, jeśli temperatura zostanie obniżona.

Zalecana: