Obserwuję niskopoziomowa ławka do nauki HD44780po zdobyciu pierwszej nagrody w jednym z konkursów autor Instructables pod pseudonimem indoorgeek postanowił zająć kolejne podobne stanowisko. Tym razem użytkownik, który chce poczuć się w butach „życia” Arduino”, Można kontrolować rejestr przesuwny - ważny element matrycowych wyświetlaczy LED i nie tylko.
Urządzenie wykorzystuje rejestr przesuwny 74HC595, który najczęściej spotyka się w praktyce arduino, a także można użyć kompatybilnego КР1564ИР52. Korzystając z trzech takich mikroukładów, możesz na przykład zmienić pięć wyjść mikrokontrolera w dwadzieścia cztery! I proponowane domowej roboty Wyraźnie pokaże, jakie procesy zachodzą.
Indoorgeek zmontował taki stojak w dwóch wersjach: na zwykłej desce i na takiej, jak ta:
Możesz to zrobić, jak chcesz, a nawet zastosować instalację wolumetryczną lub wykonać płytkę drukowaną. O wiele ważniejsze jest, aby nie popełniać błędów podczas montażu, niż spierać się o jego metody.
Komponenty w projekcie są następujące: jeden rejestr przesuwny typu wskazanego powyżej, gniazdo dla 16-stykowego mikroukładu (można to zrobić bez niego), osiem diod LED, ta sama liczba rezystorów jednohomowych, trzy rezystory 10 Ω, trzy przyciski, a także karta adaptera z gniazdem Micro USB Jeśli masz bardzo proste ramiona, możesz po prostu wziąć gniazdo Micro USB i wlutować do niego dwa przewody. A jeśli nie chcesz być oryginalny, możesz po prostu użyć przewodu ze zwykłym złączem USB. Tylko polaryzacja we wszystkich przypadkach, nie myl, cóż, nie układaj zwarcia.
Nasz rejestr przesuwny jest naukowo nazywany ośmiobitowym rejestrem przesuwnym z trzema stanami. Pierwszy oznacza, że ma osiem jednobitowych komórek pamięci i taką samą liczbę wyjść, a drugi - że każdy z bitów binarnych może przyjąć jeden z trzech stanów: zero, jeden i wysoką impedancję. To nie jest przekleństwo, ale imitacja klifu, jakby w ogóle nie był połączony. Wyjście w stanie o wysokim skoku, jak mówią, nie przeszkadza: można go pociągnąć rezystorem co najmniej do zera, nawet do jedności, a on posłusznie „zgadza się”. Ale jeśli przejdzie w stan zero lub jeden, otrzyma priorytet, ponieważ niska impedancja wyjściowa mikroukładu obezwładni twój rezystor.
Mikroukład ma pięć wejść.Jak zapewne czytelnik już odgadł, że przy tak małej liczbie wejść, aby uzyskać tak wiele wyjść, musisz odbierać informacje szeregowo i wysyłać je równolegle. W ten sam sposób piszesz na klawiaturze lub piszesz na papierze, litera po literze, a następnie widzisz cały tekst na raz. Jeśli podłączysz kilka rejestrów przesuwnych szeregowo, możesz zwiększyć liczbę wyjść o odpowiednią liczbę razy, ale przy tej samej prędkości przesyłania danych długi łańcuch rejestrów zapełni się dłużej. Analogia: zapisanie kilku arkuszy papieru zajmuje więcej czasu niż wypełnienie tylko jednego z tą samą prędkością.
Ale rejestr przesuwny różni się od papieru tym, że dane w nim są automatycznie przesuwane, stąd nazwa. Zapisujesz w nim kolejny bit, a wszystkie poprzednie są przenoszone dalej do rejestru lub ich łańcuchów, tego samego, który był na końcu, zanim zniknął. Wyobraź sobie rurkę wypełnioną kulkami, z których niektóre są zwyczajne, inne świecące. Umieść w nim następną piłkę - normalną lub świecącą, a inna kula wyleci z przeciwnej strony.
Zapoznajmy się z celem wejść układu. Z jakiegoś powodu indoorgeek postanowił je wymienić w odwrotnej kolejności, tak jak przed wystrzeleniem statku kosmicznego. Do wprowadzenia danych szeregowych potrzebny jest czternasty pin. To jest jak taca, na której kładzie się zwykłą lub świecącą piłkę przed wpychaniem jej do tuby. 13. wniosek - włączenie wyników. Jeśli zostanie zastosowane zero, wyjścia zostaną włączone, jakby słuchawka stała się przezroczysta. Dajemy jeden - a tuba stała się nieprzezroczysta, jakie kule i w jakiej kolejności tuba jest wypełniona, nie jest widoczne. Oznacza to, że wszystkie wyjścia rejestru przesuwnego przeszły w stan wysokiej impedancji. W rozważanej konstrukcji wniosek ten jest zawsze doprowadzany do zera, co odpowiada zawsze przezroczystej rurce. 12. wniosek jest rodzajem migawki aparatu. Kiedy jest zero, obraz, który widz widzi przez rurkę, nie odzwierciedla faktycznego stanu kulek w niej, ale ten, który zaobserwowano, kiedy jednostka była ostatnio widziana na tym wniosku. Jeśli tak, ruch kulek w rurze można obserwować w czasie rzeczywistym. Aby wszystko to działało zgodnie z opisem, w mikroukładzie oprócz rejestru przesuwnego znajduje się rejestr pamięci. Jedenasty wniosek to taktowanie, czyli pchanie piłki z tacki do tuby. Dajemy tam jednostkę w momencie, gdy potrzebna nam wartość znajduje się na 14. wyjściu, i nie usuwając jej stamtąd, usuwamy jednostkę z 11. wyjścia. 10. wniosek jest resetem. Jeśli zostanie zastosowane zero, będzie to równoznaczne z utratą właściwości świetlnych przez wszystkie kulki w tubie. Przesyłając jednostkę do wejścia resetowania, możesz zacząć napełniać tubę zwykłymi i świecącymi kulkami w dowolnej kolejności, jak opisano powyżej. Na rozważanym stanowisku zawsze jest jednostka. Konkluzja 15, a także konkluzje 1 do 7, są wyjściami rejestru przesuwnego. Zasilanie jest dostarczane jak w większości szesnasto-pinowych obwodów cyfrowych: 8 - wspólny przewód, 16 - plus pięć woltów. Wreszcie, pin 9 jest wyjściem do następnego rejestru przesuwnego, który można połączyć szeregowo z kilkoma elementami, tak jakbyś zrobił jedną długą rurkę z kilku krótkich. Zasadniczo łączymy pin 9 poprzedniego rejestru z pinem 14 następnego i cieszymy się. Możesz w ten sposób ulepszyć proponowany produkt domowy.
Ponieważ jest to drugie stanowisko dla badaczy wewnętrznych, fobia przed rezystorami podciągającymi, opisana w poprzednim artykule, powoli znika z niego. Tutaj są już trzy z nich, co pozwoliło nam użyć normalnie otwartych przycisków zamiast przycisków przełączania. Jako podciągnięcia zastosowano rezystory 10-kilo-omowe, a rezystory 1-kilo-omowe dla diod LED. Podobnie jak w poprzednim projekcie, równolegle do przycisku zegara (11. wyjście), dobrze jest podłączyć kondensator o wartości 100 μF i co najmniej 6,3 V plus do plusu zasilacza, a minus do mikroukładu i rezystora. Okaże się najprostszym kontaktowym tłumikiem odrzuceń.
Powtórz po Indoorgeek:
Udało ci się także:
Teraz jak korzystać z tego wszystkiego. Aby włożyć świecącą kulę do tuby, naciśnij przycisk podłączony do zacisku 14, a następnie trzymając go, naciśnij przycisk podłączony do zacisku 11, a następnie zwolnij go. Następnie zwolnij przycisk podłączony do styku 14.Aby zrobić to samo z kulą nie świecącą, z przyciskiem podłączonym do zacisku 14, nic nie robimy, a następnie naciśnij i zwolnij przycisk podłączony do zacisku 11. Możesz więc pisać w rejestrze przesuwnym i kilka bitów. W obu przypadkach, gdy przycisk zostanie zwolniony, podłączony do zacisku 12, stan diod LED nie zmieni się, a po naciśnięciu będzie odzwierciedlał stan rejestru przesuwnego w czasie rzeczywistym. Jeśli zdecydujesz się nie trzymać tego przycisku wciśniętego podczas nagrywania, naciśnij go teraz krótko, a rejestr pamięci zrobi zdjęcie bieżącego stanu rejestru przesuwnego.
Ponieważ rura i kulki są wirtualne, a mikroukład i diody LED są prawdziwe, dla widza każda kula spadająca z przeciwnej strony rurki znika. Byłby inny rejestr, on się tam przeprowadził. Możesz ulepszyć ten projekt, dodając ten rejestr, a nawet kilka z nich i osiem kolejnych diod LED z rezystorami dla każdego z nich. Jak wskazano powyżej, styk 9 każdego poprzedniego rejestru musi być podłączony do styku 14 następnego. A zasilanie i wejścia 10, 11, 12 i 13 wszystkich rejestrów są równoległe.
Więc masz pojęcie o tym, jakie operacje wykonuje Arduino, kontrolując rejestry zmiany.