https://obrazki.elektroda.pl/6987360800_... W tym artykule opiszę moją próbę zmagań w temacie nagrywania gier na konsolę SNES jako osoby, która z tą konsolą nie miała wcześniej nic wspólnego. W efekcie powstał programowalny kartridż i urządzenie do nagrywania gier. Motywcja Wszystko zaczęło się od tego, że ktoś poprosił mnie o przerobienie...
Czemu nie chcesz korzystać ze sprzętowego SPI? Tą twoją funkcję wysyłającą SPI tak bym uprościł: [syntax=c] void spi_transmit8(uint8_t cmd) { uint8_t recv = 0; SPI_SET_LOW(SPI_SCK); SPI_SET_LOW(SPI_CS); for (uint8_t i = 0; i < 8; i++) { if (cmd & 0x80) { SPI_SET_HIGH(SPI_SDI); } else { SPI_SET_LOW(SPI_SDI); } cmd <<= 1; SPI_SET_HIGH(SPI_SCK);...
Piszecie o kosztach itp, do instalacji przemysłowych różnie to się ma ale w instalacji domowej mam takie coś założone (2x filtr wody mi pękł - raz jakoś przechodziłem koło kotłowni jak strzelił i naszczacie aby ja miałem prysznic zanim zakręciłem dopływ a drugi raz też akurat ojciec był w domu i dużo nie poleciało. Koszty około 300zł. - Elektrozawór...
Myślę, że przetwarzanie równoległe nie bedzie tu krytycznie potrzebne, odpowiedni algorytm w mikrokontrolerze też się wyrobi, a czas poświęcony na klecenie wrtualnych bramek ze sobą można zastąpić po prostu odpowiednimi instrukcjami warunkowymi w C lub asm. Atmega8 posiada 22+1(rezygnacja z /RESET) liniie I/O, więc dorzucamy jakikolwiek zatrzask na...
:arrow: szympek;), Jakiemuś zniekształceniu na pewno ulegnie, przez pojemność i oporność przewodu, ale raczej nie będzie to znaczące przy sterowaniu diodą czy silnikiem. Często PWMem steruje się kilku(nasto) metrowe listwy LED i wszystko dobrze funkcjonuje :) Zależy jeszcze też od częstotliwości PWM wszystko, ale raczej do diod led nie stosuje się więcej,...
Witam, A ja mam pytanie odnośnie dzielnika do pomiaru napięcia. Kilka stopni podziałów to ok, można zastosować i jest ok. Ale w przypadku testowania zasilacza o napięciu 200V (co jak Autor wspomina jest możliwe w jego układzie), na rezystorze R7 (10k) odłoży się napięcie około 195V (zabezpieczenie procka) i nie dość, że wydzieli się na nim stosunkowo...
Ale VREF odłącz od AVCC. Podłączenie powinieneś realizować programowo.
Dlaczego 24C16 podłączasz pod RXD i TXD? Będziesz komunikację I2C realizował programowo? Przecież Atmega8 ma sprzętowe I2C - PC4 (SDA) i PC5 (SCL). Trzeba by wyświetlacz podłączyć gdzie indziej, a pod I2C podpiąć 24C16.
Wykonałem syntezę do radia ze strony http://sq1ftb.prothost.pl/articles.php?a... http://obrazki.elektroda.pl/2235817300_1... Generator i separator działa, scalak syntezy LM7001 pracuje z kwarcem 7,2MHz, po wyjęciu jego Atmega prawidłowo "milczy" tzn. brak wtedy wyświetlania częstotliwości zmian na enkoderze itd. Ta część programu...
nie programowalem wiele w bascomie ale to o czym piszesz to była programowa obsługa i2c, gdy mogłeś określić która nóżka ma być SDA a która SCL i tutaj możesz również tak to robić, jeśli chcesz korzystać ze sprzętowego i2c (atmelowa nazwa to TWI) to wtedy podłanczasz sie odpowiednio do SCL i SDA i działasz na bibliotekach TWI. Wszystko zalezy czy chcesz...
Jeśli są plomby to raczej nie sugeruję otwierania. Prawdopodobnie sterowanie jest na triaku to najtańsze i chyba najczęściej stosowane rozwiązanie choć nieco nie stosowne dla silników. Ale do rzeczy ja również zrobiłem sterowanie na triaku nie jest ono aż tak mocno skomplikowane. Jedyne co będziesz potrzebował to badanie prockiem poprzez jakiś optoelement...
Już kiedyś pisałem o błędach bascoma w obsłudze przerwań (raz wywołane jest potem cyklicznie generowane pomimo, że czynnik wywołujący przerwanie już zanikł, bo bascom zapomina przy kompilacji kodu o fladze w rejestrze przerwań). Ale tu Bascom nie ma nic do rzeczy, flaga wystąpienia przerwania jest kasowana automatycznie przez procesor gdy włączona...
Kombinowałem na różne sposoby i nadal nie rozumiem na jakiej zasadzie odbywa się sterowanie tymi układami z poziomu programu. Samą tabelę z datasheet zrozumiałem ale nie widzę co trzeba zmieniać w programie, by móc dostosowywać go do swoich potrzeb. Mógłbym Cię prosić abyś dorzucił kilka komentarzy? Zdecydowanie pomogłoby mi to w zrozumieniu. Musisz...
Witam Proponuje za pomoca jakiegos uP wysylac informacje przez RSa do PCta. (Tu musisz poradzic sobie sam :( troche jeszcze poczytalem, moze bede w stanie i w tym Ci pomoc ), nastepnie w C# w VS 2005 istnieje taki komponent jak Serial odpowiadajacy za komunikacje z portem szeregowym. Podajesz parametry transmisji, otwierasz port i czekasz na inf z uP....
Witam, posiadam sprawny programator USBasp (używany na okrągło pod ATMega8 i wyżej), chcę nim zaprogramować uC ATTiny2313 i niestety avrdude zwraca mi błąd - brak komunikacji z urządzeniem (uC): D:\AVR projekty\...\program>avrdude -p t2313 -c usbasp -e -U flash:w:key.hex found 2 busses avrdude: error: programm enable: target...
Ak wiem że can byłoby dobrym wyjściem, sprzętowa kontrola magistrali jest bardzo ułatwiającym życie rozwiązaniem ale, jak zauważył Bis, kosztuje. O kontrolę przepływu się nie martwię, zabezpieczę ją dobrze na poziomie bajtow, ramki i sesji. Więc narazie mam dwie możliwości: 1. Wysyłanie ramek danych w ciemno (ze sprawdzeniem stanu linii tuż przed rozpoczęciem...
Skoro masz podlaczony procek do rs to mozesz zastosowac takie sprzetowe rozwiazanie (MCS Electronics - bootloader) : http://www.mcselec.com/images/stories/mc... To initiate a Bootloader programming session, a reset needs to be applied to the controller. You can do this manually, with a reset button or by powering down and...
co napisaliscie jako swoj pierwszy program na dany uC w danym jezyku (rozbudowy sie licza, byle by wciaz byla to ta sama baza) n. n. - literka, cyferke z przodu dodam sam. zachowujcie chronologie w swoich dokonaniach na roznych platformach jezykowych i sprzetowych, tak aby to mialo sens! ____________________ 0x1-a. Freddie Chopin - migacz diodkami o...
http://obrazki.elektroda.net/84_12360191... Przedstawiam już kolejną wersje stroboskopu.Oznaczona jako 2.1. Wcześniej wykonałem chyba z 12 różnych wersji. Każda miała jakieś mankamenty. Konstrukcyjne lub wynikające z ograniczeń zastosowanych podzespołów. Zastosowanie jako sterownika mikroprocesora pozwoliło na dokładne określenie sposobu działania,...
Witam serdecznie. Zwracam się z prośbą o napisanie programu pod uniwersalny programator AVR na Atmega8 Układ posiada 4 wejścia sygnałowe, 3 przekaźniki i jedno wyjście uniwersalne pod czwarty przekaźnik. Zatem do pomiaru dwóch (2) napięć, prądu i prędkości obrotowej będzie w sam raz. Jalie zadanie ma spełnić urządzenie ?? 1) Powinno nie dopuścić do...
Witam. Potrzebuję pomocy w pisaniu programu do uC atmega8. Jestem początkujący. Dysponuję min: książką o programowaniu w bascom (zielona taka ;p). Szukam osoby, która pomogła by w tym projekcie. Niekoniecznie musi być bascom, może być C lub asm. Pozdrawiam
Witam, Poszukuje osoby, ktora podjelaby sie napisania programu na ATMega8 lub podobny. Program dosc prosty, jedynym utrudnieniem moze byc wykorzystanie wszystkich linni I/O procesora. Ogolnie chyba nic skomplikowanego, glownie zaleznosci typu jesli gdzies sie zmieni stan na pol sekundy to przelacz stan gdzies indziej. Na dwoch liniach sterowanie ledami...
Ja myślę, że lata się robiło tak, i działało. Masz gotowy układ tylko go popraw. 1. Zasilanie procesora 2. Wywal bezsensowną D3 (co ona miała robić?) 3. Wstaw mostek prostowniczy (plus do plusa, minus do minusa, a zmienne na silnik) 4. odfiltruj też 24V 5. Poukładaj trochę przewody. I powinno być OK, jeśli nie masz błędów programowych Albert
Witam Zlecę wykonanie schematu i programu, język programowania - Asembler lub C (Bascom odpada) Główne założenia (Hardware): 1.uC ATmega16l-8PU(Jeśli się uda to mega8l) 2.Ekran LCD PCF8833(132x132) 3.Karta SD/microSD/MMC(FAT do 4gb) 4.Termometr 5.Jak najdłuższe działanie na baterii 6.Jak najmniejszy koszt wszystkich częsci Zadania programu: faza I włączenie...
Cze wszystkim Zacząłem programować Atmega 8 w układzie z potencjometrem cyfrowym ad5259 na magistrali i2c. Chcę programować w asemblerze ale nigdy wcześniej tego nie robiłem czytałem książkęBaranowskiego i noty mojego potencjometru, ale nie wiem jak zacząć. Proszę o pomoc. Jakieś wskazówki. pozdrawiam
Witam. Napisałem następujące podprogramy: .EQU POCZATEK_PROGRAMU_H = 0x00 .EQU POCZATEK_PROGRAMU_L = 0x90 .EQUPROGRAM_WSK_H= $60 .EQUPROGRAM_WSK_L= $61 PROGRAMOWANIE_: CLI;blokada przerwania LDI R20, KOM_BRAK_ROZKAZU // kasowanie rozkazu LDS XH, PROGRAM_WSK_H ;pobranie aktualnego adresu wskaznika programu LDS XL, PROGRAM_WSK_L KOM_PROG_: WDR;zerowanie...
Mam wielką prośbę o pomoc. Mam napisać następujący program dla procesora atmega8 (pisze w AVRStudio). Na porcie B pin0 robi za pierwszego leda, pin1 za drugiego leda. Na porcie D pin0 robi za pierwszy przycisk, pin1 za drugi przycisk. Po naciśnięciu przycisku pierwszego miga LED1 co 1s. Po naciśnięciu przycisku drugiego miga LED2. Gdy nic nie jest naciśnięte...
Chciałbym zbudować regulator obrotów dwukierunkowy który byłby sterowany szerokością impulsu z odbiornika RC ale nie wiem jak zacząć bo mam już zrobioną płytkę pod atmega8. W Arduino deklaracje pinów są dla mnie niejasne.
chcialbym zrobic urządzenie ktore mogloby byc sterowane innym. to pewnie duzo wam nie mowi, ale chodzi mi o to zeby mikrokontroler ATmega8 otrzymywał polecenie od np. kompaalbo innej atmegi i wykonywał pewne instrukcje. myslalem zeby zrobic to tak, ze atmega nie robiłaby nic (bo nie ma takiej potrzeby) az do momentu otrzymania przerwania. kolejnym krokiem...
Witam. Jestem nowym użytkownikiem tego forum. Z mikrokontrolerami dopiero zaczynam swoja przygodę. Piszę ponieważ napisałem program wyłącznika schodowego z regulowanym czasem działania i gdy programuje mikrokontroler to nie wykazuje on zadnych oznak zycia. Mikrokontroler ma być sterowany czterema przyciskami. Dwoma przyciskami niestabilnymi typu microswitch...
Czesc Stworzylem sobie robota- line follower. Zostało mi go tylko oprogramować. Czytalem datasheety, rozne posty na forach i napisałem sobie program w c. Jest to moj pierwszy program jesli chodzi o programowanie mikrokontrolerow. Jestem świadomy, że ten program nie będzie działał :P, ale chciałbym abyście zerkneli fachowym okiem na te bazgroły i wyrazili...
Witam chciałem się was zapytać o programowanie atmegi8. w zasadzie dopiero zaczynam zabawę z programowaniem I tu rodzi sie moje pytanie bo chciałbym zaprogramować atmege 8 program jaki mam w grac jest w rozszeżeniu PCB.Jaki polecacie program do wgrywania i jaki programator bo jeszcze nie mam żadnego podajcie i jakieś przykłady najlepiej by było żeby...
To mój pierwszy program czy ktoś by mógł go mi sprawdzić? Ma on być do robota omijającego przeszkody. $regfile = "atmega8a.dat" 'najpierw określamy typ proca $crystal = 1000000 'definiujemy z jakim taktowaniem będzie pracował config portb=input 'port b jako wejścia portb=&B00000000 'wszędzie stan spoczynkowy-0 config portd=output 'pprt d jako wyjścia...
Witam Zrobiłem sobie układ na ATmega8 z dwoma diodami. Podłączyłem jedną do d1, drugą do d4. Chciałbym żeby mrugały na przemian, napisałem taki programik: $regfile = "m8def.dat" Config Portd = Output Portd = $b11111101 Do Waitms 100 Toggle Portd Loop End Diody migają, ale równocześnie. Co powinienem zmienić żeby migały raz jedna, raz druga? Dziękuje...
Witam. Zainteresowałem się tym projektem. TVB_atmega8a.ino: In function 'void xmitCodeElement(uint16_t, uint16_t, uint8_t)': TVB_atmega8a:92: error: 'TCCR2A' was not declared in this scope TVB_atmega8a:92: error: 'COM2A0' was not declared in this scope TVB_atmega8a:92: error: 'COM2B1' was not declared...
z gory naprawde przepraszam za lamerstwo tego pytania!!!!! zaczynam wlasnie z ta dziedzina - kupilem w/w programator (zamontowany na LPT1 wgrany USERPORT w WinXP) zlozylem schemacik i znalazlem program do niego $regfile = "m8def.dat" $crystal = 80000 Config Pind.0 = Output Config Pind.1 = Output Przekaznik Alias Portd.1 Triak Alias Portd.1...
Witam, Piszę sobie program w c na atmega8. "main" ma około 800 linii kodu + używam bibliotek V-USB. Kompilacja WinAVR. Wgrywam go stk500. W momencie gdy program po kompilacji zaczął zajmować więcej niż ok. 75% całej pamięci flash procesora, zaczęły dziać się dziwne rzeczy. Raz program po wgraniu działa, a zaraz po dopisaniu małej zmiany w kodzie już...
Witam, Na wstępie zaznaczę, że nie jestem pewien czy piszę w dobrym dziale, jednakże nie znalazłem odpowiedniego do zmieszczenia zlecenia. Zlecę napisanie programu dla µC ATMega8 realizującego funkcje: - Woltomierz / amperomierz (w zasadzie podwójny woltomierz) - pomiar z wykorzystaniem przetworników ADC; - Multipleksowa prezentacja wyników na...
Witam wszystkich, Od dłuższego czasu zmagam się z zaprogramowaniem układu Atmega8 i jak na razie mi się nie udaje. Żaden z programów (ponyprog200, AVR studio 4 itp.) nie wykrywa mi procka. Co może być nie tak? - Posiadam Atmegi8, programator STK200. - Port LPT1 odblokowany. - Zasilanie +5V dla Atmegi8 i programatora - Piny z programatora podłączone...
Witam, jestem w trakcie pisania programu dla line follow'era i chciałbym za pomocą switcha włączać i wyłączać robota (konkretnie serwa), coś na zasadzie przycisku on/off. Do tego celu chcę użyć przerwań zewnętrznych w ATmedze8 i switcha, za pomocą którego będę zmieniał stan na pinie PD2 (INT0). Program niestety nie działa jak należy. Raz na kilka przypadków...
Nie można w tej sytuacji użyć programowego podciągania do plusa?
Może kolega nie zna podstawowych zależności tabeli ASCII. Do każdej cyfry dodaj 48 i wyświetli się poprawnie ta o którą chodzi. 0 + 48 = 48 i właśnie 48 oznacza zero. Są też ścisłe zależności pomiędzy dużymi i małymi literami.
Dość prostym układzikiem jest TDA8444. Obsługuje się go przez I2C. Jako maksymalne napięcie podajesz na pin Vref napięcie świecenia diody w pełni. Masz do dyspozycji 8 wyjść, na każdym z nich możesz ustalić sobie napięcie w skali 0-64 * Vref. Maksymalny wypływający prąd z każdego wyjścia to 10mA więc w zależności od diody, musiałbyś na wyjściach zastosować...
Program masz całkowicie źle napisany. Zacznij od sterowania serwami, ale tak, żeby nie używać delay. Czyli całe sterowanie musisz zrobić w przerwaniach. Najlepiej tak, że w procedurze obsługi przerwania inkrementujesz jakąś zmienną i porównujesz ją ze zmiennymi określającymi szerokość impulsu dla konkretnego serwa (skoro masz 10 to będziesz miał tablicę...
Zamówiłem już jakiś czas temu trochę części, programator USB ASP i ATmege 88PA problem jest taki Oczywiście, że można się tak katować. Koledzy już napisali czmeu to może nie działać. Ja dam ci dobrą radę dla początkującego - kup sobie Xplained mini z Atmega 328 - ten sam procesor, tylko masz 32 kB FLASH, płytka tania, na pokładzie programator + debugger...
https://obrazki.elektroda.pl/1420902700_... Przedstawiony poniżej projekt to bardziej miniaturowe dzieło sztuki i wynik zręcznego lutowania niż zupełnie nowatorskie urządzenie, ale uważam, że taka niesamowita konstrukcja zasługuje na uwagę. Najciekawsze w tym jest to, że polutowany w ten nietypowy sposób w pełni działa. Autor Freeduino,...
To nie są przerwania na PB1, 2, 3, a sprzętowe wyjścia timerów. NA ATmega8 masz trzy wyjścia PWM - dwa z T1 i jedno z T2. Nie wiem, ilu w końcu potrzebujesz. Jednego powinieneś użyć do generowania 36 kHz, kolejnego (a może dwóch) do sterowania silnikiem. Czemu mają służyć te zabawy z przerwaniem timera i programowym machaniem nogą uC?
Witam. Zasymulowalem ta procedure odbioru danych przez SPI w AVRstudio i wszystko dziala. Jednak są 2 uwagi : 1) odebrano = odebrano << 1; - nalezy umiescic zaraz na poczatku pętli for , gdyż po umieszczeniu tego na koncu, przy maksymalnej wartosci wejsciowej 1111111111111111 (65535) , ostatni bit powinien dodawać 1 lub 0 do wyniku a w tym przyladku...
Jedyna zworka na programatorze służy do wyboru pomiędzy napięciem 5V a 3.3V, innej nie widzę. Bo inne nie zostały zamontowane w miejscach oznaczonych JP2 i (JP3). Nowszy firmware supportuje auto SCK zgodnie z avrdude.conf; albo opcja -B. Jeżeli używasz avrdude z okna "<cmd" , to możesz spróbować zmniejszyć prędkość SCK przez stosowanie opcji -B...
Pin ICP nadaje się jeśli chcesz określić np. długość impulsu. Dla enkodera się nie nada - enkoder daje sygnał w kodzie Graya, ponieważ M8 nie ma sprzętowego dekodera tego kodu musisz to zrobić programowo. Aby nie czekać w pętli i ciągle nie sprawdzać czy coś się nie zmieniło wyjścia z enkodera trzeba podpiąć pod wejścia generujące przerwania. W handlerze...
Hej! Nic nie zapomniałem :) , tylko poprostu zawsze korzystając z przycisków podciągam wejscie pod plus 5V (Rezystor 10k). Z praktyki przekonałem się że jest to o wiele pewniejsze rozwiązanie niż ustawianie programowo stanu wysokiego. Pozdrawiam
Atmega ma jeden przetwornik ale 8 wejść analogowych. Kanały przełącza się wewnętrznym multiplekserem - programowo.
No to napisz PWM programowy ;)
Każde wyprowadzenie może być użyte jako I2C. Wystarczy obsługa programowa.
I brakuje jeszcze histerezy programowej.
nexus6 --> w tym temacie do którego podawałem ci link, do taktowania właśnie takich rejestrów przesuwnych zostały użyte zwykłe linie portów I/O za pomocą których zrobiony został programowy SPI - więc w czym miałby być problem?
To i ja się pochwale, na razie zrobiłem jeden na próbę (programowy PWMx8 ATmega8). https://filmy.elektroda.pl/49_1294605482...
I sprawdź, czy aby na pewno prędkość oscylatora zgadza się z programową.
Mówię oczywiście o AVRach i o programowym multitaskingu.
Płytka robiona w Eagle. Ja także zapalam każdy podstopień osobno i steruję jasnością poprzez PWM (ale programowy gdyż mam 17 stopni).
Witam Nie twierdzę że jest to rażący błąd, ale "naciskaczki" podłączył bym do masy z programowym podciągnięciem do Vcc. Bardziej odporne na zakłócenia. Pozdr.
Dla 74HC165 linia ST_CP powinna być ustawiona na 1 podczas przesuwania a u Ciebie zostaje na 0. Jeśli funkcja void Trigger_Latch(void) jest dobra dla 74HC595 to w funkcji odczytu ustaw ST_CP na 1, a po zakończeniu odczytywania z powrotem na 0.
Zobacz sobie pdf jakiegoś AVRa, który ma interfejs pamięci zewnętrznej (ATMega64,128 itd). Tam znajdziesz wykresy pokazujące zależności czasowe na tym interfejsie. Na ATMega8 łączysz wszystko identycznie, z tym, że zależności będziesz musiał wygenerować programowo, bo ten procesor nie ma interfejsu do pamięci.
Tak TWI które jest sprzętowe zaś I2C to programowa interpretacja.
Chciałbym się dowiedzieć jak taka operacja zamiany wyjścia programatora, albo w ogóle wymiana programatora wygląda w tym konkretnym przypadku. Ktoś miał z czymś takim do czynienia? Na pokładzie jest "programator" STK200/300. Obecnie jest on nieprzyszłościowy, nierozwojowy i ma więcej wad niż zalet. Co zrobić? Kupić inny programator ze złączem ISP 10pin:...
W tym projekcie nie podłącza się kondensatorów przy kwarcu. Poprzez ustawienie fuse bitów włącza się wewnętrzne kondensatory. A dokładność zegarka ustawia się programowo. pozdrawiam
Kiedyś widziałem jak ktoś programowo niwelował drgania poprzez "puszczenie sygnału przez rejestr". Nawet to dosyć dobrze działało. Działało to w taki sposób że przy każdym kolejnym wywołaniu pętli programu, na początku rejestr (np. 8 lub 16 bitowy), przesuwany jest o jeden w prawo, a na najmłodszą pozycję wpisywany jest stan z wejścia (przycisku). Dalej...
Pewnie że inny schemat. Tak mam wsadzony procesor. Ale zmienić piny- to proste. A poprawić program- to już nie. Akurat mam zaprogramowaną ATMega32 do sterowania ośmiu serw. No i wyprowadzam te sygnały na płytkę z ATmega8- na której jest postawiony program do programowego PWM. No i sprawdzam, kombinuję- ale jeszcze nie to. Może któryś z "mędrców" sprawdzi.
Witam, Jakim kwarcem kolega popędza ten układ? Podłącz diodę led do portu (przez rezystor) i migaj nią co 1 sekundę (programowo). Wtedy będziesz miał pewność, że procek popędzasz takim zegarem jak zadeklarowałeś.
Faktycznie, z noty wynika, że RFM73 ma wejścia 5V tolerant. Tylko niewiele to zmienia, bo max Vdd to 3,6V. A odłączenie Vdd nie wchodzi w grę, bo wtedy zabijemy układ przez bardzo prawdopodobny latch up. Wnioski są dwa: 1. Kupić porządny programator, o którym wspominał kolega piotrva - najprostsze doraźne rozwiązanie. 2. Zauważyć fakt odchodzenia układów...
podstawa programowa atmega8 atmega8 programowa kwarc bascom atmega8 programowa
kondensator iskrzenie nierówny praca wolne obrót budowa tunel
Zamiana przekaźnika elektromagnetycznego na pozystorowy w lodówce Tryb serwisowy i kasowanie błędów pralki Bosch WLM20440PL/02