Przeszukaj forum
Pokazywanie wyników dla tagów 'atmega32'.
Znaleziono 3 wyniki
-
Tester elementów elektronicznych na Atmega328P i LCD Nokia 5110 Opis konstrukcji Tester powstał w celu nauki rysowania schematów w Eagle oraz nauki podstaw programowania mikroprocesorów. Dodatkowo jest małych rozmiarów. Po raz pierwszy zastosowałem elementy SMD. Oczywiście wzorowałem się na dostępnych w sieci schematach, wykorzystałem doświadczenie autorów innych tego typu konstrukcji. Nowością jest wykorzystanie LCD Nokia5110/3110. Oczywiście można kupić obecnie testery o podobnych rozmiarach z wyświetlaczami kolorowymi, ale nic się wtedy nie nauczymy. Schemat i widok płytki w Eagle: No i fotki wykonanej konstrukcji: Aby ułatwić możliwość wymiany serca naszego projektu - procesora Atmega32 i podstawki testowej ZIF14 (procesor mozna uszkodzić nie rozładowanym kondensatorem, natomiast podstawka pomiarowa ZIF zużywa się), zostały one umieszczone w podstawkach. Dodatkowo gniazdo ZIF oraz enkoder ma znajdować się nad LCD w celu uproszczenia montażu całości w obudowie. Dla osób chętnych wykonać dla siebie taki tester zamieszczam linki do "referencyjnej" konstrukcji autora pierwowzoru całego projektu oraz do źródeł oprogramowania. W swojej konstrukcji, w celach testowych zastosowałem rezystory pomiarowe 680om oraz 470kom z tolerancją 0,1%. W oprogramowaniu wpisałem również dokładną wartość napięcia odniesienia w mV. Napięcie odniesienia TL431 z tolerancją 1%. Pomiar napięcia odniesienia wykazał 2491mV. Taka wartość została wpisana do programu mikroprocesora. Konstrukcja nie jest pozbawiona wad: dioda LED sygnalizująca pracę znajduje się pod LCD (moja świadoma decyzja), brak podświetlenia LCD (uznałem je za zbędne), zasilanie z zasilacza 12V (łatwo można przerobić całość i zastosować baterię 9V lub 2x18650), wykonanie pozostawia wiele do poprawy (w tym szczególnie luty SMD). Oto kilka filmów prezentujących jak pracuje tester: Przepraszam za jakość filmów, ale ciężko jest zmieniać elementy, trzymać tester i telefon w jednym czasie 🙂 W załączniku zamieszczam materiały pozwalające na samodzielne skonstruowanie testera: Schemat w EAGLE wraz z rysunkiem ścieżek. Skompilowane pliki źródłowe oprogramowania w wersji 1.31m. Ustawienia fusebitów procesora, bo sam tego szukałem: Wyniki "pomiarów" z wykorzystaniem testera wychodzą zbliżone do pomiarów chińskim miernikiem ANENG 102 oraz bardziej znanym i cenionym UNI-T UT71. Przy okazji mogę nadmienić, iż wspomniany chiński miernik nie odbiega pomiarami od UNI-T. Projekt powstawał już dłuższy czas temu. Test polegający na stosowaniu rezystorów o tolerancji 0,1% oraz dokładnej kalibracji napięcia referencyjnego ujawnił, iż najsłabszym ogniwem jest w tej konstrukcji Atmega. Kusi zrobienie takiej konstrukcji na STM32. Mam 3 testery i uzyskuję na nich zbliżone wyniki (Wspomniana konstrukcja, konstrukcja z LCD 1604 i rezystorami 1%, tester GM328 z aliexpress). W przyszłości zminimalizuję cały tester stosując wszystkie elementy SMD i LCD bezpośrednio na PCB. Całość będzie wtedy kieszonkową wersją wielkości obecnego LCD. I z płytki wystawię złącza na zewnętrzne sondy. Tester elementów elektronicznych na Atmega328P i LCD Nokia 5110.zip eagle.zip
- 7 odpowiedzi
-
- 4
-
- tester
- tester rlc
-
(i 3 więcej)
Tagi:
-
Projekt ten powstał, aby rozwiązać problem dotyczący braku możliwości oglądania kanałów TV z serwisu Ipla na telewizorze. Głównym celem tego projektu było stworzenie urządzenia wraz z interfejsem, który po podłączeniu do TV pozwoli na szybkie i wygodne oglądanie kanałów TV z serwisu Ipla. W skład urządzenia wchodzi mini komputer Zotac ZBOX B1324 oraz zestaw uruchomieniowy Atnel ATB 1.05a, natomiast oprogramowanie zostało napisane w języku Java oraz C. Czym właściwie jest AVR-IplaTV-Box? AVR-IplaTV-Box jest urządzeniem, które pozwala na oglądanie kanałów TV z serwisu Ipla.tv na telewizorze. Dodatkowo urządzenie wyposażone jest w odbiornik IR, który jest odpowiedzialny za obsługę zmiany kanałów za pomocą zwykłego pilota wyposażone w nadajnik podczerwieni IR. Co właściwie potrafi robić to urządzenie? AVR-IplaTV-Box pozwala w bardzo szybki oraz wygodny sposób na oglądanie oraz zarządzenie kanałami TV z serwisu Ipla za pomocą tego samego pilota, którego używamy do obsługi telewizora. Główne funkcjonalności jakie zostały przeze mnie zaimplementowane w tym projekcie to: zamiana kanałów TV, zatrzymywanie oraz wznawianie transmisji, dwustopniowe przewijanie kanałów (10 sekund lub 5 minut) w tył i przód, regulacja poziomu jasności, automatyczne logowanie do konta Ipla, pełna kontrola urządzenia za pomocą pilota od telewizora, wyświetlanie informacji odnośnie aktualnie emitowanego programu - nazwa oraz krótki opis, wyświetlanie aktualnego paska postępu dla wszystkich programów, łatwa konfiguracja aplikacji za pomocą pliku application.properties, możliwość edytowania dostępnych kanałów TV za pomocą pliku channels.json, możliwość wyłączenia urządzenia z poziomu pilota. Poniżej zamieszczam krótki filmik prezentujący wyżej wymienione funkcjonalności. Skąd wzięła się potrzeba stworzenia takiego urządzenia? Obecnie serwis Ipla TV pozwala na zakup pakietów z kanałami TV (Discovery, Polsat itd.), które można oglądać za pośrednictwem serwisu Ipla TV lub aplikacji na Anroida i iOS. Niestety nie ma możliwości oglądania kanałów TV w aplikacji Ipla na Smart TV, co oznacza że do oglądania kanałów TV jest wymagany komputer lub smartphone. Kontaktowałem się nawet w tej sprawie z pomocą techniczną Ipla, lecz powiedzieli mi, że nie planują w najbliższym czasie wyprowadzenia kanałów TV na smart TV (pewnie wynika to ze sposobu szyfrowania danych - DRM). Wygoda przede wszystkim! Jednym z głównych założeń projektu było, aby całe urządzenie można obsługiwać w taki sam sposób, jak zwykły telewizor. Co wiązało się z koniecznością stworzenia dodatkowego interfejsu, który pozwoliłby na sterowanie urządzeniem za pomocą pilota od telewizora. W tym calu zastosowałem zestawy uruchomieniowy (ewaluacyjny) Atnel ATB 1.05a, wyposażony w m.in. mikrokontroler Atmega 32A oraz odbiornik podczerwieni TSOP31236. Do obsługi odbiornika podczerwieni po stronie mikrokontrolera wykorzystałem bibliotekę IR_UNI autorstwa Mirosława Kardaśa, która była dołączona do książki Język C Pasja programowania mikrokontrolerów 8 - bitowych. Dodatkowo zestaw ten jest wyposażony w układ FT232RL, który pozwala na komunikację z komputerem za pomocą interfejsu USB. Informacje odnośnie aktualnie emitowanego programu pozyskiwane są z serwisu Ipla, a następnie parsowane po stronie aplikacji za pomocą biblioteki JSoup. Oprogramowanie Kod aplikacji desktopowej znajduje się na moim GitHub'ie i każdy może się z nim zapoznać klikając w ten link: AVR-Ipla-TV-Box Jeśli ktoś będzie miał jakieś pytania dotyczące tego projektu to zachęcam do ich zadawania w komentarzu oraz do zapoznania się z dokładniejszym opisem tego projektu na moim blogu, gdzie jest nawet sekcja dla developera, gdzie dokładnie opisuje zastosowane technologie oraz całe flow programu 😀 Pełen opis projektu wraz z kodami źródłowymi dostępny jest tutaj: DevTomek.pl -> AVR-IplaTV-Box, czyli Ipla TV na Twoim telewizorze! PS. Nie wiem, czy projekt ten spełnia ogólne założenia działu DIY na tym forum dlatego nie kopiowałem zbyt wiele treści z mojego wpisu na blogu, gdyby jednak okazało się że projekt ten jest wart dokładniejszego opisu to mogę dodać więcej informacji w tym poście dot. tego urządzenia 🙂
-
Witam próbuje zrobić proste menu ale zajmuje za dużo pamięci SRAM, dlatego postanowiłem umieścić je w pamięci FLSAH mikrokontroler, niestety nie dział to poprawnie mianowicie nie wyświetla nic albo po kolei wszystkie znaki (krzaki) bez przerwy. kod : const char T1[] PROGMEM = {"DS1307"}; const char T2[] PROGMEM = {"TESTER"}; const char * menu[2] PROGMEM = {T1, T2}; //odczytuje za pomocą: LCD_Write_Text((char *) pgm_read_word_near(& menu[1])); // funkcja wyświetlania bo może tu jest problem void LCD_Write_Text(uint8_t * Text){ while(* Text) Send_Data(* Text++); } dodam że po skasowaniu wszystkich "PROGMEM", a do funkcji wyświetlania wpisania po prostu "menu[0]" działa bez zarzutu. i jeszcze podkreśla mi "pgm........" i wyskakuje problem "nieznana nazwa rejestru r0". Gdzie popełniam błąd. Z góry dzięki za odpowiedz.