Witam 1. Proszę w google wpisać słowo klucz "AVR operacje bitowe" ( >> << & ^ ~) 2. Dobrze użyć #define do opisania co to jest LED0, LED1, jeśli zmieni się miejsce przyłączenia diody to później trzeba będzie pilnować każdego odwołania do takiej diody. 3. Nie ma potrzeby zmieniać stanu wszystkich 8 bitów portu D, wystarczy przesunąć ten...
Potrzebuję pomocy w zaprogramowaniu układu tak żeby po naciśnięciu przycisku zapalała się pierwsza dioda po naciśnięciu 2 raz 2 dioda i tak do 10 diody (po 10 naciśnięciach przycisku) i 2 przycisk gaszący je wszystkie. Z góry dziękuję za pomoc przeszukałem całe forum testowałem różne opcje ale nie znalazłem odpowiedniej dla mnie
Chodzi Ci o zapalanie diody stanem niskim? Musisz ustawić kierunek pinu na wyjście i wpisać do niego 0. Tylko tyle:) P.S. Sprecyzuj, czy chodzi Ci o zapalanie diody, czy obsługę jakiegoś przycisku, po naciśnięciu którego dioda ma się zapalić.
Witam, Bawię się od jakiegoś czasu Atmega8 i językiem C. Mam problem napisałem krótką instrukcję . Diody podłączone mam do Portów PD0,1,2, chcę żeby zapalały się one kolejno ( zapalanie kolejnej nie gasi wcześniejszej). /* przykład 2.1 "leds.c" */ /* 8 diod LED przłączonych do portu D */ /* ATmega 1MHz */ #define F_CPU 1000000L #include <avr/io.h>...
W programie sterowanie diodą D1 jest na porcie B, nie C.
Najpierw wklep mój kod. Problem miałeś w braku podciągania PinB2 do VCC, i w tym że najpierw gasiłeś diodę a potem ją zapalałeś w ifie i tak w kółko. Więc jak już to by CI bardzo szybko migała.
Program ważna rzecz, ale z tego co widać anodę diody podłączyłeś do uK a katodę do masy, czyli niby prawidłowo a jednak nie. Uk mają to do siebie eż ich wydajność prądowa na port jest "mała". W przypadku Atmega8 absolutnie max prąd na pin wynosi 40mA. Diody powinny być podłączone odwrotnie czyli plusem do zasilania a minusem do portów uK. Wtedy dioda...
Witam wszystkich Mam następujący problem. W moim programie występuje linijka, gdzie po wciśnięciu przycisku wykonuje się wiele instrukcji, m.in. zapalam diode. W trakcie działania programu wszystko jest OK. Ale problem jest po włączeniu układu do zasilania, gdyż wchodzi on w pętle gdzie warunkiem jest wciśnięcie przycisku pomimo, że wciśnięty nie jest....
Witam. Niedawno zaczolem przygode z mikrokontrolerami i napotkalem pewien problem. Układ ma zapalac z przycisku wszystkie 4 diody na raz , po nacisnieciu tego samego przycisku powinnien gasic te diody. Zapala natomiast diode 1, 2 ,3 a wygasza 4 i odwrotnie. Wklejam kod: #include <avr/io.h> #include <util/delay.h> #define LED_1 (1<<PB1)...
A może odbieraj większy string i sprawdzaj pierwszy znak.
Wgrywam ten kod i ciągle pali mi się 1 dioda led. Dlaczego? [syntax=c] #include <avr/io.h> #include <stdlib.h> #include <util/delay.h> #include <math.h> #include "HD44780.c" int main(void) { DDRD = 0xFF; DDRC = 0x00; PORTC = 0x0f; while(1) if(!(PINC&(1<<PC4))) PORTD = (1<<PD0); if(!(PINC&(1<<PC2))) PORTD...
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 mam problem z atmega8... Otóż podłączona jest do płytki stykowej, kalkulator MkAvr rozpoznaje procesor, programy w Eclipse ładnie się kompilują, ale jak napisze pierwszy prosty program i skompiluje czyli taki jak w załączniku to dioda powinna się zapalić (dodam że korzystam z kursu jak w linku) http://www.youtube.com/watch?v=jsek2VHDQ... Zmierzam...
Dioda po włączeniu zasilania miała mignąć 12 razy i zgasnąć. Może ktoś znajdzie mi błąd. Bardzo proszę o pomoc.
Bawię się portami wejścia wyjścia używając atmega32 w zestawie startowym ZL3AVR (http://www.btc.pl/pdf/zl3avr.pdf). Zwarłem zworkę małej klawiatury (JP3), połączyłem wyjścia klawiatury w1..w4 do PB0..PB3 oraz wyjścia PA0..PA2 do LEDów D0..D2. Program, który mnie męczy: .INCLUDE "m32def.inc" ldi R16, 0b00000111 // ldi - ładuje rejestr wartością...
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...
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. Jestem na etapie czytania książki "Programowanie mikrokontrolerów AVR w języku BASCOM", kilka dni zajęło mi budowanie programatora i płytki z diodami do testowania Atmega8. Na pierwszy ogień poszedł oczywiście najprostszy program ze strony 87 - schemat ideowy układu na stronie 86. Mój problem polega na tym, że kiedy wgram bez błędów programik...
Mam problem z prostym sterowaniem diody RGB. Robiłem dużo bardziej złożony układ z LCD, Irdą ale na płytce stykowej i z atmegą8 w obudowie DIP i nie było żadnych problemów. Robiąc wersje ekonomiczna już na PCB z atmegą8 w TQFP męczę się cały dzień i nie mogę znaleźć przyczyny dziwnego zachowania układu a mianowicie po wgraniu sprawdzonego programu na...
Mam problem z diodą LED którą steruje programowym PWM na Atmedze8 . Dioda ta jest częścią większego urządzenia w którego skład wchodzi m.in. LCD. urządzenie to jest zasilane ze stabilizatora (7805) filtrowanego dwoma kondensatorami 47uF i pobierającego zasilanie z ładowarki od telefonu komórkowego. Niestety zauważyłem że podczas płynnych przejść dioda...
Cześć, mam problem. Jestem w trakcie pisania mojego programu do sterowania przekaźnikami radiowo, na podczerwień i przez komputer. Na płytce są dwie diody, czerwona(PC5) i zielona(PC4). Chcę aby mikrokontroler zaświecił diody na czas jednej sekundy, zgasił ją i tak trzy razy powtarzał. Nie rozumiem dlaczego diody świecą "ciągle", bez żadnych mrugnięć...
Jeszcze raz dziś ja :) Zbudowałem zestaw startowy z popularnego kursu AVR Gcc dla AVrów, Zbudowałem zasilacz z transformatora, mostka i kondensatora, gdzie na wyjściu po wyprostowaniu było 16V. Podłączyłem do stabilizatora 7805 i całosc do układu z diodami i uC. .... ....wszystko zaczęło sie grzać w szczególności Mega i 7805 co wydaje sie dziwne otó...
I tu jest moje pytanie, gdzie jest błąd w moim myśleniu? Nie masz żadnej zmiennej, która by stanowiła część niezbędnego w tym przypadku "programowego przerzutnika RS". Obecnie opierasz się tylko na stanie pinów wejściowych. Każdy przycisk powinien mieć swój licznik, pomniejszany w przerwaniu; oraz zmienną pamiętającą ostatni stan wejścia i wyjścia....
Witam nie moge sobie poradzic z napisaniem programu. Mam napisane zapalanie przyciskami ale nie moge sobie poradzic w napisaniu funkcji : -mam 4 przyciski i zapalaja 5 diod -jak przytrzymam 1-przycisk 2sek to maja sie zapalic wszystkie diody -jak przytrzymam przycisk 4- 2 sek to ma sie zapalic 1 dioda pomoze mi ktos? $regfile = "m8def.dat" 'informuje...
Zlecę wykonanie programu sterownika prostej reklamy (sygnalizatora - kierunkowskazu) na atmega8 Program na procesor atmega 8 i 19 wyjść na diody LED i 3 wejścia (sterowanie po podaniu minusa): Wejścia:PD0-PD2 1. wybór funkcji (przyciskając przycisk zmieniają się funkcje po kolei w kółko) 2. + (przyciskając przycisk zaczyna się zapalanie od1-19) 3. -...
Czesc Zaczynam zabawe z programowaniem mikrokontrolerow. Na poczatek postanowilem pocwiczyc na uC Atmega8. Programuje go w AVR Studio 4.14 w jezyku C. Oczywiscie na pierwszy ogien poszlo zapalanie diod. No i wszystko dziala do momentu kiedy umieszczam pętle w petli: #include <util/delay.h> #include <avr/io.h> void zmiana(){...
Muszę cie kolego zmartwić:) bo w trakcie rozmowy na forum zasada działania przeszła małe modyfikacje:) Tzn: diod jest 19 ponieważ doszedł jeszcze jeden klawisz który włącza wszystkie diody od razu, i świecą tak długo jak podawane jest sterowanie:) i zmieniła się kolejność zapalania diod: zapalanie 1-2-3-4......19 przerwa 3 sek. wygaszanie 1-2-3-4......19...
do don diego Zakupiłem Sparrow Kit - 1 ARM AT91S256 starter kit i na tym zaczynam zabawę. Odnośnie doświadczenia z AVR to jeżeli coś potrzebuję to korzystam z Atmega8 i programuje w bascomie bo najszybciej. do Freddie Chopin czy to troche nie przesada Nie mam innego wyjścia muszę zrobić pracę dyplomową na drugi rok i muszę coś zrobić w assemblerze....
Ale to rozwiązanie nie pozwala mi na zapalenie dowolnej diody w kolumnie lub wierszu bo jeśli załącze dany wiersz to automatycznie załączanie kolumn wymusza zapalanie diod w tym wierszu nawet jeśli nie chce by dana dioda się świeciła. Chyba, że trik polega na przemiataniu czyli cyklicznym załączaniu kolumn/wierszy? Niestety to rozwiązanie zajmie mi...
Zadanie jest proste, naprawdę. Zadanie można podzielić na 4 podzadania: - obsługa i odczyt temperatury - obsługa i odczyt klawiatury - obsługa wyświetlacza - zapalanie diody Każde z tych zadań jest w miarę proste. Na sieci jest mnóstwo przykładów. Wystarczy w głównej pętli programu sprawdzać klawiaturę, w zależności od sytuacji odczytywać temperaturę,...
Witam. W uzgodnieniu z autorem tego wątku zgłaszam sie z problemem dotyczącym programu sopelka, który zmodyfikowałem dla wzoru sopla 20 diod. Na warsztat poszła atmega8 tylko do testów z racji łatwego podłączenia na płytce stykowej, na której umieściłem też diody. Pierwszy test z programem autora na 12 diod - pomyślnie. Wszystko hula jak trzeba. Postanowiłem...
Witam, Wiem, że podobne tematy były jak mój lecz nie znalazłem rozwiązania a siedzę już ponad tydzień czasu nad tym. Robię czujnik reagujący na odbitą wiązkę z diody IR 920nm. Wykorzystuje atmega8 do generowania nośnej 36kHz lecz mam za mały zasięg. Reaguje dopiero na odległości około 20cm a potrzebuje 1m. Pin B.1 odpowiedzialny jest za podawanie impulsu...
Buduję robota i doszedłem aż (lub dopiero) do tego miejsca. Otóż mam problem z ww. komparatorem. Robot ma zadanie line-following (m.in.). Posiadam trzy fotorezystory. Podaje środkowy i skrajny na jeden komparator, a środkowy i drugi skrajny na drugi komparator (Na wyjścia w układzie scalonym LM339 - dop.). I tyle wiem teorii - z praktyką gorzej. Jedną...
A wiec tak: Gdzie się podziało zainicjowanie licznika podczas wejścia w procedurę przerwania, drogi kolego ? oto ona: // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x40; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00;...
Rozwiązałem oba problemy. 1. Wskazywanie temperatury maksymalnej powyżej 35 stopni. Odpowiedzialne za to było resetowanie zmiennej Tmin i Tmax. Zamiast: [syntax=basic4gl]Tmin = T Tmax = T[/syntax] musiałem inaczej "wyzerować zmienne". W sumie nie wiem dlaczego tak, rozwiązanie znalazłem gdzieś w sieci bez wyraźnego wytłumaczenia. Wcześniej gdy ten sam...
Witam koleżanki i kolegów. Kiedyś zbudowałem taki zegarek teleekspresu na podstawie kitu Nord Elektronik. http://obrazki.elektroda.net/39_12652769... Posiada on następujące wady: 1) Spieszy około 2 - 3 minut na tydzień (brak jakiegokolwiek RTC) 2) spory pobór prądu (o 08:08:59) wartość => 300mA 3) efekt wiatraka - diody są zapalane dynamicznie...
1. pobierasz napięcie z ADC 2. przeliczasz na odpowiednią liczbę diod 3. zapalasz diody
Przed zapaleniem jednej diody powinieneś zgasić te dwie pozostałe: [syntax=c] if(pomiar<30) { PORTB |= (1<<PB2) | (1<<PB3); // gasisz diody na PB2 i PB3 PORTB &= ~(1<<PB1); // zapalasz diodę na PB1 } [/syntax]
wyrzuc przekaźnik z dioda i zobacz czy Led sie będzie zapalał
Jeśli już, to nie trzy stronicowa tabelka zbiorcza, tylko pełna dokumentacja: Atmel AVR 8-bit Instruction Set Przepraszam, nie wszystkie mikro konrolery posiadają takie rejestry jak RAMPZ , RAMPY itd. W temacie jest mowa o ATmega8 , więc piszę jedynie o tym typie MK. Wcale nie zapomniałem. Czy Twoje oko spotrzeże zmianę świecenia diody na pinie na...
W telegraficznym skrócie - w "nadajniku" wysyłasz znaki komendą PRINT, np "A" dla pierwszego LEDa i "B" dla drugiego. W odbiorniku odbierasz dane z UARTu (inkey) i jeśli jest "A" to zapalasz jedną diodę, jak doszło "B" drugą.
Proponuję: if (r >=g && r >= b) PORTD |= _BV(PD4) Analogicznie dla "g" i "b". Należy także gasić wszystkie diody przed sprawdzaniem warunków. Założyłem, że stan wysoki na porcie zapala diody. Jeśli zachodzą warunki podane przez kolegę Andrzej_S , to zapalają się te diody, które są równe pod warunkiem, że są to wartości największe.
Czyżby kolejny zegar binarny... Wszystkie porty jako wyjścia. Przy takim podłączeniu możesz sterować jednocześnie tylko jedną kolumną diod. Chcąc uzyskać efekt ciągłego świecenia musisz w sposób ciągły zapalać kolejne kolumny. Czyli w pętli na port C wysyłasz odpowiednie dane, a potem zapalasz odpowiednią kolumnę wysyłając na PD 1 następnie wysyłasz...
0 zapalasz diode tak masz podłączone to dlaczego else w przerwaniu timera zapala diodę?
brak podciągania programowego pinu z przyciskiem dodaj Set PORTB.0 zaraz po konfiguracji PORTB jako wejście i przycisk zamontuj tak, żeby zwierał do masy, a nie do vcc, a jeśli musi być do vcc, to daj między pinem procesora, do którego podłączasz przycisk, a gnd rezystor 1k i nie dawaj tej komendy Set ... poza tym pokaż schemat całości i powiedz co...
Wyobraź sobie, że przerwanie występuje co 500ms a do procka podłączona jest dioda. Co pół sekundy dioda zapala się i gaśnie. Okres przebiegu to będzie czas świecenia i wygaszenia diody czyli jedna sekunda. Jeśli przerwanie było by generowane co sekundę okres wynosił by wtedy dwie sekundy.
U mnie po dopisaniu linijki, którą podałem Ci w poprzednim poście program działa i dioda mruga :)
Problem rozwiązany :) Jako kolejne ćwiczenie proponuje zrobić żeby dioda płynnie się wygaszała i zapalała - PWM.
Tak w sumie to z czym masz problem - z odmierzaniem czasu, czy zapalaniem i gaszeniem ?
Witam, Problem wydaje się prosty. W przerwaniu timera wysyłasz dane do obu rejestrów jeden po drugim. Jeden z rejestrów (SR0) odpowiada za wybór diod w danej linii, drugi (SR1) za wybór linii. I teraz zobacz jak ten program się wykonuje: Przesyłasz dane do SR0 - dane linii pierwszej Przesyłasz dane do SR1 - numer linii pierwszej Odstęp czasowy. Przesyłasz...
Chodzi o brak break; wiem że po winno być na końcu nie zapomniałem o nim, chodzi o to że przy takim kodzie diody w ogóle się nie zapalają.
To proponuje strawdzić na jaką wartość są ustawione fusebity odpowiedzialne za Brown-out. A zamiast jakiegoś migania diodami jako program głowny proponuję po prostu pin na którym jest podpięty led ustawić jako wyjście i po prostu zapalić diodę. Zakładam że led jest podpięty do plusa więc trzeba tam wpisać 0 i wprowadzić program w pętlę bez końca. Dioda...
chciałbym przez atmega8 sterować zapalaniem i gaszeniem poszczególnych 25 diod. Ilość nóżek na atmega88 oczywiście to uniemożliwia. Co podpiąć pod mikrokontroler by sterować taką ilością diod i każdą niezależnie?Coś pod i2c z 25 kanałami?
odświeżam posta. Jak mogę wysterować atmega8 tak by w zależności o wysokości amplitudy impulsu zapalała się odpowiednia ilość diodek?
Dzięki wielkie z tym STOPem , rzeczywiście sprawdziłem jeszcze raz całość i natknąłem się na błędy typu oczekiwanie na TWINT po wysłanym stopie :P już wszystko działa, tylko przy drugiej próbie wysłania bajtu TWSR przyjmuje inne wartości ( może odbiera repeated start ? chyba nie , w końcu stop był ) ale po zamianie [syntax=c_loadrunner]while(TWSR!=0x80);[...
koniecznie zajrzyj na tą stronkę, którą podałem tu w swoim pierwszym poście - zobacz jak tam gościu wręcz na pająka robi układziki na Atmega8 ;) podłączysz sobie w ten sposób na początku diodę LED i pobawisz się nią, na początku proste miganie za pomocą pętli opóźniających - to podstawa , później poznaj Timery dzięki którym będziesz mógł zastąpić procedurki...
Wyrzuć goto i bitwait. Wykorzystaj debounce i w jednym podprogramie gaś a w drugim zapalaj diodę.
cały układ pobiera 160mA ;). Zapalałem wszystkie narazie więc tu niema problemu
Mam wątpliwość co do stałego podpięcia złącza reset do zasilania. te +5V przy resecie jest otrzymane z stabilizatora. Reset działa poprawnie, sprawdziłem po napisaniu prostego programu co zapala na przemian 2 diody, po przyciśnięciu wraca do początkowego stanu. Ta poprawność działania polega na zwarciu zasilania. Jak zasilacz wytrzyma, to rób tak dalej....
Musisz dać zewnętrzne układy bo przy takim sposobie wyświetlania trzeba zapalać diody większym prądem żeby świeciły odpowiednio jasno.
A co to jest: PORTD &= !(1<<PIND5); ma być raczej PORTD &= ~(1<<PIND5); analogicznie zapalanie : zamiast PORTD = (1<<PIND5); lepiej PORTD| = (1<<PIND5); Czy "fire_isr" jest Volatile?
Witam. Zaczynam naukę programowania. Posiadam atmege8 .Napisałem prosty program(w Bascomie) , który ma zapalać diodę na 1sek. , po czym ją gasić na 1 sek. Po zaprogramowaniu dioda zapala się na ok. 8 sek. ,i gaśnie też na ok. 8 sek. dlaczego?
Co prawda zaledwie domyślam się, o co może Ci chodzić, ale proponuję zabrać się za to zupełnie inaczej. Nie trzymaj jasności w tablicy, trzymaj tylko ew. zera i jedynki (jako bity w słowie) określające, którą diodę chcesz zapalić, a którą zgasić. W każdym okresie PWM zmieniaj wypełnienie o 1 w górę dla zapalanych i w dół dla gaszonych. Ja robię to tak,...
Dobra już działa. Miałem zwarcie na płytce. Ale jeszcze mam jedno pytanie: Jak zrobić żeby po kliknięciu switcha dioda zapalała się a po następny kliknięcie gasła? Trzeba zapisywać to w jakies zmiennej?
zapalanie diody atmega8 zapalanie diody atmega8 pętli zapalanie gaszenie diody
kabel satel integra zasilanie dochodzi reakcji płynący punkt
Problemy z biegami w Renault Laguna II 2.0 Turbo 2005 Saunier Duval nie działa po wymianie baterii w sterowniku