Darmowe Arduino z napędu optycznego? (film, 9 minut)
W dzisiejszym odcinku ELEKTRON dzieli się pomysłem na wykorzystanie napędu DVD jako prostego narzędzia do programowania i zabawy z elektroniką. Autor znalazł w śmieciach napęd DVD i postanowił go przerobić na urządzenie, które będzie działać na zasadzie Arduino. Wykorzystując komponenty z praktycznie niekompletnej płytki PCB, autor dokonał analizy głównego kontrolera oraz kilku układów, które znajdują się na płytce. Wiele z tych układów jest znanych hobbystom, jednak każdy napęd ma swoje unikalne szczegóły, co sprawia, że zadanie stało się wymagające, ale i ekscytujące.
Początkowo, ELEKTRON przeanalizował schemat urządzenia i odkrył, że napęd DVD ma dostęp do pamięci ROM, co ułatwiło proces programowania. Autor wykorzystał popularny rdzeń 8051, co pozwoliło mu na stworzenie prostego projektu. W wyniku pracy z płytką udało mu się stworzyć kilka działających przykładów, w tym tradycyjne „BLINK”, które jest podstawowym testem wśród programistów Arduino. Dzięki temu, ELEKTRON udowodnił, że nawet z pozornie bezużytecznego sprzętu można wyczarować coś ciekawego, co inspiruje innych do eksperymentów.
W dalszej części odcinka, autor postanowił skupić się na przesyłaniu danych z użyciem rejestru przesuwnym 74HC164. Dzięki temu ELEKTRON zdołał podłączyć wyświetlacz LCD HD44780 do swojej płytki, co umożliwiło prezentację danych w prosty sposób, bez nadmiaru skomplikowanych bibliotek. Widzowie mogą zobaczyć, jak z zastosowaniem rejestru przesuwnego można sprostać ograniczeniom ilości pinów, pozostawiając jednocześnie przestrzeń na inne zadania programowe.
Kolejnym ciekawym pomysłem w odcinku było zbudowanie nietypowego zegarka z funkcją odliczania w dół. ELEKTRON po raz kolejny pokazuje, jak ciekawie można podejść do tematu programowania, angażując swoich widzów i zachęcając ich do dzielenia się swoimi pomysłami. Warto zaznaczyć, że ELEKTRON dziękuje swojej widowni za wsparcie, co znacząco motywuje go do dalszej pracy. To podejście, polegające na tworzeniu z przyjemnością i w towarzystwie innych pasjonatów, tylko zwiększa wartość jego projektów.
Na koniec, autor wprowadził temat wykorzystania timerów, aby uzyskać efekt pozytywki, co niosło ze sobą dodatkowe wyzwania programistyczne. ELEKTRON zachęca do własnych poszukiwań i eksperymentów z użyciem napędów DVD, pokazując, że elektronika i programowanie mogą być zarówno zabawą, jak i doskonałym sposobem na rozwój umiejętności. Z aktualnym wynikiem 97269 wyświetleń i 3062 polubieniami, widać, że jego prace są doceniane przez rosnącą społeczność.
Toggle timeline summary
-
Wprowadzenie do programu o używaniu napędu DVD jako darmowego Arduino.
-
Dyskusja na temat użytych komponentów, w tym wyświetlacza HD44780 i pozytywki.
-
Wspomnienie o transmisji szeregowej i budziku ogniowym.
-
Twórca wyjaśnia swój proces badania komponentów napędu CD-DVD.
-
Podziękowanie publiczności za wsparcie.
-
Prezentacja PCB z napędu DVD, z wglądem w jego powszechność.
-
Celem PCB jest niedokończony; dostępna jest tylko elektronika.
-
Badanie użytego układu i dzielenie się ustaleniami z karty katalogowej.
-
Omówienie działania zewnętrznej pamięci ROM.
-
Wyjaśnienie znaczenia układu pinów na podstawie odzyskanej dokumentacji.
-
Dostosowanie obwodu do działania jako Arduino.
-
Badanie metod przesyłania programu przedstawionych w dokumentacji.
-
Wstępne próby z programami przykładowymi, zaczynając od przykładu BLINK.
-
Zasilanie płyty, aby zobaczyć ją w akcji.
-
Prezentacja wyświetlacza LCD i potrzeba połączeń pinowych.
-
Wykorzystanie rejestru przesuwającego, aby zmniejszyć użycie pinów dla LCD.
-
Demonstrowanie LCD zasilanego przez obwód napędu DVD.
-
Dyskusja na temat eksperymentów z innym typem wyświetlacza, wyświetlaczem 7-segmentowym.
-
Tworzenie unikalnego timera odliczającego na cześć przekroczenia 24 000 subskrybentów.
-
Dzielenie się wdzięcznością za wsparcie i zachętę od widzów.
-
Przechodzenie do szczegółów dotyczących projektu pozytywki z użyciem timerów.
-
Rewelacja na temat wyzwań w programowaniu pozytywki.
-
Końcowe myśli na temat zakresu i potencjalnych ograniczeń projektu.
-
Zaproszenie dla widowni do dalszego zaangażowania w nadchodzące projekty.
Transcription
W dzisiejszym programie napęd DVD jako twoje darmowe Arduino wyświetlacz HD44780 pozytywka transmisja szeregowa budzik z fajerwerkami i oczywiście BLINK To wszystko bezpośrednio na scalaku z napędu CD-DVD, który znalazłem w śmieciach By tego dokonać stanąłem na głowie, ale czego się nie robi dla moich widzów? DZIĘKUJĄCYM ZA POZUCHĘ Pokaż kotku co masz w środku Dzisiejszym bohaterem jest PCB z napędu płyt Napędy są bardzo popularne i każdy chyba już taki rozbierał Nasz obiekt badań jest niekompletny Mam tylko elektronikę, a reszta do mnie albo nie dotarła, albo została zutylizowana Na płytce znajduje się główny kontroler, pamięć flash i kilka dodatkowych układów Na potrzeby tego materiału rozbieram ich bardzo dużo i... każdy jest inny, każdy stosuje inne sterowniki Jak większość już zauważyła, są to specjalne układy, które skromnie są opisane w internecie Ja się jednak nie poddawałem i ostatecznie dokopałem się do tego jakże przepastnego dataszytu Wśród sterty nieistotnych informacji odnalazłem zmiankę o rdzeniu Jest to dla nas luksusowa sytuacja, bo 8051 znamy doskonale Kolejnym plusem jest to, że pamięć programowa ROM znajduje się na zewnątrz Nie musimy się więc martwić o specjalistyczne programatory Po długim kopaniu w internecie odnalazłem dokumentację do jakiegoś urządzenia, które wykorzystuje dokładnie ten scalak Mamy dzięki temu rozkład pinów, ale to wszystko, szczegółów brak Część schematu pokrywa się z naszym napędem, choć jest to nikły procent Robimy Arduino z DVD Przystosujemy teraz tą płytkę do zabaw w programowanie mikrokontrolerów Wymagane jest zasilanie tylko 5V, 12V nie jest obowiązkowe By niczego nie uszkodzić, wylutowałem zbędne elementy Posiłkując się schematem, znalazłem wyprowadzenia pinów Niestety mamy tylko jeden port, czyli 8 pinów wejścia-wyjścia Trochę lipnie, ale jakoś sobie poradzimy Dokumentacja wspomina o możliwości uploadu programu po PATA, ale nie mówi w jaki sposób Wylutowałem więc kość pamięci flash I w jej miejsce dałem podstawkę, by można łatwo operować ROM-em Zrobiłem sobie kopię za posałem wsadu Nic ciekawego tam nie ma By wykop mi znów nie zarzucił, że robię clickbyty, przygotowałem dla Was kilka działających przykładów BLINK, by tradycji stało się zadość, jako pierwszy piszemy BLINK Do zabawy zaprosiłem Kailh Microvision 5 w wersji darmowej Minusem tego jest to, że wsad zawiera potężny offset, który uniemożliwia wgranie kodu do małych scalaczków Na miliony poradników w internecie, żaden gnojek nie był łaskawy o tym wspomnieć Przez to straciłem kiedyś strasznie dużo czasu, nie wiedząc dlaczego mój BLINK nie działa Dla naszego szczególnego przypadku nie robi to nam żadnej różnicy Bo mamy ogromną ilość wolnego miejsca pamięci programowej W opcjach trzeba ustawić, by wypluło nam plik HEX Kompilujemy W aplikacji programatora wybieram nasz wsad Wgrywamy Zasilamy płytkę Miga! No to idziemy dalej! Transmisja szeregowa. Mamy mało pinów, trzeba je jakoś roznożyć Istnieją expandery I2C, ale można jeszcze prościej To jest rejestr przesuwny 74HC164 Podajemy mu dane szeregowo, a pinem CLK przesuwamy je Pokażę Wam teraz jego użycie w praktyce Wyświetlacz LCD Wyświetlacze HD44780 są dobrze znane wszystkim hobbystom Większość wrzuca bibliotekę i ma to z głowy Do jego sterowania potrzeba aż 6 pinów w trybie 4 bit lub aż 10 w trybie 8 bitowym To dla nas zdecydowanie za dużo Wykorzystamy więc sztuczkę z rejestrem przesuwnym Działanie Do wyświetlacza wysyłamy szeregowo dane Pin DATA rejestru jest współdzielony z pinem RS wyświetlacza Więc po przesłaniu danych szeregowo musimy ustawić jego żądany stan i nie ruszać już więcej CLK by nie zmienić stanu rejestru, a tylko jeden pin Jeśli wszystko będzie już gotowe możemy odpalić PIN ENABLE Wyświetlacz wtedy pobierze sobie dane Po pierwsze musimy dokonać inicjalizacji LCD Dokładny jego algorytm znajdziecie w opisie pod filmem Wysyłamy te paczki danych i LCD jest gotowe do odbierania ASCII To tyle Proste jak budowa cepa i zero bibliotek No! Złota! Oczy Was nie mylą Właśnie wysterowałem LCD za pomocą płytki z napędu DVD Nietypowy minutnik Będąc w temacie szeregowego przesyłania danych spróbujmy pobawić się innym wyświetlaczem 7 segmentowym By nie było tak zwanych duszków, najpierw włączamy odpowiednie segmenty a dopiero później zasilamy wspólną elektrodę Możemy też liczbę dzielić na jednostki i dziesiątki a następnie prezentować na wyświetlaczu z dwoma znakami A teraz uwaga! Niespodzianka! Jest nas ponad 24 tysiące Z tej okazji napisam taki nietypowy zegarek ze śmiesznym odliczaniem w dół Już teraz Was ostrzegam, by tego nie naśladować bo skończycie jak wejserek Dziękuje Wam, że ze mną jesteście i śledzicie moje szalone pomysły Wasze kibicowanie daje mi mnóstwo nieograniczonej energii Czuję się trochę tak, jakby do mojej piaskownicy przyszli inni i chcieli się ze mną bawić a jako zgrana społeczność możemy osiągnąć więcej A więc, do zobaczenia w następnym odcinku Cześć! Pozytywka By stworzyć pozytywkę, czyli program grający melodyjkę musiałem sięgnąć po tajmery Bardzo długo unikałem ich jak ognia Przez wiele lat pisania w Arduino ich konfigurowanie było przede mną ukrywane Jak się okazuje, to nie jest wcale takie trudne Metodą prób i błędów odkryłem koło na nowo Po pierwsze, tajmery to spoko bajer w praktycznie każdym MCU Odpowiednio używane, pozwalają odciążyć nasz krzem z mozolnego zadania liczenia Posiadają kilka trybów pracy ale my zajmiemy się dziś tylko tym jednym, konkretnym Matka leje mleko do garnka i każe nam pilnować My krzyczymy MAMA! MLEKO WYKIPIAŁO! i... o to było tyle krzyku Prawdopodobnie jest to najgorszy kod, który się skompilował ale się skompilował Mogę użyć drugiego tajmera do precyzyjnego odmierzania długości nut ale chrzanić to to jest pozytywka, a nie system naprowadzania głowic nuklearnych Zwróćcie proszę uwagę, że na YouTube jest tysiące filmów z grających stacji dyskietek, napędów CD-DVD ale nikt, nikt nie generuje melodii bezpośrednio samą stacją Wykorzystują do tego zewnętrzny mikrokontroler a stacja jest używana w zasadzie tylko jako dźwięk Jeśli miałbym cały taki napęd z tym scalakiem to mógłby grać on sam z siebie bez zewnętrznych sterowników ograniczenia Z nieznanych mi przyczyn scalak robi się dosyć mocno ciepły wypada dać mu radiatorek, który ostudzi jego temperament Mamy tylko jeden port, więc nie ma szału Myślę, że jest to bardziej sztuka dla sztuki zachęta do nauki programowania niż jakiś faktyczny konkurent płytek rozwojowych Jeśli macie jakiś zdanie, to możecie go zaprosić Pomiędzy filmami bardzo często dodaję posty na karcie społeczność gdzie Was serdecznie zapraszam Do zobaczenia wkrótce!