Menu
About me Kontakt

In today's episode, ELEKTRON shares a fascinating idea of transforming a DVD drive into a simple tool for programming and electronics fun. The author found a DVD drive in the trash and decided to repurpose it into a device that functions similarly to Arduino. By utilizing components from a practically incomplete PCB, ELEKTRON dives into the main controller and several circuits present on the board. Many of these circuits are familiar to hobbyists, but each drive has its unique details, creating a challenging yet exciting task.

Initially, ELEKTRON analyzed the device's schematic and discovered access to external ROM memory, which streamlined the programming process. He used the well-known 8051 core for creating a straightforward project. As a result of his work with the board, he managed to compile several functioning examples, including the traditional ‘BLINK’, a fundamental test among Arduino programmers. By doing this, ELEKTRON demonstrates that even seemingly useless hardware can be transformed into something interesting, inspiring others to experiment.

In the next part, the author focused on data transmission using the 74HC164 shift register. This allowed ELEKTRON to connect an HD44780 LCD display to his board, enabling data presentation in a simple way without excessive complicated libraries. Viewers can see how using a shift register can meet the pin limitations while leaving room for other programming tasks.

Another intriguing idea presented in the episode was the creation of an unconventional countdown timer. Once again, ELEKTRON showcases how one can approach programming creatively, engaging his audience and encouraging them to share their ideas. It's worth noting that he expresses gratitude to his viewers for their support, which significantly motivates him in his work. This approach, centered on creating with enthusiasm and alongside fellow enthusiasts, only increases the value of his projects.

Finally, the author introduced the use of timers to achieve a music box effect, which brought additional programming challenges. ELEKTRON invites viewers to explore and experiment with DVD drives, showing that electronics and programming can be both a fun and an excellent way to develop skills. With a current count of 97,269 views and 3,062 likes, it's evident that his work is appreciated by a growing community.

Toggle timeline summary

  • 00:00 Introduction to the program about using a DVD drive as a free Arduino.
  • 00:04 Discussion about the components used, including an HD44780 display and a musical box.
  • 00:11 Mention of serial transmission and a firework alarm clock.
  • 00:21 The creator explains their process of investigating the components of a CD-DVD drive.
  • 00:30 Gratitude towards the audience for their support.
  • 00:48 Introduction of the PCB from a DVD drive, with insight into its commonality.
  • 00:59 The target PCB is incomplete; only the electronics are available.
  • 01:16 Researching the chip used and sharing findings from the datasheet.
  • 01:30 Discussion of how the external ROM memory works.
  • 01:46 Explaining the importance of pin layouts from recovered documentation.
  • 01:52 Adapting the circuit to function as an Arduino.
  • 02:16 Exploration of program upload methods provided in the documentation.
  • 02:29 Preliminary attempts with sample programs, beginning with the BLINK example.
  • 03:44 Powering the board to see it in action.
  • 04:05 Introduction of an LCD display and the need for pin connections.
  • 04:24 Utilizing a shift register to reduce pin usage for the LCD.
  • 04:59 Demonstrating the LCD powered by the DVD drive circuit.
  • 05:12 Discussing experimentation with another type of display, the 7-segment display.
  • 05:39 Creating a unique countdown timer to celebrate reaching over 24,000 subscribers.
  • 05:52 Sharing appreciation for viewer support and encouragement.
  • 06:19 Transitioning to details about a music box project using timers.
  • 07:01 Revealing details about the challenges faced while programming the music box.
  • 07:53 Concluding thoughts on the scope and potential limitations of the project.
  • 08:15 Invitation to the audience for continued engagement with upcoming projects.

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!