Spójrz na swoją kuchnię. Kuchenka mikrofalowa ze świecącym wyświetlaczem LED i gumową klawiaturą? Ukrywa twój mózg. To coś więcej niż tylko opłata. To jest mikrokontroler. Te małe krzemowe chipy są wszędzie. Są głęboko ukryte we wnętrzu nowoczesnych produktów. Prawdopodobnie używasz ich dziesiątki razy dziennie.
Pomyśl o swoim samochodzie. Każdy ma przynajmniej jednego. Droższe modele mogą mieć nawet 6-7 samochodów. Pracuje tylko jeden silnik. Stosowane są różne hamulce przeciwblokujące. Tempomat? To jest trzeci. Zaczniesz zauważać pewien wzór. Urządzenie, z którym rozmawiasz, prawdopodobnie je posiada.
Pokazują je w telewizji. Są w magnetowidach. Polegają na nich nawet starsze, wysokiej klasy systemy stereo. Chcesz zrobić zdjęcie? Jest to prawdą w przypadku wysokiej jakości lustrzanki cyfrowej lub aparatu cyfrowego. Telefon komórkowy? Tak. Kamera. Pozwany. Drukarka laserowa. Czy to nowoczesny telefon z funkcją identyfikacji dzwoniącego i miejscem w pamięci na 20 numerów? Tak. pagera. Tak. Stosowane są również w wielofunkcyjnych urządzeniach gospodarstwa domowego, takich jak lodówki i zmywarki z interfejsami cyfrowymi.
Zasadniczo, gdy produkt wchodzi w interakcję z użytkownikiem, wewnątrz niego znajduje się mikrokontroler.
Ale co to właściwie jest? Dlaczego powinno nas to obchodzić?
Zrozumienie tego komponentu zmieni sposób, w jaki patrzysz na technologię. To nie magia. To tylko inżynieria. Zrozumienie, jak to działa, otwiera czarną skrzynkę. Możesz zacząć tworzyć coś sam.
Rozwiążmy tę zagadkę. Sprawdź co to jest mikrokontroler. Dowiedz się, w jaki sposób przetwarzane są Twoje dane. Wtedy musisz to zrobić. Zrób zegar cyfrowy. To wszystko. Użyj mikrokontrolera.
Następnie zrobimy termometr cyfrowy.
Te przedmioty to coś więcej niż tylko zabawki. Opowiedzą Ci o produktach dostępnych na rynku. Zobacz, jak inżynierowie projektują sprzęt, którego używają. To jest informacja praktyczna.
„Zasadniczo mikrokontrolery są wbudowane w produkty i urządzenia, z którymi użytkownicy wchodzą w interakcję”.
To jest pierwszy krok. Pozostaje tylko wdrożenie.
Mikrokontroler to komputer. Ma tę samą podstawową strukturę, co komputer stacjonarny, na którym prawdopodobnie czytasz ten artykuł. Posiada procesor, który wykonuje kod. Pobiera ten kod z pamięci masowej. Wykorzystuje pamięć o dostępie swobodnym (RAM) dla zmiennych tymczasowych. Posiada wejścia i wyjścia, które wchodzą w interakcję ze światem zewnętrznym.
Różnica polega na celu. Komputer stacjonarny jest urządzeniem ogólnego przeznaczenia. Można na nim uruchomić przeglądarkę, gry lub edytor tekstu. Mikrokontrolery są urządzeniami wyspecjalizowanymi. Wykonują jedno zadanie. I robią to bardzo dobrze.
Urządzenie korzysta z wbudowanego sterownika, jeśli spełnia określone standardy.
Cel specjalny
Te chipy są ukryte w innych urządzeniach. Kontrolują funkcjonalność lub zachowanie produktów konsumenckich. Nie widzisz ich. Wchodzisz w interakcję wyłącznie z treściami, które udostępniają.
Są przeznaczone do konkretnych zadań. Prowadzą jeden konkretny program. Programy są zwykle przechowywane w pamięci ROM (pamięć tylko do odczytu) i rzadko są modyfikowane. Są one „wlutowane” w urządzenie.
Zużycie energii jest tutaj istotne. Komputer stacjonarny podłączony do gniazdka elektrycznego może zużywać 50 watów mocy. Mikrokontroler zasilany bateryjnie może zużywać zaledwie 50 miliwatów. Ma to znaczący wpływ na efektywność.
Wejścia, wyjścia i środowisko
Mikrokontrolery mają własne urządzenia wejściowe. Często mają małą diodę elektroluminescencyjną (LED) lub wyświetlacz LCD do wyświetlania informacji. Ale przez większość czasu wchodzą w interakcję ze sprzętem, którym sterują.
Weź telewizor. Mikrokontroler odbiera dane wejściowe z pilota. Wyświetla informacje na ekranie. Steruje przełączaniem kanałów. Reguluje głośność głośnika. Reguluje barwę i jasność elektroniki lampy elektronopromieniowej.
Albo spójrz na swój samochód. Sterownik silnika otrzymuje sygnał wejściowy z czujnika tlenu i czujnika spalania stukowego. Kontroluje mieszankę paliwową. Synchronizuje pracę świec zapłonowych.
Kuchenka mikrofalowa jest również klasycznym przykładem. Akceptuje dane wejściowe z klawiatury. Wyświetla czas na wyświetlaczu LCD. Aktywuje przekaźnik włączający i wyłączający magnetron.
Chipy te działają również w trudnych warunkach. Są na ogół niezawodne, chociaż niekoniecznie mocne i trwałe w sensie mechanicznym. Sterowniki silnika w pojazdach eksploatowanych na Alasce muszą wytrzymywać temperatury do -30°F. W Nevadzie temperatura może osiągnąć 50°C. W połączeniu z ciepłem wytwarzanym przez silnik, temperatura wewnątrz pojazdu może wzrosnąć do 150°F do 180°F.
Mikrokontroler w magnetowidzie (VCR)? Pewnie go to nie obchodzi. Wcale nie jest trwały.
Wyposażenie wewnętrzne
Sam procesor jest inny. Może być nieaktualny. Może być zaskakująco potężny.
Procesory Z-80 można stosować w telefonach cyfrowych. To 8-bitowy chip z lat 70-tych. Pierwotnie zasilał komputery domowe.
Nawigatory GPS firmy Garmin korzystają z energooszczędnej wersji procesora Intel 80386. 80386 to standard dla komputerów stacjonarnych. Teraz znajduje się w przenośnym nawigatorze.
Do prostych zadań producenci preferują wyspecjalizowane układy mikrokontrolerów. Decydujące czynniki to cena i rozmiar. Motorola 6811 i Intel 8051 to przykłady historyczne. Zostały zaprojektowane tak, aby były niedrogie, kompaktowe i energooszczędne.
Następnie są mikrokontrolery PIC. Nie bez powodu te produkty zaprojektowane przez Microchip są tak popularne. Według współczesnych standardów są minimalistyczne. Ale przy zakupie w dużych ilościach są niewiarygodnie tanie. Jeden chip zaspokaja potrzeby dewelopera.
Dlaczego prostota wygrywa
Rozważmy typowy, tani układ mikrokontrolera. Może mieć 1000 bajtów pamięci ROM. 20 bajtów pamięci RAM. 8 pinów we/wy.
Przy produkcji dużych ilości jego cena wynosi zaledwie kilka centów.
Nigdy nie uruchomisz programu Microsoft Word na tym chipie. Word wymaga 30 MB pamięci RAM i procesora zdolnego przetwarzać miliony poleceń na sekundę.
Jednak do sterowania kuchenką mikrofalową nie jest potrzebny program Word. Musisz wykonać określone zadanie. Niski koszt. Niskie zużycie energii. Oto propozycja wartości mikrokontrolerów.
Korzystanie z mikrokontrolera
Trendy się zmieniają. W miarę jak urządzenia stają się coraz inteligentniejsze, granica między „mikrokontrolerem” a „procesorem” zaciera się. Ale podstawowa filozofia pozostaje taka sama. Jeśli potrzebujesz tylko sterować przekaźnikami, monitorować czujniki i migać diodami LED, nie potrzebujesz superkomputera. Potrzebujesz skupionego i wydajnego mózgu.
Następnym razem, gdy będziesz sprawdzać zegar, regulować termostat lub uruchamiać samochód, pomyśl o tym małym, niezawodnym i niedrogim chipie pracującym cicho w tle. To nie tylko sprzęt. Jest to wyspecjalizowany komputer, który spełnia swoje zadanie.
Najlepszym sposobem jest zbudowanie zegara cyfrowego przy użyciu bramek logicznych serii 7400 TTL. Dowiesz się, jak powstają skoki napięcia na tranzystorze. Zobaczysz, dlaczego jedna bramka odwracająca (NIE bramka) jest fizycznym chipem. Zdasz sobie również sprawę, że wdrażanie złożonych funkcji wymaga skomplikowanego okablowania i wielu układów. Prosty zegar może wymagać 15 lub 20 pojedynczych elementów. Oni pracują. Są jednak nieporęczne. A zbieranie ich jest trudne.
Oprogramowanie całkowicie zmienia zasady gry.
Mikrokontrolery pakują logikę dziesiątek bramek w pojedynczy chip krzemowy. Piszesz program. Chip to robi. Sprzęt zajmie się resztą. W tym artykule pomijamy etap montażu płytki prototypowej i przechodzimy od razu do kodu. Tworzymy zegarki cyfrowe. Kosztowały prawie dwieście dolarów. Wydaje się to szaleństwem w przypadku zegarka, który tylko wskazuje godzinę. Celem nie jest jednak oszczędzanie pieniędzy. Celem jest nauczenie się interakcji z mikrokontrolerem. Jeśli to zrozumiesz, możesz zrobić wszystko.
Znaczek PODSTAWOWY: Uproszczenie sprzętu
Większość mikrokontrolerów wymaga znajomości języka asemblera lub skomplikowanych sterowników. Potrzebny jest programista. Musisz zrozumieć cykle zegara i mapowanie pamięci. Znaczek BASIC firmy Parallax usuwa te przeszkody. Jest to mikrokontroler PIC zaprogramowany w języku BASIC, który jest znany większości entuzjastów elektroniki.
Tytuł jest dosłowny. Opłata jest mniej więcej wielkości znaczka pocztowego.
Pracujemy nad BASIC Stamp Revision D. To nie tylko chipsy. Jest to w pełni zmontowana płyta nośna. Zawiera uchwyt na baterię 9 V. Wyposażony w regulator napięcia utrzymujący jego stabilność. Istnieją złącza pinowe dla linii we/wy. Jest też małe miejsce do prototypowania, jeśli chcesz przylutować jeden lub dwa rezystory bezpośrednio do płytki. Można też kupić oryginalny chip BS-1 i wlutować obwód samodzielnie. Wersja D po prostu oszczędza Ci bólu głowy.
Po co używać „drogich” znaczków?
Pieczątki BASIC nie nadają się do produktów konsumenckich. Producenci ich nie lubią. Są bardzo powolne. Są drogie. Gdybyś produkował 10 000 sztuk, prawdopodobnie użyłbyś standardowego PIC lub AVR. Ale do prototypowania? Nie mają sobie równych.
Instalacja zwykłego mikrokontrolera może zająć kilka godzin. Musisz skonfigurować bezpieczniki. Musisz zapisać bootloader. Musimy debugować wyjście danych szeregowych. Pieczęć wymaga tylko dwóch rzeczy. Podłącz go do portu w komputerze stacjonarnym. Piszesz program. Kliknij „Wyślij”. Chip działa.
Za tą prostotą kryje się kompromis. Pamięć BS-1 w stemplu jest ograniczona. Pamięć EEPROM mieści tylko około 256 bajtów. Odpowiada to około 75 liniom kodu BASIC. Istnieją ograniczenia. Nie możesz utworzyć serwera WWW. Nie można zapisać obrazów wysokiej jakości. Można jednak sprawić, że dioda LED zacznie migać. Można odczytać dane z czujnika. Możesz uruchomić zegar.
Utwórz zegar
Używam tego sprzętu do tworzenia zegarków cyfrowych. To będzie drogie. Sama płyta kosztuje ułamek tej kwoty, ale do jej zaprogramowania potrzebny jest komputer. Musisz znać swoje ograniczenia.
Limit 75 linii wymusza na Tobie efektywność. Nie możesz nadymać swojego kodu. Trzeba się zastanowić, co dokładnie chip ma robić. Czy musi wyświetlać sekundy? Tak. Czy wyświetlacz powinien odświeżać się co milisekundę? Prawdopodobnie nie. Każda linia jest ważna.
Dzięki temu podejściu nauczysz się podstaw systemów wbudowanych. Nie chodzi tylko o pisanie kodu. Kontrolujesz swoje zasoby. Pracujesz w ramach ograniczeń sprzętowych. Jeśli uda ci się uruchomić zegar w Stampie, możesz sterować prawie każdym urządzeniem za pomocą mikrokontrolera. Logika pozostaje taka sama. Skala się zmienia.
Sam zegar jest prosty. Ale droga do ich stworzenia jest prawdziwą wartością. Naucz się łączyć za pomocą pinów. Naucz się zarządzać czasem. Naucz się ładować kod na chip z małą ilością pamięci lub bez niej.
„Znaczki są tak małe i zasilane bateryjnie, że można je zabrać niemal wszędzie.”
Ta przenośność jest prawdziwą zaletą. Zegarek możesz zabrać gdziekolwiek. Można podłączyć czujniki. Można je zamienić w stację pogodową. Baza jest niezawodna. Kod został zoptymalizowany. Wyposażenie jest minimalne.
Nie tylko tworzysz zegarki. Rozwijasz umiejętności.
Uproszczony język dla wbudowanej logiki
Programowanie za pomocą BASIC Stamp nie oznacza odkrywania koła na nowo. Używana jest ulepszona wersja języka programowania BASIC. Jeśli znasz już BASIC, wszystko będzie ci znane, tylko składnia będzie bardziej rygorystyczna. Jeśli masz doświadczenie z C, Pascalem lub Javą, funkcje Stamp BASIC są łatwe do nauczenia. Jeśli nigdy nie pisałeś kodu, nie zaczynaj tutaj. Najpierw naucz się podstaw na komputerze stacjonarnym.
Parallax szczegółowo opisuje ten framework, ale dla szybkiego przeglądu spójrzmy na konkretny zestaw instrukcji zaprojektowanych dla ograniczonego sprzętu.
Standardowy przepływ kontroli i procedury
Podstawowa logika pozostaje taka sama. Oto kilka standardowych konstrukcji do kontrolowania przepływu programu:
for...nextdla standardowej pętli.gosubskacze do podprogramu.gotoprzechodzi do zaznaczonej linii w kodzie.jeśli...todla rozwiązań warunkowych.pozwólwykonać zadanie (choć zwykle jest to opcjonalne w Stamp BASIC).- „powrót” kończy podprogram.
endzatrzymuje program i wprowadza układ w tryb uśpienia.
Bezpośrednie operacje na pinach I/O
To tutaj Stamp żyje i umiera. Wyjścia są interfejsami do świata fizycznego. BS-1 ma 8 pinów (0-7). BS-2 podwaja ich liczbę do 16 (0-15). Działają w obie strony. Można z nich odczytywać i zapisywać dane.
Możesz nimi sterować za pomocą określonych poleceń.
- „Przycisk” wykorzystuje wbudowaną logikę zapobiegającą odbiciom i automatycznemu powtarzaniu do odczytu wejść.
- „wysoki” i „niski” ustawia pin na 1 (+5V) lub 0 (masa).
- „wejście” i „wyjście” określają kierunek wyjścia.
- Podłącz potencjometr do kondensatora zgodnie z instrukcją, a „pot” odczyta wartość potencjometru.
- „pulsin” i „pulsout” obsługują wejście i wyjście szerokości impulsu.
pwmgeneruje modulację szerokości impulsu dla silników lub ściemniania.reverseodwraca kierunek wejść/wyjść.seriniseroutobsługują komunikację szeregową.dźwiękgeneruje określoną częstotliwość.togglezmienia stan bitu na pinie.
Specyficzne funkcje stempla i pamięci EEPROM
Sprzęt ma pewne funkcje, na które język reaguje bezpośrednio:
branchczyta tablicę gałęzi, aby przyspieszyć wyszukiwanie.debugwysyła ciąg znaków do konsoli pulpitu.eepromobsługuje przechowywanie programów.lookdownilookupumożliwiają indeksowanie tabel.- „drzemka” i „pauza” wprowadzają opóźnienia.
randomgeneruje liczby pseudolosowe.- „Odczyt” i „zapis” wykorzystują nieulotną pamięć EEPROM.
sleepwyłącza chip na określony czas.
Operatory arytmetyczne i logiczne
Matematyka to podstawa. To bardzo proste.
+i-do dodawania i odejmowania.*do mnożenia najniższego słowa.**, aby pomnożyć słowo wiodące./dla dzielenia.//dla operacji modułowej (reszta z dzielenia).maximinsłużą do znajdowania wartości ekstremalnych.
Operacje logiczne, na przykład:
&(ORAZ)|(LUB)^(XNOR)&/(NAND)|/(NOR)^/(XNOR)
Operatory porównania dla instrukcji if to =, <>, <, <=, >, >=, AND, OR.
Limit pamięci: rzeczywistość 14 bajtów
Zmienne BS-1 nie są nieskończone. Pamięć o dostępie swobodnym (RAM) ma dokładnie 14 bajtów. Powinieneś traktować każdy bajt jak złoto.
Język udostępnia predefiniowane nazwy zmiennych, ale można także dodawać aliasy do nazw zmiennych.
w0-w6: 16-bitowe zmienne słowne.b0-b13: 8-bitowe zmienne bajtowe.bit0-bit15: 1-bitowe zmienne logiczne.
To jest problem. Ze względu na sposób mapowania pamięci, w0 i b0 (a także b1 ) dzielą tę samą fizyczną przestrzeń w RAM. w1 jest współdzielone z b2 i b3. bit0 –bit15 znajdują się w w0. Oznacza to, że zmiana „w0” spowoduje także zmianę „b0” i „b1”. To nie jest błąd. To jest ograniczenie. Musisz dokładnie wiedzieć, co kopiujesz.
Komunikowanie się ze światem poprzez wnioski
Dlaczego jest tak wiele instrukcji we/wy? Ponieważ te wyjścia to jedyny sposób, w jaki Stamp komunikuje się ze światem zewnętrznym.
Wysyłanie wartości jest proste. „wysokie 3” wysyła +5 V do pinu 3. „niskie 3” wysyła masę. Dla BS-1 możesz wybrać dowolny pin od 0 do 7. Logika jest podobna do BS-2, ale jest więcej pinów do sterowania.
Zaawansowane instrukcje, takie jak „pwm” dla silników i „pot” dla rezystorów zmiennych, upraszczają projektowanie sprzętu. Każde wejście analogowe nie wymaga skomplikowanych obwodów zewnętrznych. Stempel kontroluje czas impulsu.
Jeśli utkniesz, niezawodnym źródłem informacji będzie Programowanie i dostosowywanie komputera stemplowego w języku BASIC autorstwa Scotta Edwarda. Zawiera przykładowy projekt, który pokazuje, jak połączyć te komponenty ze sobą, zamiast tylko pisać kod.
Nie potrzebujesz doktoratu z systemów wbudowanych, aby zacząć używać BASIC Stamp. Wszystko czego potrzebujesz to komputer stacjonarny i BASIC Stamp Starter Kit. Zestaw ten zawiera niezbędny sprzęt, kable połączeniowe i aplikację komputerową do ładowania kodu BASIC do pamięci chipa.
Zestaw ten można kupić od Parallax lub Jameco, dostawców, których być może znasz z naszych poprzednich artykułów na temat bramek elektronicznych i zegarów cyfrowych. Parallax podaje numer części zestawu startowego BASIC Stamp D jako 27202. Numer części Jameco to 140089. Obydwa kosztują 79 dolarów.
Parallax czasami organizuje promocje „Zapakowaliśmy podstawy”. Ta oferta dodaje do Twojego zamówienia książkę Scotta Edwardsa „Programowanie i dostosowywanie komputera do stemplowania w języku BASIC”. Jest to przydatny przewodnik, jeśli chcesz pójść dalej, niż pozwala na to instrukcja obsługi.
Łączenie i wykonywanie kodu
Fizyczne połączenie jest proste. Podłącz Stamp do portu równoległego komputera. Następnie uruchom aplikację DOS, edytuj kod i wyślij go kablem.
Naciśnij ALT-R, aby uruchomić program w edytorze. Najpierw program sprawdza składnię. Następnie ładuje kod do nieulotnej pamięci EEPROM chipa. Chip natychmiast rozpoczyna jego wykonywanie.
Domyślny przykład tworzy falę prostokątną na pinie 3 we/wy. Podłącz sondę logiczną lub diodę LED do tego pinu. Zobaczysz, jak miga dwa razy na sekundę. Komenda PAUSE powoduje zmianę stanu co 250 milisekund.
To urządzenie zużywa wystarczająco mało energii, aby działać przez kilka tygodni na baterii 9-woltowej. Możesz wydłużyć czas pracy, dostosowując taktowanie. Włącz diodę LED tylko na 50 ms, a następnie wyłącz ją na 450 ms. Zastąpienie instrukcji PAUSE instrukcjami NAP może również znacznie zmniejszyć zużycie energii.
Tworzenie naprawdę drogiego zegarka cyfrowego
Wydawanie 79 dolarów na migające światła wydaje się stratą czasu. Większość ludzi chce stworzyć coś użytecznego przy użyciu BASIC Stamp. Kolejne 100 dolarów pozwoli Ci odebrać cyfrowy zegarek. Koszt wydaje się wysoki, dopóki nie zorientujesz się, że części nie są jednorazowe. Przydadzą się do ponownego wykorzystania. Wykorzystamy je w przyszłych projektach.
Zarządzaj wieloma cyframi za pomocą ograniczonej liczby pinów
Załóżmy, że chcesz wyprowadzić liczbę na pin wejścia/wyjścia (I/O). W naszym poprzednim samouczku dotyczącym zegara cyfrowego pokazaliśmy, jak używać układu scalonego 7447 do podłączenia do 7-segmentowego wyświetlacza LED. Te chipy dobrze współpracują ze stemplem BASIC. Podłącz 4 piny bezpośrednio do 7447. Na wyświetlaczu pojawi się liczba od 0 do 9. Stamp BS-1 ma osiem pinów I/O. To wystarczy, aby bezpośrednio zasilić dwa układy 7447.
Zegar wymaga 4 cyfr. Osiem pinów nie może sterować jednocześnie czterema układami scalonymi. Tutaj będziesz musiał wykazać się kreatywnością.
Oto schemat podłączenia. Osiem linii pochodzi ze Stamp. Do wszystkich czterech układów 7447 podłączone są cztery linie. Przesyłają dane. Pozostałe cztery linie kolejno aktywują mikroukłady. Pin „E” układu 7447 jest wejściem włączającym. Wyłącza wyświetlacz. Program Stamp drukuje pierwszą cyfrę. Przełącz pierwszą linię kontrolną, aby włączyć pierwszy chip. Następnie wyślij kolejną wartość. Aktywuje drugi chip. Powtarzaj ten proces dla wszystkich czterech żetonów w nieskończoność.
Połączenie można wykonać na wiele różnych sposobów. 7447 może nie wystarczyć. Użyj dekodera 74154. Więcej sterowników. W ten sposób możesz zarządzać maksymalnie 16 cyframi.
Rzeczywistość multipleksowania
W ten sposób sterujesz wyświetlaczem LED. Otwórz stary kalkulator z wyświetlaczem LED. Włącz to. Wstrząsaj, patrząc na ekran. Oglądaj uważnie. W danej chwili świeci się tylko jedna cyfra. Ta metoda nazywa się multipleksowaniem wyświetlacza. Oszukaj swoją wizję, aby dostrzegła pełną liczbę.
Multipleksowanie działa z zegarami. Współpracuje z kalkulatorem. Ale on ma problemy.
- Diody LED szybko wyczerpują baterię.
*7-segmentowa dioda LED wyświetla tylko cyfry.
Liczba wyświetlanych znaków jest ograniczona. A co z literami? A co z symbolami?
Przełącz na wyświetlacz LCD
Alternatywą jest ekran LCD. Te ekrany są wszędzie. Można je łatwo podłączyć do Stamp.
Rozważmy dwuliniowy, 16-znakowy wyświetlacz alfanumeryczny. Ten typ jest dostępny w firmie Jameco. Numer części 150990. Dostępne również w firmie Parallax. Artykuł 27910.
Ten obraz przedstawia typowy wyświetlacz. Jest podłączony do płytki prototypowej. Ułatwia to połączenie. Nie ma potrzeby lutowania przewodów do odsłoniętych pinów. Po prostu wstawiasz je w wiersze.
Jednowierszowy wyświetlacz LCD jest drogi, ale z prostego powodu
Dostajesz to, za co płacisz. Ten typ modułu LCD jest drogi. Jego cena to około 59 dolarów. To nie są takie małe pieniądze jak na amatora. Zdecydowanie nie można go stosować w piecach produkowanych masowo. Marża zniknie przed sprzedażą pierwszego lokalu.
Ale istnieją z jakiegoś powodu. Proces projektowania jest uproszczony. Można sterować całym wyświetlaczem za pomocą tylko jednego styku wejścia/wyjścia (I/O).
Moduł ten zawiera logikę. Przejmuje większość pracy związanej z komunikacją szeregową. Mikrokontroler Stamp musi jedynie wysyłać dane. Polecenie SEROUT w Stamp BASIC sprawia, że jest to trywialne zadanie. Nie są wymagane żadne skomplikowane pętle z synchronizacją. Nie musisz przejmować się specyfikacją protokołu. Sprzęt wykonuje całą pracę.
Funkcje zasilania i wyświetlania
Zużycie energii jest bardzo niskie. To urządzenie zużywa tylko 3 miliampery prądu. Jest to nieistotne w przypadku projektu zasilanego bateryjnie. Zasilany jest standardową baterią 9 V za pośrednictwem płytki stemplowej, która zapewnia niezbędne napięcie +5 V i masę.
Sam ekran jest uniwersalny. Wyświetla tekst alfanumeryczny. Beletrystyka. Takty muzyczne. Możesz także zdefiniować niestandardowe symbole, jeśli chcesz mieć konkretną ikonę. To coś więcej niż tylko migające światło. To jest wynik prawdziwego tekstu.
Prototyp i produkcja
Taka jest rzeczywistość projektowania wbudowanego. Można tworzyć prototypy przy użyciu drogich, ale łatwych w użyciu komponentów. Następnie przeprojektowujesz projekt, aby obniżyć koszty.
Jeśli tworzysz produkt komercyjny, użyjesz tego wyświetlacza za 59 dolarów do przetestowania swojej logiki. Testowanie kodu. Będziesz przekonany, że interfejs działa. Po potwierdzeniu przejdę do tańszego wyświetlacza LCD ogólnego przeznaczenia. Napiszesz własne sterowniki chipa. Zoptymalizuj oprogramowanie. Drogie moduły to narzędzia programistyczne, a nie narzędzia do ostatecznej dostawy.
Połączenie
Podłączenie sprzętu jest bardzo proste. Zastosuj +5 V i masę. Podłącz jeden ze styków we/wy płyty do linii wejściowej monitora.
Wolę używać owijania drutem. To jest czyste. Niezawodny. Nie wymaga lutowania. Będziesz potrzebować narzędzia do zaciskania drutu (część Jameco 34577) i zaciskania drutu o średnicy 30 mm (często wybierany jest Jameco 22541). Struktura połączenia jest zwarta. Wszystko zmieścisz w małej obudowie bez użycia dużej ilości lutownicy.
Struktura i dokładność kodu
Poniższy program w języku BASIC zamienia znaczek w zegar. Zakłada się, że wyświetlacz LCD jest podłączony do styku 0 we/wy.
Logika jest prosta. Polecenie SEROUT obsługuje całą komunikację. Sekwencja (254, 1) służy jako kod ucieczki. Mówi monitorowi, żeby wyczyścił ekran. Sekwencja (254, 135) ustawia pozycję kursora. Wszystko, co musisz zrobić, to wysłać ciąg tekstowy.
Zegarek jest dość dokładny. Możesz zmienić instrukcję PAUSE, konfigurując ją. Można go regulować w każdej sekundzie każdego dnia. Nie jest tak dokładny jak zegary atomowe. Jednak w przypadku urządzeń samodzielnych jest to wystarczające.
To podejście
Proste pętle czasowe mogą odpłynąć. Jeśli potrzebujesz precyzji, będziesz potrzebować sprzętu.
Zegar czasu rzeczywistego (RTC) rozwiązuje problem dryfu. Do utrzymania dokładności czasu używany jest oscylator kwarcowy. Podłącz go do Stampa. Stamp odczytuje dane mniej więcej raz na sekundę. Następnie wyświetl informacje na wyświetlaczu.
Tu nie chodzi tylko o sekundy.
Większość chipów RTC obsługuje również informacje o dacie. Korekty roku przestępnego są wykonywane automatycznie. Twój kod nie powinien obliczać, czy luty ma 28 czy 29 dni. To zadanie chipa.
Użyj zegarka kieszonkowego B
Połączenie RTC i Stamp może być złożone. Linie danych i zegara wymagają wielu pinów. Jest łatwiejszy sposób.
Użyj zegarka kieszonkowego B.
Moduł ten upraszcza połączenie. Użyj połączenia szeregowego. Do komunikacji potrzebny jest tylko jeden pin wejścia/wyjścia (I/O). Zwalnia to styki dla innych czujników i wyświetlaczy.
Urządzenie jest kompaktowe. Jego wielkość jest w przybliżeniu równa jednej czwartej dolara amerykańskiego. Wewnątrz układ zegara, oscylator kwarcowy i układ logiczny szeregowy są zintegrowane w jednym pakiecie.
Gdzie mogę to kupić?
Dwóch głównych dostawców posiada tę część w magazynie. Numer części Jameco to 145630. Parallax sprzedaje go pod numerem części 27962.
Cena też ma znaczenie. Zegarek kieszonkowy B kosztuje około 30 dolarów. Jest to kosztowne w przypadku domowego kontrolera tostera. Nie wbudowałbyś go w urządzenie konsumenckie. Ale do prototypowania? Wystarczająco tanie, aby spróbować.
Wyeliminuj problemy związane z ręcznym zarządzaniem protokołami I2C lub SPI. Napisz mniej kodu. Otrzymasz dokładniejszy czas.
Utwórz termometr cyfrowy
Wiemy już, jak Stamp współpracuje z wyświetlaczem LCD. Teraz dajmy mu możliwość postrzegania otaczającego go świata. Mówiąc dokładniej: buduję termometr cyfrowy. Projekt opiera się na specjalizowanym chipie czujnika temperatury DS1620.
To nie jest tylko rezystor, którego rezystancja zmienia się pod wpływem ogrzewania. DS1620 to kompletny system w jednej 8-pinowej obudowie. Zawiera urządzenie do pomiaru temperatury, przetwornik analogowo-cyfrowy (ADC) i rejestr przesuwny do przetwarzania danych wyjściowych. Posiada również niewielki obszar EEPROM do przechowywania ustawień, takich jak tryb termostatu.
Zrozumienie trybów pracy DS1620
Chipsy są elastyczne. Może pełnić funkcję osobnego termostatu i załączać przekaźnik, gdy temperatura przekroczy wartość progową. Alternatywnie można go podłączyć do mikrokontrolera i używać wyłącznie jako precyzyjnego termometru. EEPROM zapamiętuje wybrany tryb i ustawienia.
Podłączenie do BASIC Stamp jest również łatwe. Nie są wymagane żadne skomplikowane diagramy. Postępuj zgodnie ze specyfikacjami stosu.
- Pin 8: Zasilanie +5 V.
- Pin 4: Masa (GND).
- Pin 1 (Dane): Linia danych. Bity wchodzą i wychodzą przez ten pin.
- Pin 2 (Zegar): Linia zegara. Synchronizuje transfer danych.
- Pin 3 (Reset/Wybór): Przewód sterujący. Po aktywacji następuje komunikacja z chipem. Niski poziom uniemożliwia wybór.
W tym przykładzie podłączamy je do określonych pinów wejścia/wyjścia (I/O) Stamp.
- Dane (pin 1) są podłączone do pinu stempla 2.
- Sygnał zegara (pin 2) jest podłączony do pinu stempla 1.
- Reset (pin 3) jest podłączony do pinu stempla 0.
Warto zainwestować w pakiet aplikacji firmy Jameco lub Parallax. Ten dokument eliminuje zgadywanie dotyczące ustawień konfiguracyjnych.
Obwód ten można zbudować na płytce prototypowej Stamp Vector lub płycie prototypowej. Po podłączeniu DS1620 podłącz wyświetlacz LCD do pinu 3 wejścia/wyjścia. Następnie załaduj następujący kod BASIC.
Uruchom ten program. Wyświetlacz LCD pokazuje temperaturę w stopniach Celsjusza z dokładnością do 0,5 stopnia.
Jak działa uzupełnienie do 2 w DS1620
DS1620 nie wysyła liczb pierwszych. Mierzy temperaturę z przyrostem co 0,5 stopnia Celsjusza i wyświetla 9-bitową liczbę z uzupełnieniem do dwójki.
Dlaczego to jest ważne? Prawidłowe postępowanie z ujemnymi temperaturami. Zakres wynosi od -55°C do +125°C (od -110°F do +250°F). Podziel tę wartość przez dwa, aby uzyskać pomiar w stopniach Celsjusza.
Kod uzupełnienia do dwóch to standardowy sposób, w jaki komputery reprezentują liczby całkowite ze znakiem. Najbardziej znaczący bit (skrajny z lewej strony) to bit znaku. Jeśli wynosi 0, liczba jest dodatnia. Jeśli 1, liczba jest ujemna.
Spójrzmy na przykład dla 4 bitów. Wartości te reprezentują zakres od -8 do +7, a nie od 0 do 15.
0111jest równe 70000równa się 01000równa się -81111jest równe -1
Aby przekonwertować liczbę ujemną na liczbę dodatnią i wyświetlić ją, odwróć wszystkie bity i dodaj 1. Ten kod właśnie to robi w procedurze display. Sprawdź bit8 (bit znaku 9-bitowego wyniku). Jeśli liczba jest ujemna, odwróć „b0” i dodaj 1. Następnie przesuń ją w prawo, aby otrzymać część całkowitą.
Wyodrębnianie logiki kodu
Program ten wykorzystuje trzy procedury do sterowania protokołem komunikacyjnym.
Definicje postaci
Ten kod używa „symbolu” do mapowania fizycznych numerów PIN na nazwy czytelne dla człowieka. RST, CLK, DQ odpowiadają pinom Stamp 0, 1, 2. Dzięki temu Twój kod jest przenośny. Nawet jeśli zmienisz definicję „symbolu”, reszta logiki pozostanie taka sama.
Procedura przeniesienia (shift_out)
shift_out pobiera bajty z b0 i wysyła je jeden bit na raz.
1. Przypisz wyjście danych („DQ”) jako wyjście.
2. Wykonaj cykl 8 razy.
3. Sprawdź najmniej znaczący bit „b0”.
4. Pociągnij pin zegara w dół, ustaw pin danych na ten bit i przesuń pin zegara do góry.
5. Przesuń „b0” w prawo, aby następny bit przesunął się na pozycję najmniej znaczącego bitu.
Procedura odbioru (shift_in)
shift_in wczytuje 9-bitową wartość temperatury do w0.
1. Skonfiguruj wyjścia danych jako wejścia.
2. Wykonaj cykl 9 razy.
3. Przesuń trzpień zegara w dół.
4. Przeczytaj stan wyjścia danych w `.
Kod nie tylko odczytuje dane. On kładzie fundament. Ustawia oczekiwany stan pinów CLK i RST układu DS1620. To jest pierwszy krok.
Następnie przychodzi konfiguracja. Mikrokontroler zapisuje bajt polecenia do pamięci nieulotnej DS1620. Przełącza chip w „tryb termometru”. Oto sedno. Szablony konfiguracji zapisywane są w pamięci nieulotnej. Tę operację należy wykonać tylko raz. Technicznie rzecz biorąc, po pierwszym uruchomieniu można usunąć tę część kodu, oszczędzając cenne miejsce na program. Ale czy warto to robić? Bezpieczniej będzie ją zostawić.
Następnie program wysyła polecenie $EE. Należy pamiętać, że przedrostek „$” oznacza liczbę szesnastkową. Wartość dziesiętna $EE wynosi 238. Rozpoczyna się proces konwersji. Termometr zaczyna działać.
Następnie rozpoczyna się cykl.
Stamp co sekundę odpytuje DS1620 o aktualną temperaturę. Układ odpowiada wartością 9-bitową. Wartość ta jest przechowywana w zmiennej w0. Transfer danych następuje stopniowo. Stamp przełącza linię CLK w DS1620, aby przesunąć bity do wewnątrz.
Struktura zmiennej jest hierarchiczna. w0 (16 bitów) obejmuje b0/b1 (8 bitów) i obejmuje bit0 do bit15 (1 bit). Ten kod dzieli w0 przez dwa, gdy pojawia się bit 8. To przesuwa każdy bit w prawo. Jest to świetny sposób na spakowanie 9-bitowych wartości temperatury w jedną zmienną.
Kiedy w0 zapisuje dane, są one przekazywane do procedury ekranowej. Sprawdza, czy liczba jest dodatnia czy ujemna. Formatuje dane wyjściowe dla wyświetlacza LCD. Wyniki wyświetlane są w stopniach Celsjusza. Jeśli potrzebujesz temperatury Fahrenheita, konwersja jest łatwa.
dF = dC * 9/5 + 32
To bardzo proste. To działa. Masz teraz bardzo drogi termometr.
Po co płacić tak dużo?
Wyobraź sobie, że pracujesz dla firmy farmaceutycznej. Dostarczacie drogie leki na terenie całego kraju. Leki te należy przechowywać w określonej temperaturze. Rozmrażanie lub zamrażanie spowoduje ich uszkodzenie. Kompletna strata.
Możesz użyć Stampa do stworzenia termometru z rejestrem danych.
Jameco sprzedaje pakiet pamięci RAM (numer części 143811). Parallax sprzedaje również ten sam produkt (numer części 27960). Jest to energooszczędny układ 8 KB RAM z interfejsem szeregowym. Jeśli potrzebujesz więcej miejsca, możesz wybrać także wersję 32 KB.
Dodaj ten komponent do swojego stempla. Napisz kod, który co minutę zapisuje odczyty temperatury w pamięci RAM. Włóż pieczątkę do partii leku. Otrzymasz pieczątkę, gdy dotrze ona do miejsca przeznaczenia. Moduł RAM rejestruje teraz historię temperatur z całej podróży. Będziesz mieć pewność, czy leki kiedykolwiek przekroczyły akceptowalne specyfikacje.
To tylko jedno zastosowanie. Kiedy już zrozumiesz, jak działają mikrokontrolery, będziesz mógł używać Stamp do tworzenia niezliczonych przydatnych urządzeń.
Więcej informacji na temat mikrokontrolerów i tematów z nimi związanych można znaleźć pod linkami na poniższych stronach:
Specyfikacje stały się grubsze. To nie jest poradnik, który można przeczytać raz i zapomnieć. „Grubszy” w tym sensie, że pojawiły się liczby rzeczywiste. Liczby te pokazują dokładnie, co potrafi urządzenie przed jego zakupem. A liczb jest jeszcze więcej. Następnie pojawia się zastrzeżenie dotyczące żywotności baterii. Technicznie jest to prawda, ale praktycznie bezużyteczne.
Sprawdzanie rzeczywistości sprzętowej
Dostajesz procesor. Jest szybki. Szybciej niż poprzednio. Szybszy niż stare laptopy, który brzmi jak startujący silnik odrzutowy za każdym razem, gdy otwierasz arkusz kalkulacyjny. Ale to nie jest magia. Ten chip nie sprząta pokoju. Po prostu przetwarza dane. Szybko. Bardzo szybko. Jeśli edytujesz filmy. Lub napisz kod. A może masz otwartych 50 kart i zastanawiasz się, dlaczego Twój laptop tak się nagrzewa?
Ekran stał się jaśniejszy. To jest główna zaleta. Można to zobaczyć na ulicy. Bez mrużenia oczu. Nie chcę, żeby Twoje oczy miały wbudowany HDR. Kolory są dokładne. Jeśli jest to dla Ciebie ważne. Jeśli jesteś projektantem. Lub po prostu zmęczony zdjęciami, które wyglądają, jakby zostały zrobione w jaskini.
Dalej jest waga. Jest lżejszy. Ale nie bez wagi. Nadal możesz to wyczuć w torbie. Robi mocne wrażenie. Przypomnienie, że nosisz ze sobą laptopa. To nie jest tablet. To nie jest dosłowny notatnik. Komputer. Z portami. Prawdziwe porty. To nie jest adapter dokujący. Nie adaptery, które kosztują więcej niż samo urządzenie. To jest ważne. Bardzo ważne. Ponieważ adaptery stacji dokującej ulegają uszkodzeniu. Adaptery zostały utracone. Porty pozostają.
Funkcje i aktualizacje oprogramowania
System operacyjny jest taki sam. Głównie. Ale są też zmiany. Małe. Co zauważysz za tydzień? Nie od razu. Nowa ikona pojawi się natychmiast. Nowa kolorystyka. Gdy otwierasz aplikację, z której korzystałeś 10 minut temu, występuje niewielkie opóźnienie.
Aktualizacje odbywają się automatycznie. To jest dobre. I źle. To dobrze, bo nie musisz się martwić o poprawki bezpieczeństwa. Jest to niedobre, ponieważ komputer może się ponownie uruchomić, gdy myślisz, że na dzisiaj już masz dość. Dzieje się to w niedogodnym momencie. Tuż przed zapisaniem dokumentu. Lub tuż przed spotkaniem.
Ten pakiet oprogramowania jest dołączony. To zawsze jest ze sobą powiązane. Masz edytor tekstu. Stoły. Narzędzia do prezentacji. Pracują razem. Nie zawsze dobrze. Ale próbowali. Istnieje synchronizacja z chmurą. Jest szybka. Zazwyczaj. Czasami przestaje. Następnie musisz ponownie uruchomić aplikację. Wtedy pozostaje już tylko modlitwa.
Pułapka ekosystemowa
Jest to część, którą ludzie ignorują, dopóki nie jest za późno. Urządzenie nie istnieje w próżni. Mieszka w ogrodzie. W ogrodzonym ogrodzie. Możesz wyjść. Ale dlaczego to robimy? Te aplikacje zostały starannie wybrane. To połączenie jest głębokie. Telefon komunikuje się z laptopem. Zegarek mówi telefonowi, co ma robić. To bardzo wygodne.
Ale to też ogranicza. Kiedy zmieniasz markę. Ta wygoda została utracona. Przełączanie kanałów znika. Zgubiłem udostępniony schowek. Nie mogę odbierać połączeń na laptopie. To wydaje się być drobnostką. Ale to nieprawda. To codzienne tarcia. Dodaj trochę podrażnienia.
Reszta to cena akcesoriów. To nie jest cena. Zapłata. Własny kabel. Specjalna ładowarka. To idealna sytuacja. To jest drogie. I są piękne. I




















