Mam taką zagwozdkę, mam se Atmega8 z zegarem 8 lub 16MHz i chcę zaświecić diodą adresowalną WS2812B-2020. Wg datasheeta tej diody, najszybszy sygnał sterujący jaki tam jest wymagany to 220 - 380ns. No i teraz dla testów zrobiłem sobie program który jedyne co robi w głównej pętli to XOR portu B aby przełączać stan PB.0. (PORTB ^= (1 << PB0); ) No i najszybszy sygnał jaki udaje się wygenerować (mierzone na oscyloskopie)
Wszystko
Najnowsze
Archiwum
9
[Zrób to sam] Laserowy telewizor
![[Zrób to sam] Laserowy telewizor](https://wykop.pl/cdn/c3397993/7549007b66073ba648564d9c510535e0756373e166aca6db2087a923628d05ab,w220h142.jpg)
Zabytkowy mini telewizor naśladujący kineskop CRT, na bazie lasera, który wyświetla na świecącym materiale do druku 3D.
z- 3
- #
- #
- #
- #
- #
- #
@olejek_rurzany: Zobacz sobie w assemblerze ile tam jest instrukcji. Pętla itd.
@olejek_rurzany: xor na porcie jest pewnie tłumaczony na odczyt portu do rejestru, xor na rejestrze, zapis rejestru do portu. Więc masz tam 3albo 4 rozkazy na każdą zmianę stanu portu.
Treść przeznaczona dla osób powyżej 18 roku życia...
- 0
@ikimrdbeietocytynal: w atmega32 masz sprzętowy pin do SS (PB0). JEŚLI nie chcesz go używać to MUSISZ ustawić go jako output zanim odpalisz SPI. na płytce którą mam on jest podłączony do czegoś innego. zmieniałem mu wartość po zainicjalizowaniu spi i kilka godzin zastanawiałem się dlaczego mi spi nie działa.
konto usunięte via Wykop
- 0
@biauekWladcaJajek: wystarczyło czata gpt zapytac : Konflikty w Inicjalizacji: Jeśli zmieniłeś wartość linii PO inicjalizacji SPI, mogło to spowodować konflikt lub zresetowanie pewnych ustawień, co wpłynęło na działanie SPI. W zależności od sprzętu, niektóre piny mogą mieć funkcje wielofunkcyjne i ich stan może wpływać na konfigurację innych modułów, takich jak SPI.
- 0
#programowanie #avr #atmega panowie programisci. wyjasni ktos jak wygladają bity po tej operacji i dlaczego tak. chodzi mi o to co sie dzieje z "ADMUX" po takim zapisie ADMUX= (ADMUX & 0xF8) | kanal;
uint16t pomiar (uintt kanal)
{
ADMUX= (ADMUX & 0xF8) | kanal;
.................
.............
.........}
uint16t pomiar (uintt kanal)
{
ADMUX= (ADMUX & 0xF8) | kanal;
.................
.............
.........}
źródło: Zrzut ekranu 2024-02-09 154152
Pobierz#elektronika #elektronikadiy #mikrokontrolery #atmega
Witajcie mireczki!
Mam pytanie na temat programowania pamięci.
Mam drukarkę do etykiet Dymo LabelManager 220P. Jest uszkodzona, zdiagnozowałem problem z kością pamięci Atmel 45DB021D. Kupiłem inny egzemplarz tego samego modelu drukarki oraz nową kość pamięci. Najbliższa jaką udało mi się znaleźć, to Atmel 45DB041D - ma większą pojemność. Po wyciągnięciu wsadu ze sprawnej kości i wrzuceniu na nową, drukarka nie działa. Po wylutowaniu
Witajcie mireczki!
Mam pytanie na temat programowania pamięci.
Mam drukarkę do etykiet Dymo LabelManager 220P. Jest uszkodzona, zdiagnozowałem problem z kością pamięci Atmel 45DB021D. Kupiłem inny egzemplarz tego samego modelu drukarki oraz nową kość pamięci. Najbliższa jaką udało mi się znaleźć, to Atmel 45DB041D - ma większą pojemność. Po wyciągnięciu wsadu ze sprawnej kości i wrzuceniu na nową, drukarka nie działa. Po wylutowaniu
źródło: IMG_7551
PobierzCzy mogę te pamięci programować w płycie, czy powinienem je wylutować?
@pawel1410: Myślę że dużo bezpieczniej je wylutować. Na płycie zasilając pamięć prawdopodobnie zasilasz też procesor, a ten może powodować konflikty na linii albo np. modyfikować pamięć w czasie kiedy ją programujesz. Jeśli bardzo nie chcesz wylutowywać, spróbuj wprowadzić procesor w reset
- 0
@sredni_szu: @fabek @zetisdead
Dzięki za opinie!
Nie ma problemu wylutowywać, tak będę robił.
Przewody postaram się możliwie poskracać.
Jeśli chodzi o te pamięci, gdyby różniły się wyłącznie pojemnością, to mógłbym ten wsad po prostu wrzucić bezpośrednio na większą, czy muszę coś jeszcze zrobić, np. wypełnić wolną przestrzeń jakimiś wartościami?
Dzięki za opinie!
Nie ma problemu wylutowywać, tak będę robił.
Przewody postaram się możliwie poskracać.
Jeśli chodzi o te pamięci, gdyby różniły się wyłącznie pojemnością, to mógłbym ten wsad po prostu wrzucić bezpośrednio na większą, czy muszę coś jeszcze zrobić, np. wypełnić wolną przestrzeń jakimiś wartościami?
- 0
Potrzebuję pomocy wyjadacza atmegowego. Uczę się i bawię wyświetlaczem 7-segmentowym, timerami i przerwaniami ale sytuacja już trochę mnie przerasta. W grę wchodzą grube dolany (ustalimy wynagrodzenie). Zainteresowani proszę się zgłaszać do podeślę szczegóły.
#atmega #elektronika
#atmega #elektronika
Mam mikrokontroler który ma gadać przez port szeregowy z PC. Więc mamy układ uC -> konwerter USB/UART -> PC. Co sekundę wysyłam testową literkę, widzę na konwerterze USB/UART, że TX mruga, więc coś próbuje wysłać. Z drugiej strony na PC odpalam monitor portu COM (Putty/TeraTerm), monitor się otwiera, ale nic na nim nie widzę, a spodziewałbym się nawet śmieci ( jeśliby się coś nie zgadzało).
Jakieś pomysły?
#elektronika #atmega
Jakieś pomysły?
#elektronika #atmega
Co sekundę wysyłam testową literkę, widzę na konwerterze USB/UART, że TX mruga, więc coś próbuje wysłać.
@mirkogreg: Rx powinno ci migać w konwerterze jak µC wysyła dane.
Na pewno rx i tx z µC i konwertera masz połączone na krzyż? (tx <-> rx i rx <-> tx)
- 2
- 0
Mirki z #esp32 #arduino #atmega #elektronika
W jaki sposób robicie pomiar baterii? Szukam sprawdzonego rozwiązania żeby przez dzielnik ciągle (np. gdy uC jest uśpiony) nie płynął prąd i oszczędzać w ten sposób baterię, więc pomyślałem o transoptorze żeby była izolacja, żeby on aktywował tranzystor.
W jaki sposób robicie pomiar baterii? Szukam sprawdzonego rozwiązania żeby przez dzielnik ciągle (np. gdy uC jest uśpiony) nie płynął prąd i oszczędzać w ten sposób baterię, więc pomyślałem o transoptorze żeby była izolacja, żeby on aktywował tranzystor.
@kasprzak: czy nie wystarczy wykorzystać odpowiednio dużych wartości rezystorów? Prąd będzie płynął ciągle, ale zużycie będzie pomijalne.
3,7 lipo. Załóżmy, że jest stabilizator LDO
@kasprzak: to w takim przypadku wystarczą dwa tranzystory (n-kanałowy i p-kanałowy, można kupić w jednej obudowie sot-23) + kilka rezystorów, żeby włączać dzielnik pomiarowy na żądanie.
źródło: comment_1663483024P5vPraBcfKXQa1QVZwAU1j.jpg
Pobierz- 1
#programowanie #arduino #atmega #atmel #nano #oled
Siema bogowie programowania za 15k.
Mam układ na arduino nano wraz z wyświetlaczem OLED 1.3" podłączonym przez SDA i SCL (na wyświetlaczu jest opis SCK).
Układ działał jakiś czas, potem działał losowo a teraz nie działa wcale. Podpiąłem się z laptopem i monitorem portu szeregowego i ładnie daje informacje zwrotne z ADC itp ale
Siema bogowie programowania za 15k.
Mam układ na arduino nano wraz z wyświetlaczem OLED 1.3" podłączonym przez SDA i SCL (na wyświetlaczu jest opis SCK).
Układ działał jakiś czas, potem działał losowo a teraz nie działa wcale. Podpiąłem się z laptopem i monitorem portu szeregowego i ładnie daje informacje zwrotne z ADC itp ale
- 1
@groman43: Dzięki mordo, dołożyłem 2x 2k (bo na jakimś schemacie takie widziałem) pull up i ruszyło od strzała. Ciekawe jak to działało wcześniej bez tych rezystorów.
Wyświetlacz i Nano działają na 5V i nie ma kolizji.
Wyświetlacz i Nano działają na 5V i nie ma kolizji.
- 2
@bambus94: Piny, które mogą pełnić kilka różnych funkcji, jak GPIO lub I2C, muszą być w pewnym stopniu "rekonfigurowalne" i potrafią się czasem dziwnie zachowywać. Żeby ogarnać, co dokładnie się stało, trzeba zaglądnąć do datasheeta i zrozumieć jak takie piny dokładnie działają. A ponieważ jest sobota wieczór, jakoś nie mam na to ochoty.
Najczęstszym przypadkiem jest zasilanie MCU za pomocą GPIO - https://www.microchip.com/forums/m619159.aspx Pamiętam że Dave Jones z EEVblog zrobił o
Najczęstszym przypadkiem jest zasilanie MCU za pomocą GPIO - https://www.microchip.com/forums/m619159.aspx Pamiętam że Dave Jones z EEVblog zrobił o
- 0
Mirki z #esp32 #arduino #atmega #elektronika
Potrzebuję zasilić ESP32 na zewnątrz z zasilaniem bateryjnym. Chcę zrobić pomiar i uśpić na np. 15-30min. Znowu zrobić pomiar i uśpić/zahibernować i tak cyklikcznie, ale od Timera, nie od przerwania na jakiś pin itd.
Zastanawiałem się też nad tym, żeby dać Arduino Pro Mini + moduł Lora i wysłać te dane i potem już esp ogarnie dalej, ale dochodzi kolejne
Potrzebuję zasilić ESP32 na zewnątrz z zasilaniem bateryjnym. Chcę zrobić pomiar i uśpić na np. 15-30min. Znowu zrobić pomiar i uśpić/zahibernować i tak cyklikcznie, ale od Timera, nie od przerwania na jakiś pin itd.
Zastanawiałem się też nad tym, żeby dać Arduino Pro Mini + moduł Lora i wysłać te dane i potem już esp ogarnie dalej, ale dochodzi kolejne
- 5
@kasprzak: Mam kilka czujników zasilanych z li-ion, używam gołych esp-01 z esp8266 i stabilizatora ldo, 5Ah wciąga około 18 miesięcy gdy wysyła pomiar co 60 sekund.
źródło: comment_1650816379G9fyAg59mZIKKuzRRVY5FI.jpg
Pobierz- 0
@kasprzak: Fatalne. Dajesz akumulatory w szereg i regulator LDO. Przetwornica wciąga za dużo prądu, nawet całkowicie nieobciążona.
patrzyłem ostatnio na cemy atmeg-32PU, w sklepach na necie 40-50 zł xD Pamiętam jak chodziły po 10 zł. MAm jest parę w domu kupionych po 12 zł. Kurła, takie małe bydlaki a takie koszta.
#atmega
#atmega
@CukrowyWykop: mam jakąś 328PU luzem. Po znajomości mogę Ci za 100 puścić;)
Fakt, chore te ceny. W podobnej cenie masz już ESP, ale to czasami przerost formy nad treścią.
Fakt, chore te ceny. W podobnej cenie masz już ESP, ale to czasami przerost formy nad treścią.
- 1
@niebieska_cegla: ja teraz takie mcu to tylko 4 rzędne hobby. Mam jeszcze ich parę to mi starcza na jakieś mini projekty :) a na biurku jeszcze leza cotrexy m4 i m7 :)
Mam Controllino Maxi, bazowane na płytce #atmega 2560.
Mogę na cyfrowe wejście podpiąć taki czujnik? Ma wyjście sygnałowe NPN, zasilany z 24VDC.
#arduino
Mogę na cyfrowe wejście podpiąć taki czujnik? Ma wyjście sygnałowe NPN, zasilany z 24VDC.
#arduino
- 1
@przybiezeli-do-betlejem: wygląda że tak, ale najpierw bym podpiął to pod jakieś tanie nano.
- 0
Hej mirki, właśnie buduję układ do podłączenia zewnętrznych źródeł światła (np żarówki) na 230, którego jednym z kilku trybów pracy byłby kolorofon, a drugim wskaźnik głośności (zapalanie się więcej świateł im jest głośniej).
Otóż niestety, ale niezbyt znam się na elektronice analogowej, a pomyślałem, żeby zrobić to w ten sposób, że:
A) Dla trybu wskaźnika głośności dźwięku - podłączam mikrofon (przez wzmacniacz oczywiście) pod wejście ADC do mikrokontrolera, i zależnie od odczytu analogowego zapalam
Otóż niestety, ale niezbyt znam się na elektronice analogowej, a pomyślałem, żeby zrobić to w ten sposób, że:
A) Dla trybu wskaźnika głośności dźwięku - podłączam mikrofon (przez wzmacniacz oczywiście) pod wejście ADC do mikrokontrolera, i zależnie od odczytu analogowego zapalam
źródło: comment_1640018665zmTquzyfZdHZpcAWqZOgn7.jpg
Pobierz- 1
@lukasj: tak na szybko:
- czemu wybierasz jako bazę konstrukcji procesor, który 20 lat temu był już przestarzały?
- jeśli używasz stabilizatora liniowego typu 780x, to przed nim i za nim musisz dać kondensatory ceramiczne po 100nF.
- kondensatory C1 i C2 w sumie nie mają sensu. C1 ma ogromną pojemność, a z tych 5V zasilasz chyba tylko procesor i okolice, tam wystarczy spokojnie sam 470uF. No niechby 1000uF. Szczerze
- czemu wybierasz jako bazę konstrukcji procesor, który 20 lat temu był już przestarzały?
- jeśli używasz stabilizatora liniowego typu 780x, to przed nim i za nim musisz dać kondensatory ceramiczne po 100nF.
- kondensatory C1 i C2 w sumie nie mają sensu. C1 ma ogromną pojemność, a z tych 5V zasilasz chyba tylko procesor i okolice, tam wystarczy spokojnie sam 470uF. No niechby 1000uF. Szczerze
- 1
@lukasj: ten układ możesz skopiować żywcem wraz z wartościami elementów, najwyżej te porąbane amerykańskie wartości pojemności w stylu 0,012uF dopasuj do dostępnych u nas, jeśli zamiast takiego kondensatora dasz po prostu 10nF dostępne w sklepie za rogiem, trochę się zmieni pasmo filtra, ale nie powinna to być zmiana istotna. Potencjometry są do regulacji poziomu sygnału wchodzącego na każdą gałąź, czyli w twoim przypadku będziesz nimi regulował poziom reagowania twojego układu
Mireczki mam pytanie co do mikrokontrolerów. Mam Atmegę8 i chciałbym w nią wrzucić prosty program, który powoduje zaświecenie diody. Jednak dioda zamiast świecić ciągle to mruga. Mogę ją włączyć i wyłączyć, jednak jak jest włączona to i tak mruga. Ma ktoś pomysł dlaczego tak się dzieje?
Kod: https://ntpd.eu/dJJjD/
Połączenie układu takie jak w książkach. Filtrowanie zasilania przez kondensator ceramiczny i elektrolit. Rezystor pod reset i przy diodzie. Dioda mruga niezależnie od rodzaju
Kod: https://ntpd.eu/dJJjD/
Połączenie układu takie jak w książkach. Filtrowanie zasilania przez kondensator ceramiczny i elektrolit. Rezystor pod reset i przy diodzie. Dioda mruga niezależnie od rodzaju
@Meissner: To jest nowa Atmega? Jeśli tak to może spróbuj innej użyć.
Ona mruga z jakąś konkretną częstotliwością? Pełnym blaskiem czy tak ją ogólnie ćmi? Możesz jakiś filmik wrzucić?
Ona mruga z jakąś konkretną częstotliwością? Pełnym blaskiem czy tak ją ogólnie ćmi? Możesz jakiś filmik wrzucić?
- 1
@Loperamid: @To_ja_moze_pozamiatam: @QBA__: W sumie nie wiem co zrobiłem ale działa. Zmieniłem tylko program na wrzucanie programu do mikrokontrolera na Sinaprog.
Dawno nie programowałem mikrokontrolerów i chyba wyszedłem z wprawy. Może ktoś mi odświeży pamięć? Kiedyś kompilowałem sobie program w jakiś dziwny sposób (makefile i te sprawy) i całość wgrywałem mkAVRCalculatorem od ATNEL'a za pomocą USBasp (taki https://botland.com.pl/programatory/10794-programator-avr-zgodny-usbasp-isp-tasma-idc-niebieski.html). Teraz chciałem przesiąść się na Arduino IDE bo tam robiłem prototyp i dalej chce używać tego USBasp. Ustawienia IDE i błąd jaki dostaję są w załączniku. Co robię źle? Przeinstalowałem nawet sterowniki za pomocą Zadig'a
źródło: comment_16188607587bNOuHQdwET5L1kne9KzjA.jpg
Pobierz- 1
@Marcek123: @Tymian: @Portier-Harry_Portier: Rzeczywiście pomogła zmiana sterowników na libusbK (v3.0.7.0).
mkAVRCalculator też odczytuje procka więc wszystko gra. Dzięki!
mkAVRCalculator też odczytuje procka więc wszystko gra. Dzięki!
@To_ja_moze_pozamiatam: Fajnie. Ja musiałem jeszcze chińczyka flashować
- 0
#atmega #avr Czy jest jakaś dobra wykopowa duszyczka, która pomoże mi z zadaniami w #assemble #atmega32 ? Jutro mam poprawę laboratoriów i miałem poprawić jedno sprawozdanie z c na dodatkowych zajęciach ale mi napisał że w sumie to mam mało punktów i będę musiał też napisać pierwsze laboratorium z assemblera. Zadania dla kogoś to nawet średnio ogarnia nie powinny zepsuć krwi, a mi może
- 0
@mercin7: gdybyś od razu podał zadnie, to może ktoś by się zlitował
- 0
@ZaQ_1: tego najbardziej nie wiem jak zrobić
Do linii 0 i linii 1 Portu B mikrokontrolera dołączone są przyciski (wciśnięcie zwiera linię do 0). Do Portu A dołączona jest linijka LED.
Opracować program powodujący, że gdy niewciśnięte są obydwa przyciski stan świecenia diod LED jest następujący |OFF|OFF|OFF|OFF|ON|ON|ON|ON.
W każdym innym przypadku stan świecenia diod LED jest następujący ON|ON|ON|ON|OFF|OFF|OFF|OFF.
Użyć rozkazów operujących na bajtach typu MOV, AND, OR, EOR, COM. Do
Do linii 0 i linii 1 Portu B mikrokontrolera dołączone są przyciski (wciśnięcie zwiera linię do 0). Do Portu A dołączona jest linijka LED.
Opracować program powodujący, że gdy niewciśnięte są obydwa przyciski stan świecenia diod LED jest następujący |OFF|OFF|OFF|OFF|ON|ON|ON|ON.
W każdym innym przypadku stan świecenia diod LED jest następujący ON|ON|ON|ON|OFF|OFF|OFF|OFF.
Użyć rozkazów operujących na bajtach typu MOV, AND, OR, EOR, COM. Do

- 1
co ja mam tu wybrać, żeby programować atmegi w C? mam ksiązke kardasia i był w zestawie ten program, ale w jakiejś wersji MARS która nie działa #eclipse #atmega #mikrokontrolery #elektronika
źródło: comment_16129917722c4lRgsqKlBSzVDXPGnx79.jpg
Pobierz@przeczki: atmel studio.
- 1
Walczę z ADC już dwa dni, więc szukam pomocy u was.
Pacjent: ATmega8
Problem: ADC zawsze zwraca wartość maksymalną 1023 (0x3FF)
Załączam kod inicjalizujący ADC, przerwanie i schemat. Wykluczylem już że MCU jest rypnięte, bo druga ATmega zachowuje się tak samo. ADC fruwa w trybie Free Running, przerwanie odpala się prawidłowo, ale odczyt ADCW zawsze zwraca max wartość, tak jakby na pinie było napięcie z poza zakresu.
Pin jest sterowany z zasilacza
Pacjent: ATmega8
Problem: ADC zawsze zwraca wartość maksymalną 1023 (0x3FF)
Załączam kod inicjalizujący ADC, przerwanie i schemat. Wykluczylem już że MCU jest rypnięte, bo druga ATmega zachowuje się tak samo. ADC fruwa w trybie Free Running, przerwanie odpala się prawidłowo, ale odczyt ADCW zawsze zwraca max wartość, tak jakby na pinie było napięcie z poza zakresu.
Pin jest sterowany z zasilacza
źródło: comment_1612439497G9is1UAoA3mWaQq2QgYYFE.jpg
Pobierzzmienna do ktorej wpisujesz wartosc w przerwaniu od adc zrob volataile bo moze kompilator ja zoptmalizowac
- 4
@zarowka12: @porcupineG: Ha działa xD Generalnie to co wam zaprezentowałem na schemacie jest poprawne, ale pomyliłem się robiąc przeróbkę z tym kondensatorem (na niebiesko) i AREF było na potencjale masy.
Ten kod który wam pokazałem to tylko wycinek odpowiedzialny za ADC, jakbym miał pokazywać obsługę seriala to bym nie dał rady na screenach :P Dzięki za pomoc i zaangażowanie ʕ•ᴥ•ʔ
Ten kod który wam pokazałem to tylko wycinek odpowiedzialny za ADC, jakbym miał pokazywać obsługę seriala to bym nie dał rady na screenach :P Dzięki za pomoc i zaangażowanie ʕ•ᴥ•ʔ



























źródło: image
Pobierz