Całkiem możliwe... bo masz delaya w przerwaniu... Spróbuj jeszcze w pętli głównej zrobić tylko miganie diodą bez użycia przerwań... z delay(1000) i 2x delay(500), albo jakimś mniejszym... potestuj
Jeżeli masz watchdog ustawiony na stałe a brak w programie jego kasowania to tu może być przyczyna. Pzdr. N.
Dla tego napięcia powinien być opornik ok.220-470ohm , drugą końcówkę podłącz do + zasilania , bo procek ma obciążalność 20mA przy stanie niskim.
Od pierwszego programu do obsługi wyświetlacza daleko. Bascom jest prostszy niż C++ ale ma znacznie mniejsze możliwości. Na początek chyba lepiej pobawić się diodami. Programy typu włącz-wyłącz, miganie diody itp. To pomaga w zrozumieniu działania mikrokontrolera (przynajmniej ja tak zaczynałem).
Akurat podłączenie diody nie ma tu znaczenia bo przecież jak by ją nie wlutować to będzie migać bo dostaje raz 0 a raz 1. i weż sobie kurde zasilacz stabilizowany a nie impulsowy
Niestety, też tak próbowałem i nie działa tak jak założyłem. Po zamianie negacji miejscami diody migają w odwrotny sposób, czego można było się spodziewać, ale nadal jest taki moment, gdy wszystkie diody są zapalone.
Proponowałbym również modyfikację układu pod kątem alternatywnych funkcji pinów. Wspominałeś, że chciałbyś poćwiczyć na początku miganie diodami i sterowanie przyciskami. W porządku, jednak szybko to opanujesz i apetyt wzrośnie :) Po opanowaniu zwykłego sterowania diodami, myślę że rozsądnie byłoby zaznajomić się z obsługą przerwań, która jest kluczowa,...
Witam. Tak jak w temacie podłączyłem Atmege8.Pod PB0 podpiąłem LED,a do PC0, PC1 i PC2 przyciski zwierające wejście do masy. Układ ma generować miganie diody w następujący sposób: -wciskam PC2 uruchamia się generowanie częstotliwości co widać na diodzie LED -za pomocą przycisków PC0 i PC1 zwiększam lub zmniejszam częstotliwość migania diody. Kod napisany...
Żeby sterować diodą za pomocą atmegi należy wykonać szereg kroków w odpowiedniej kolejności 1. poczytać o mikrokontrolerach 2. poczytać datasheeta od danego mikrokontrolera 3. zakupić układ, złożyć, podłączyć 4. napisać program, zaprogramować Pominąłeś dwa pierwsze kroki. Nie dziw się, że nikt nie chce ci odpowiedzieć. Po prostu rzeczy o które tutaj...
po $crystal podawana jest częstotliwość w Hz, więc 1000000 jest ok dla domyślnie skonfigurowanej atmegi8. Z resztą to lepiej ustawiać w opcjach kompilatora. Aha i zamiast pisać: Do Waitms 250 Portb.0 = 0 Waitms 250 Portb.0 = 1 Loop wystarczy Do Waitms 250 Toggle Portb.0 Loop a to, że pierwszy listing działał wynika chyba z tego, że za każdym razem sprawdzane...
http://obrazki.elektroda.pl/2790824500_1... Witam. Chciałbym przedstawić projekt sterownika taśm RGB. Urządzenie pracuje pomyślnie w pokoju jako ambientowe oświetlenie sufitu. Sterownik pozwala na sterowanie zarówno pojedynczymi składowymi koloru (R-G-B), jak i jasnością całości. Urządzenie wyposażone jest w 9 przycisków RESET, R: +...
Na poczatku daj dyrektywe $crystal=1000000. ATmega fabrycznie pracuje z wewnetrzny zegarem 1MHz mimo podpietego kwarcu. Trzeba przestawic fusebity zeby zmusic procek do pracy z kwarcem. Pozdro Dexter
Proszę bardzo - kursik od podstaw: http://mikrokontrolery.blogspot.com/2011... z gotowymi programami, itp. a jak czegoś nie skapujesz - pytaj na tym forum :-) PS. Ode mnie 20 pkt, bo masz mało, a mogą się przydać na początku drogi.
Hmm... Spróbuj regularnie migać LED, jednocześnie komunikując się z PC, obsługując pomiar temperatury za pomocą 1wire (DS18B20) i wyświetlać ją na LCD, używając waitXX... ;) Timer0 jak nic do zastosowania... Tymczasem małe co nieco w załączniku (miganie LED z użyciem timera), zarówno dla ATmega8, jak i na ATmega8515. Ponieważ ATmega8 nie posiada przerwania...
http://obrazki.elektroda.pl/5406378100_1... Moduł Peltiera jest elementem, który przy przepływie prądu pozwala na transport ciepła ze strony "zimnej", na stronę "ciepłą", po stronie ciepłej wydziela się dodatkowo moc strat. Co ciekawe ogniwo Peltiera pozwala zarówno na ochładzanie jak również ogrzewanie (w zależności od polaryzacji)....
Witam, Podłączyłem diodę LED do ATmega8 i napisałem w C program do jej migania jednak nie działa. Próbowałem wszystkich dostępnych kodów w Internecie jednak efekt jest ten sam: dioda się pali non stop. Zauważyłem jedną dziwną rzecz: użycie _delay_ms(); jakby zatrzymywało działanie programu bo bez tej funkcji mogę bez problemu sterować pinem w stan niski...
Witam Zaczynam zabawe z ATmega8. Zbudowałem sobie taki układ: http://obrazki.elektroda.net/47_12727176... do µprocka wgrałem program: $regfile = "m8def.dat" $crystal = 1000000 Config Portc = Output Do Toggle Portc.0 Waitms 250 Toggle Portc.1 Waitms 250 Toggle Portc.2 Waitms 250 Toggle Portc.3 Waitms 250 Loop End i zastanawiam...
Dioda po włączeniu zasilania miała mignąć 12 razy i zgasnąć. Może ktoś znajdzie mi błąd. Bardzo proszę o pomoc.
Witam, zaprogramowałem sobie ATmegę8L takim oto kodem: $regfile = "m8def.dat" $crystal = 8000000 'Config Portd = &B00000100 'Portd = &B00110011 Config Portd = Output Config Portb = Output Config Portc = Output '--------------------Ustawienie LCD------------------ Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Pb.2 , Db5 = Pb.3 , Db6 = Pb.4...
Mam dziwny problem. Piszę sobie program o takiej treści: $regfile = "m8def.dat" Config Pinb.0 = Output Config Pinb.6 = Output Config Pinb.7 = Output Config Pind.5 = Output Config Pind.6 = Output Config Pind.7 = Output Led1 Alias Pinb.6 Led2 Alias Pinb.7 Led3 Alias Pind.5 Led4 Alias Pind.6 Led5 Alias Pind.7 Led6 Alias Pinb.0 Do Set Led1 Reset...
Witam, domyśliłem się, że gotowców nie robicie (w sumie to i dobrze:) ), tak więc zabrałem się sam za programowanie. Chcę napisać prosty program zapalający diodę, podłączoną do bitu 0 portu B, po przyciśnięciu przycisku podłączonego do bitu 0 portu D. Teoretycznie napisałem, ale nie chce to działać. Znalazłem link na forum gdzie problem był opisany,...
Witam. Chcę zaprogramować procesor Atmega 8, tak aby po przyciśnięciu przycisku1 zapaliła się dioda i świeciła do momentu zwarcia przycisku2. (przyciski zwierane do masy) Napisałem taki program, lecz w efekcie dioda cały czas świeci. Nie wiem co jest źle, może ktoś zauważy jakiś błąd: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 Config...
Witam, Mam problem z atmegą8A w wersji SMD. Przylutowałem ją do PCB które zrobiłem (schemat poniżej) i bez problemu udało się zaprogramować, niestety program nie działał jak powinien. Wgrałem więc prosty program do migania diodą (konkretnie jednym znakiem na wyświetlaczu 7 segmentowym 3 znakowym) i program dział tak jakby, ponieważ czasami przerywa...
Wykonałem zasilanie Atmegi8 podobnie jak na stronie: http://hobby.abxyz.bplaced.net/img/art00... Z kolei na innej stronie: http://mikrokontrolery.blogspot.com/2011... Pisze, aby 3 i 5 pin podłączyć do masy, a 4 i 6 do Vcc. Dodatkowo jest tam pin 29, a przecież atmega8 ma 28 pinów. Podłączałem Atmegę wg schematu...
Witam ponownie. Ponieważ nie zdążyłem odpowiedzieć na pytanie o schemat i program, a już mój temat znalazł się w koszu pomimo, że zamieściłem go w zakładce dla początkujących: http://www.elektroda.pl/rtvforum/topic26... to proszę o wyrozumiałość i informuję, że schemat wygląda tak: VCC i AVcc - plus zasilacza 5V GND (oba) - minus zasilacza RESET...
Koledzy może ktoś mi wytłumczy dlaczego miga tylko 1 dioda //definiujemy stany portu sterującego diodą LED #define LED_ON sbi(DDRD,PD1);sbi(PORTD,PD1&... #define LED_OFF sbi(DDRD,PD1);cbi(PORTD,PD1&... #define LED_ON1 sbi(DDRD,PD3);sbi(PORTD,PD3&... #define LED_OFF1 sbi(DDRD,PD3);cbi(PORTD,PD3&...
Jak na początkującego programistę błahy problem jest dużym problemem. Próbuje napisać taki program Opracowanie programu realizującego sekwencyjne zapalanie się diod LED w kolejności: LED0, LED1, LED2, LED3, LED0 itd. dla stanu logicznego „0” na wejściu SW0 oraz LED3, LED2, LED1, LED0, LED0 itd. w przeciwnym przypadku. Zmiana kierunku zapalania...
Witam! Mam problem żeby uruchomic procesor atmega8. Otóż, podłączam zasilanie do VCC, AVCC. Oraz mase do GND, AGND. Reset przez rezystor 20kΩ. Kondenastor 100 nF przy nozkach. Mam dwa takie procesory. Jeden ma program ktory ma jedynie zaswiecic diody na wszystkich pinach (z wyjatkiem kilku pinow), drugi ma inny program, ale to nieistotne jaki....
Witam Na razie bawiłem się Atmega8 i miałem podobnie. Sprawdź/poustawiaj fusebity ( ATMEGA8 jest tak ustawiona u producenta że chodzi bez kwarcu na wew. gen RC więc dziwię się że nie działa ale guru to ja nie jestem )
A czy ja powiedzialem ze jestem poczatkujacy miganie diody i wylaczanie i zalaczanie mam opanowane tylko mam problem z eagle zawsze plytki robilem w protelu
A jeżeli zrobię eksperyment - wezmę drugą ATMEGę (w obudowie DIL, bo TQFP niestety już nie mam, żeby podmienić), podepnę pod programator i podłączę do niej tylko diodę pomocniczą, switcha oraz odbiornik podczerwieni, zaprogramuję wsadem z tej lampki, to nawet przy podłączonym programatorze (żeby zasilić procka) układ powinien rozpoznawać komendy pilota...
Są programiści i programiści 0f ef 07 bb 03 95 08 bb fd cf ff wgrywamy to w dowolnego AVR i na porcie B migają sobie diody każda dwa razy wolniej od poprzedniej jak ktoś wątpi niech sprawdzi ... dla niektórych programatorów trzeba zrobić zamianę parami (ef 0f bb 07 95 03 bb 08 cf fd ) Moża też migać na wiele innych sposobów [syntax=asembler] sbi ddrb,portb0...
Prosty program: Miganie diody podłączonej do jakiegokolwiek portu B/C/D co pół sekundy. Kod w C (program na mikrokontroler ATmega8 1 MHz): [syntax=c]#include <avr/io.h> #include <util/delay.h> #define F_CPU 1000000UL int main (void) { DDRB = 0xFF; DDRC = 0xFF; DDRD = 0xFF; while(1) { PORTB = 0xFF; PORTC = 0xFF; PORTD = 0xFF; _delay_ms(500);...
nie zapala sie zadna dioda, fuse bity sa raczej ok z tego wzgledu ze jak napisze jakis prosty program np. miganie diody to w tym samym ukladzie na tych samych fuse bitach wszystko chodzi czyli procesor zyje. Niemoge znalezc problemu dlaczego niechce ruszyc, a jezeli chodzi o druga wersje programu to mam jakies bledy przy kompilacji i niemoge dojsc jak...
Znaczy Twój program działa idealnie ale moje nie chodzą co ja mam źle ?? A co rozumiesz pod pojęciem , że ci nie działa ??? Dioda LED podpięta do Portb.1 nie miga ci z prędkością co 150ms ??? gdy trzymasz wciśnięty klawisz ???? Tylko nie mierz napięcia - za to obserwuj miganie diody LED albo zwiększ czas ze 150ms do np 500ms Tylko podłącz to zasilanie...
Witam! Nie wiem czy w dobrym dziale to zamieszczam ale zaryzykuję. Otóż kupiłem niedawno dwa układy atmega8 i kilka układów attiny2313. Attiny działa mi bardzo dobrze, nie ma z nim żadnych problemów. Atmega natomiast działa ale dziwnie tzn, gdy napiszę program na miganie diody to ona tylko świeci, na attiny ten sam program działa. Zauważyłem, że atmega...
Witajcie :), Chciałbym się dowiedzieć jak zrobić prosty alarm na tym mikrokontrolerze [ATMEGA8]. Układ mam już zbudowany na płytce stykowej. Idea działania jest taka : - cały czas miga sobie dioda czuwania dopóki nie będzie sygnału niskiego na linii PORTU - KONTAKTRONU - GND - Gdy magnes nie będzie stykał kontraktonu gasi się dioda czuwania a zapala...
DDRB=0xAA (10101010) (wej,wyj,wej,wyj,ect...) PORTB=0xAA (10101010) (wys, niski, wys, niski...ect.) Czyli jeżeli dioda jest na wyjściu i ma stan niski to prąd i tak przez nią przepływa?? Więc powinienem zmienić diodę na wejście, tak? jak define'y odwrotnie. LED_ON to stan wysoki LED_OFF to stan niski. (chyba, że poprzez...
Witam! Jakieś dwa lata temu kupiłem sobie atmegę 8 i programator stk200, i chciałem ten zestawik jakoś zaprogramować, ale z powodu braku odpowiedniej wiedzy, źle podłączałem zasilanie i programator co często kończyło się mocnym nagrzaniem procka. Pomyślałem że kasa poszła w błoto, ale ostatnio znowu zachciało mi się pobawić elektroniką. Po przeszukaniu...
.... problem wynika z tego, że pin powinieneś podciągać do vcc, inaczej cały czas masz stany nieustalone czyli dodaj do inicjalizacji: DDRD &= ~(1<<PD3);//pin jako wejście PORTD |= (1<<PD3);//podciąganie wewnętrzne
Witam. Problem jest następujący: Po podłączeniu programatora do płytki stykowej z układem (migające naprzemiennie dwie diody led, po naciśnięciu przycisku miganie przyspiesza) wrzuciłem na Atmege8 program, który umożliwia działanie właśnie tego układu: [syntax=c]/* "led.c" - programik do testowania środowiska WinAVR */ /* układ ATmega 1MHz */ /* PB0,PB1...
Innym rozwiązaniem (jeszcze prostszym) jest zastosowanie tranzystora otwierającego się w pełni już poniżej 5V i sterowanie nim bezpośrednio z portu mikrokontrolera (przez rezystor np 200om). Obecnie jest dostępnych wiele niskonapięciowych MOSFETow w obudowach smd np. IRF7455. Bez drivera zwiększą się straty wydzielane na tranzystorze podczas przełączania...
Witam, dopiero zaczynam zabawę z mikrokontrolerami i pojawił się problem, oczywiście nie za bardzo wiem jak go usunąć. Polega on na tym, że napisałem sobie prosty program w bascomie, wgrałem go do atmegi i działa(coś w stylu sygnalizacji świetlnej)No działa, ale diody bardzo słabo świecą, ledwo ledwo(a czerwona w ogóle). Jak mierzę napięcie na skonfigurowanych...
w załączonym fragmencie nie masz kropki w m8def.dat program $regfile = "m8def.dat" $crystal = 1000000 Config Portd.0 = Output Led Alias Portd.0 led = 1 do led = 0 waitms 500 led = 1 waitms 500 loop end działa (sprawdzałem na płytce bez rezystora pod resetem) ale nie to jest problemem
Dzieki :) Za podpowiedź. Opisze może teraz troche mniej chaotycznie do czego ja dążę z tym mikrokontrolerem: Chcę napisać program który: 1. będzie generował dla mnie przebiegi sterujące servem 1a. długość impulsu z zakresu 900us 2100 us. przerwa pomiedzy impulsami 20 ms 2. będzie potrafił te impulsy rozpoznawać i generować odpowiednie stany na któreś...
Witam. Chciałem napisać prosty program miganie diody w avrstudio 6 dla atmegi8 z wykorzystaniem funkcji delay_ms().Następnie chciałem zobaczyć w symulacji jak owy program działa .I niestety niedziala.program kompiluje sie bez żadnych błędów i warnigow .Użyłem funkcji stepinto żeby zobaczyć w którym miejscu mojego kodu jest błąd i otwiera mi plik delay.h...
Witam. Dla czytelności Waszych kodów... Autor tematu: michas: michas powiedział chyba wszystko, co trzeba było powiedzieć co do samego kodu i kilku zawartych w nim błędów, a ode mnie jeszcze pytanie - czy zadbałeś o filtrację zasilania Twojego uC ? Jest to wbrew pozorom bardzo ważny temat jeśli chcesz, żeby nawet takie proste miganie LEDem działało...
Koledzy jestem początkujący jeśli chodzi o programowanie uP. Dzisiaj pierwszy raz zaprogramowałem Atmege8 i na samym początku napotkałem problem. Posiadam zakupiony programator na allegro "PROGRAMATOR ISP SI PROG 2.2 + ADAPTER EEPROM" programowałem z poziomu PonyProg2000 i niestety dwa AVRy martwe :cry: (działały przez jakiś czas a po którymś wgraniu...
Witajcie Obecnie mam zrobić projekt na studia (który musi zawierać elementy elektroniki z której jestem niestety kompletnie zielony bo studiuje informatykę). W związku z tym chciałbym się dowiedzieć czy sposób w jaki chce zrobić mój projekt ma jakikolwiek sens. Mam za zadanie zrobić pewnego rodzaju urządzenie które będzie posiadało ekran i wyświetlało...
Witam ponownie: Mam taki oto kod programu napisanego w C: #include <avr/io.h> #define F_CPU 1000000 #define CYCLES_PER_US ((F_CPU+500000)/1000000) //definiujemy stany portu sterującego diodą LED #define LED_ON sbi(DDRD,PD1);sbi(PORTD,PD1&... #define LED_OFF sbi(DDRD,PD1);cbi(PORTD,PD1&... //deklaruje LCD-ka...
Witajcie. Ostatnio zmagam się z obsługą klawiaturki analogowej składającej się z 3 klawiszy. Poradziłem sobie z uruchomieniem ADC na ATmedze8 i zrobiłem sobie 2 Timery programowe . Teraz próbuje zgodnie z przedstawioną przez Mirka (w filmach z cyklu "Przetwornik ADC - część 06") koncepcją zrobienia repeat klawiszy. https://www.youtube.com/watch?v=BdCCe6XO...
to zatrzymanie timera przed załadowaniem wartości jakby pomogło (przynajmniej nie zachowuje się dziwnie) teraz miga w równych odstępach ... Home Lcd "P=" ; P ; "us" Lowerline Lcd "I=" ; I ; "us " ; Licznik If Licznik = P Then Portd.2 = 0 End If If Licznik >= C Then Portd.2 = 1 Licznik = 0 End If ... Dobra odczepiam się od portów :) I już mówię dlaczego...
Uczę się programowania ATMegi8 z książki Pawła Borkowskiego: "AVR8 i ARM7. Programowanie mikrokontrolerów dla każdego." . Moje ćwiczenie wygląda następująco: W celu maksymalnego oszczędzania energii w telefonach komórkowych po kilkunastu sekundach bezczynności następuje automatyczne przejście w tryb zmniejszonego poboru energii. Ten fakt zaobserwowaliśmy...
Witam ! Zacząłem zabawę z avrkami - wcześniej dawno bawiłem się picem i asemblerem - teraz wracam w zmienione środowisko. Steruję sobie atmegą - diody mi migają, przyciski się wciskają, jednak lcd mnie doprowadza do pasji. Mam wszystko podłączone wydaje mi się jak należy - sterowanie 4bitowe, linie sterujące podłączone - wyświetlacz raczej sprawny -...
Witam. Mam następujący problem z SPI (i nie tylko) Najpierw opis układu: Atmega32A master SPI Atmega8 Slave. (przerwania) Wszystko taktowane wewnętrznie na 8MHz Do atmegi8 są przyłączone 4 wyświetlacze 12 diodowe WA przez tranzystory. Katody do portów (oczywiście z R) Wyświetlanie multipleksowane. Do tego 8 przycisków - jako, że brakło portów to "klawiatura"...
Jeśli masz diody podłączone do plusa włączasz je komendą Reset a wyłączasz Set. Set podaje na pin stan wysoki (czyli plus) i dlatego ci to nie działa jak chcesz.
Ciąg dalszy bojów z tym kodem i jeżeli to możliwe prozba o dalszą pomoc. Wiec tak , obecnie podaję czas pracy silnika X1 oraz czas postoju T(klawiszami zwiększam albo zmniejszam parametry X1 oraz Y). Generalnie będzie to jeden z dwóch trybów pracy, drugi ma być z ciągłą regulacją płynną klawiszami UP i Down. O co teraz proszę - o pomoc w skonstruowaniu...
Brak osi symetrii, dublujesz wymiary, na przekroju podaj wymiary średnicowe ze znaczkiem "Φ". Bazą jest zawsze otwór bo na nim mocujesz to koło. Rzut główny niczego nie wnosi. Zmień przekrój na pół widok - półprzekrój. https://www.google.pl/search?q=atmega8+M...
Tzn. chciałeś "przypisać" zmiennej x operację PORTB ^= 1<<PB0 ? Jeśli tak to: pomysł sensowny, ale niestety gwałcący zasady języka C ;) Mignięcie diody miało być w funkcji, która będzie kilka razy wywoływana w pętli, czyli chodziło mi o coś takiego:[syntax=c]//Funkcja migająca diodą void blink(void){ // Zapal diodę PORTB |= 1<<PB0; _delay_ms(300);...
Bo WGM12 jest w TCCR1B a nie w TCCR1A. W tym momencie Twój licznik pracuje w trybie Normal i liczy do 65536 i raz na taki cykl ustawia flagę od porównania czyli co 2,09 sekundy.
Nie mam pojęcia, ale jak już napisałem odnosisz mylne wrażenie, co udowodnił poprawnie działający program migania diodą.
A ja bym sprawdził czy przypadkiem AvrStudio nie jest w trybie symulatora a z drugiej strony czy przypadkiem nie jest tak że program programem a programowanie wykonuje się z zupełnie innego plku hex niż autor się tego spodziewa ?
atmega8 miganie miganie diodami atmega8 przetwornica miganie diody
linux zdalnie wyświetlacz lutownica sterowanie radio kierownica
zasilacz impulsowy schemat blokada konta
Ogranicznik przepięć 2P vs 3P – różnice, zastosowanie, sieci TN-S, PV, normy PN-EN 61643 Vaillant turbo Tec pro VUW PL 202/3-3 M R1 - nie osiąga zadanej temperatury