A może odbieraj większy string i sprawdzaj pierwszy znak.
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...
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....
W programie sterowanie diodą D1 jest na porcie B, nie C.
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ł
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ć.
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...
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...
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ą.
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.
0 zapalasz diode tak masz podłączone to dlaczego else w przerwaniu timera zapala diodę?
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
Witam. Od niedawna zacząłem uczyć się asemblera. Chciałem napisać program, który zapala 8 diod po kolei i na razie nic mi nie wychodzi. Może mi ktoś wytłumaczyć po kolei co muszę zrobić? Programuję ATmegę 8. Z góry dziękuje.
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.
No prosta sprawa :P Skoro stan '0' zapala diodę, to musisz zanegować odczytane wartości. Przykład na przykład: Wklepujesz 1+1 -> na porcie dla wklepanej jedynki masz stan taki: 11111110, po dodaniu takich dwóch liczb otrzymujesz wynik: 11111100, a więc zapalają się dwie ostatnie diody i udają, że wynikiem jest trzy :P A teraz negujemy: ~11111110 + ~11111110...
Jeżeli zastosujesz to co ja Ci napisałem, to wystarczy że jako warunek sprawdzany w ifie dasz wskaznik. Wtedy jak naciśniesz to Ci się zapamięta albo 1 albo 0 w zmiennej wskaznik i wtedy masz zapamiętywane wciśnięcie - taki programowy przerzutnik T. A żeby działało to sprawniej (pewnie sam zauważysz czemu - będziesz miał małą "bezwładność") to trzebaby...
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ą.
Tak w sumie to z czym masz problem - z odmierzaniem czasu, czy zapalaniem i gaszeniem ?
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.
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.
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?
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...
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);[...
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?
Wyrzuć goto i bitwait. Wykorzystaj debounce i w jednym podprogramie gaś a w drugim zapalaj diodę.
Musisz dać zewnętrzne układy bo przy takim sposobie wyświetlania trzeba zapalać diody większym prądem żeby świeciły odpowiednio jasno.
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?
cały układ pobiera 160mA ;). Zapalałem wszystkie narazie więc tu niema problemu
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?
chcialbym aby bardziej doswiadczeni elektronicy sprawdzili schemat ukladu : http://obrazki.elektroda.pl/5983685300_1... rezystory przy wyswietlaczach maja po 100 omów , przy diodach : czerwone - 120 omow , niebieskie i zielone - 36 omów , R22 R23 R15 = 10 k omów , C1 = 100nF , C2 C3 = 33pF , zarowno wyswietlacze jak i diody są o wspolnej...
Dziękuje za kalkulatorek... Ale coś mi się cały czas nie zgadza... Wyszło mi, że przerwanie jest generowane co ~262ms... A przy programie jak wyżej dioda zapala się i gaśnie co ~4s... O co tu chodzi...?.?.?
dodatnim jeśli to tranzystor npn a jeśli pnp to trzeba połączyć emiter do +, bazę przez rezystor do atmegi a kolektor do diod i wtedy zapalasz diody stanem niskim
Jedno z drugim nie ma nic wspólnego. Jakim stanem zapalasz diody to zależy od tranzystorów separujących NPN czy PNP.
Hej. Za bardzo nie kumam co to urządzenie ma robić. Poza tym napisz dokładnie gdzie masz podłączoną diodę. Czy ta dioda jest podłączona do linii ABC i KOL1 czy może jest zapalana z całkiem innego potu. Jeśli chodzi o samo badanie stanu na przełącznikach to ja linie A,B,C ustawił bym jako wejścia reagujące na stan wysoki. A KOL 1 ustawił bym jako wyjście...
Zasadniczo to programowo zmienia się jedynie to, że jeśli poprzednio 1 zapalało kolor to teraz będzie go gasić, i tak samo 0 jak gasiło to będzie zapalać (albo odwrotnie).
Nie pomogło. Teraz działa odwrotnie. Zapala sie bez PWM a gaśnie z PWM.
Faktycznie, popatrzyłem do noty i jest tak jak mówicie. WGM11 i WGM10 są w TCCRA1 a WGM12 jest w TCCRB1. To pewnie było też problemem, że dioda zapalała się a po pół sekundy zapalała się jaśniej. Tak jak sugerował Dondu wykorzystałem przerwanie. Dzięki za pomoc
Witam. Fakt z procesorem mój błąd. Jednak tak jak wyżej napisałem pojawił się nowy problem, którego wcześniej nie potrafiłem wychwycić. Wejścia stają się nieaktywne w momencie gdy diody się zapalają i świecą. Dopiero gdy wszystko gaśnie znów można wysterować któreś wejście.
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...
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...
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?
...diodki nie zapalają się. Bo są źle podpięte :D
Witam , jest początkującym więc wybaczcie ewentualny brak wiedzy elektronicznej :) Posiadam moduł AVT1622 z Atmega8 ,potrafię zaprogramować go tak aby diody zapalały się w różnych wariantach ( jedne gasną inne się zapalają ITD ) :) to jest dosyć proste :) Utknąłem jednak przy programowym PWM którego na ten czas w ogóle nie rozumiem , to znaczy rozumiem...
A więc: JarkaC obliczenia się zgadzają tyle trzeba było czekać 15s - tyle aż nie czekałem, faktycznie jednoznacznie nie można było stwierdzić czy wchodzi czy nie w przerwanie, więc powstawiałem instrukcje do zapalania LED przed if-em w if-ie i w przerwaniu, zmniejszyłem czas oczekiwania do 6.5s i zapala się tylko dioda przed if-em tzn że nie wchodzi...
Z założenia. Ponieważ w multiplexie każda dioda zapalana jest na 1/ilosc wyswietlaczy czasu. Z czego należy tak zwiekszysc prad aby Isr wynosil Inominalny kazdej diody. Z tego to sie bierze.
Czesc. Na wstepie nie zamierzam sie uczyc bascoma, programuje plc. Natomiast potrzebuje zrobić pewnien układzik. Jak by wyglądał prosty program na atmega8 wyłączania któregoś pinu po określonym czasie od włączenia? Tzn włączam zasilanie, zapala sie dioda na 40 minut. Po czym gaśnie do ponownego załączenia zasilania. Pozdrawiam chętnych do pomocy ;)...
Tak na kol6 dałem z kol3 tak aby zobaczyć czy cokolwiek zadziała ale dalej to samo odczytuje 4 błędy i dioda w tej dodanej kolumnie zapala się gdy którakolwiek dioda świeci w jej rzędzie.
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...
Wiedz co mam zrobić (jestem trochę zielony bo dopiero zaczynam programować ) bo tak w zasadzie po podłączeniu to po naciśnięciu zapala sie dioda a po naciśnięciu drugiego gaśnie ale tylko ta z portd.0
Zamieniłem na while((ADCSRA & (1<<ADSC))==0) i po wgraniu programu na ułamek sekundy dioda zapala się i zgasza nawet dla skrajnych wartości, potem nie ma żadnej reakcji.
1. W woltach jest napięcie a nie prąd 2. Dioda w transoptorze jest identyczna co do zasady dzialania jak dioda LED więc napięcie nie zapala (sic!) diody. Poza tym zależy w jakim układzie sterujesz tranzystorem i jaki to tranzystor. Parametr o który pytasz to Uce
wlasnie robilem specjalnie na zew. kwarcu, jak odlacze kwarc to przestaje migac wiec jest ok Dodano po 1 teraz udalo mi sie skompilowac wersje druga, wczesniej mialem za stara wersje bascom avr, teraz kompiluje ok ale dalej uklad nie dziala, dioda poprawnej inicializacji nie zapala sie
uP ATmega8, 5 linijek tekstu w BASCOMIE i mamy efekt za 5 zł dodatkowo dając przycisk monostabilny można sterować kierunkiem zapalania się diod
Mam cztery fotorezystory. Jaki napisać program, aby zapalić odpowiednią diodę, gdy najjaśniejsze będzie światło na danym fotorezystorze? Np. Najjaśniejszy jest fotorezystor 1 więc zapali się dioda 1 lub najjaśniejszy jest 3 więc zapala się 3 dioda. Nie mam pojęcia jak się za to zabrać... Hmm... Jakiś omomierz czy co? Pomóżcie!
Skoro nie chcesz podać kodu więc zgaduję, że albo czytanie przycisku jest źle (zła konfiguracja portu), albo włączanie diody jest źle np. zła konfiguracja portu, albo dioda jest zaświecana niskim stanem. Jak dioda i przycisk są podłączone do portu, schemat by pomógł?
Na programowaniu się nie znam, ale wiem że atmega ma w sobie możliwość sterowania PWM. Czyli po napisaniu odpowiedniego programu możesz płynnie zapalać i gasić diody w jakim chcesz czasie. Poszukaj pod hasłem "atmega8 pwm dioda" pierwszy lepszy film: [youtube]http://www.youtube.com/watch?v=...
Zacząłem analizować kod linijka po linijce, żeby wychwycić czy(i co się dzieje z uC na starcie). Znalazłem moment w którym się procek zatrzymuje: [syntax=c] void enc28j60WriteOp(uint8_t op, uint8_t address, uint8_t data) { CSACTIVE; // issue write command SPDR = op | (address & ADDR_MASK); waitspi(); // write data SPDR = data; if(address!=0) LED1_OFF;...
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,...
Witam. Piszę do Was z prośbą o wytłumaczenie człowiekowi, który nigdy wcześniej z elektroniką styczności nie miał (tzn. użytkował i nic poza tym) do czego służą: -rezystory; -tranzystory; -kondensatory. Czytałem już sporo i... poznałem budowę wszystkich rodzajów kondensatorów, od ceramicznych po elektrolityczne, ale nie dowiedziałem się do czego one...
Ja bym to widział jakoś tak: (obrazek) Ale musisz najpierw sprawdzić, jaki masz spadek napięcia na tej diodzie - spodziewam się, że mały, ale czy wystarczająco mały? A sposób z zapalaniem tylko jednej diody na raz - wart przemyślenia - może obeszłoby się be zmiany w hardware, jedynie lekko zmodyfikować program?
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....
Witam Dopiero zaczynam się uczyć programowania AVR-ów w Asemblerze i mam problem z napisaniem programu gdzie jeden przycisk jest odpowiedzialny za załączenie diody LED i wyłączenie. Mam atmege8 dioda jest podpięta pod PC0 a przycisk pod PD0 jak na razie udało mi się tylko napisać takie coś że dioda się zapala ale zaraz po puszczeniu przycisku gaśnie.
Dzięki za pomoc Zrobiłem rezonator RC i dioda zaświeciła :) Kiedyś robiłem coś na ATMEGA8 i pamiętam że tam nie był potrzebny rezonator dlatego tu też nie zastosowałem. Jeszcze raz dzięki
Ponieważ zaczynasz proponuję podzielenie realizacji programu na etapy : Pierwszy program po jednokrotnym przyciśnięciu może zapalać jedną diodę a po dwóch naciśnięciach inna diodę Drugi program może zapalać diodę tylko jeśli naciśniemy przycisk dłużej niż na 2 sekundy Trzeci program to połączenie obu tak żeby działały..
No to zależy, bo wkleja kolega kawałki kodu zamiast całego. Nie wiadomo, czy PD5 ustawia kolega jako wyjście oraz czy dioda się zapala stanem niskim czy wysokim. Na podstawie załączonego programu mogę stwierdzić, że wszystko działa prawidłowo.
Przycisk jest programowo podciągnięty do 1. Portd.0=1 Dioda ma się zapalać tylko wtedy gdy wciśnięty jest S1 czyli gdy na pinie d.0 będzie stan niski.
Spróbowałem odpalić ten program na 3 nowych procesorach atmega8, ale nie działa w przeciwieństwie do tego uszkodzonego - nawet dioda Ir się nie zapala. Fuse-bity są nastawione identycznie. Co jest nie tak z programem? Dodano po 6 A gdy usunę polecenie powerdown to wszystko pracuje ok. Dlaczego?
Ok to już rozumiem i sobie poradzę... A jeszcze mam jedno pytanie - jak wykonać taki efekt: http://www.youtube.com/watch?v=PXr-0NK0q... Chodzi mi o zapalanie się segmentów wyświetlacza w zależności od obrotów... Zrobić to też jak te diody (przez if....) i użyć LOCATE czy jest jakiś inny sposób?
Napisz tak: [syntax=basic4gl]If PINB.0 = 1 Then PORTD.1 = 0 ' zapal diodę If PINB.0 = 0 Then PORTD.1 = 1 ' zgaś diodę 'albo inna wersja If PINB.0 = 1 Then ' jeżeli wystąpi... PORTD.1 = 0 ' zapal diodę Else ' inaczej... PORTD.1 = 1 ' zgaś diodę End If ' koniec warunku [/syntax] Wtedy będziesz miał poprawnie zapalaną i gaszoną diodę LED, przy wykryciu...
Zapala się czerwona dioda, ale pokazuje error... Nakładka burn-o-mate. Rzeczywiście schemat wygląda identycznie, ale z instrukcjami z pdf-a nie działa;/
Na początku nauki programowania warto rozpisać krok po kroku problem oraz algorytm rozwiązania. Późniejsze przełożenie tego na kod jest już sprawą prostszą. Problem (o ile dobrze zrozumiałem) przedstawia się następująco: - wykrycie momentu wciśnięcia przycisku, - wykonanie jednorazowej akcji (włącz led), - odczekanie określonego czasu, - wykonanie jednorazowej...
Witam, ja zakupiłem ów układ płytki z elementami i po zmontowaniu nie działa wcale :/ Tzn niezależnie od położenia zworek ani źródła sygnału (z karty w laptopie, czy tez z mp3-playera) nie zapalają się żadne diody. Wiecie co może być nie tak ?? Gdzie szukać błędu.
Wgrałem nowy prosty programik, który zapala tylko dwie diody LED i wszystko chodzi jak trzeba. Wygląda na to, że błąd leży po stronie kodu, tylko nie mogę się doszukać gdzie.
Po pierwsze. Sygnał z mikrofonu elektretowego jest rzędu kilkunastu mV (zasadniczo im mocniejszy sygnał tym wyższe napięcie). Gdybyś to bezpośrednio wrzucał na przetwornik ADC ATmegi to nie miałbyś za dużego pola manewru. Dlatego musisz wzmocnić sygnał mikrofonowy. Po drugie. Wzmocniony sygnał trafia do ATmegi. Poprzez obsługę jej przetwornika ADC jesteś...
Witam Mam atmege8 z kwarcem 7.3728 testowalem transmisje UART i dziala OK wiec fusebity raczej sa dobrze ustawione mam podlaczone 3 diody pod port B (1,2,3) moj kodzik #include <avr/io.h> #include<avr/delay.h> #define F_CPU 7372800UL int main (void) { DDRB=0xff; PORTB=0x00; while (1) { PORTB=0x00; _delay_ms(500);...
Ja zasilam podobnież z 7805,a tenże z kompa tzn z zasilacza przez molex, na wyjściu daje 5V. Sprawdzałem układ po lutowaniu, ale sprawdzę jeszzce dokładnie :) PS Dołożyłem diodę sprawdzającą (między pin 16 74HC244 i Vcc), kiedy w PonyProg daję ReadAll to dioda się zapala, potem wyskakuje "Device missing..."
Witam mam ten sam prostownik i mam z nim problem. Po wybraniu trybu i kliknięciu start zapala się dioda z wykrzyknikiem. Zauważyłem ze dzieje się to przy akumulatora żelowych przy olowiowych problem występuje rzadziej. W środku siedzi atmega8 taktowania kwarcem 4mhz.
Witam ponownie.....problem powrócił. Na samym początku pokażę schemat mojego konstruktywnego dzieła: http://obrazki.elektroda.net/49_11567968... Otóż: podczas programowania ATMEGA8 (FLASHOWANIA), dioda LED która jest widoczna w górnym prawym rogu schematu, zapala się. Widać że podłączona jest do linii programowej MOSI. Teraz o co się rozchodzi: Gdy...
w nauce programowania mikroklocków w C, po programie zapalania diody na porcie, zawsze następnym krokiem jest zrobienie mrugania diodą, ułatwiłem mu :] a że nie pisze gdzie ma diodę podłączoną do mruga całym portem :P
'TOIE0' to niezdefiniowany symbol, dlatego muszę wpisać inaczej jeżeli nie ma to uzupełnij, najlepiej w pliku mega8.h ale mozesz i na początku swojego programu: #define TOIE0 2 ale kompilacja codevision również wyrzuca błędy przy sei() i cli() Nie ma w CV tych instrukcji - używasz je w postaci: #asm("sei"); Czy dobrze rozumiem, że...
Witam Pierwsze co się rzuca na schemacie to źle podłączona dioda dwukolorowa jak w ten sposób podłaczy pan to: raz brak rezystora a dwa z procka nie powinno się pobierać prądu wiekszego niż 5mA a dioda do normalnego świecenie potrzebuje około 12 mA, także proponuje od poprawić schemat bo spali pan port na procku w najgoryszym wypadku cały procek. Zada...
Dla przykładu podstawmy dokładną sytuację. Program steruje czy dioda świeci czy nie. Osobno gdzieś działa wyświetlacz LCD na którym wyświetlam napis tylko wtedy gdy dioda świeci. Niestety wyświetlany napis nie może zostać wyświetlony razem z zapaleniem diody, bo dane na wyświetlacz ładowane są co 100ms, a dioda może zapalać się w losowych momentach....
Rok temu miałem pomysł, żeby zrobić zdalne sterowanie prototypowego automatu do bujania hamakiem, niby głupi pomysł, ale pojawiło się zapotrzebowanie :) Pomyślałem, że dobrze byłoby sterować z telefonu który zawsze ma się przy sobie, a piloty zazwyczaj się gdzieś gubią albo zjada je jakiś czworonog. Kupiłem moduł Bluetooth skomunikowałem go z Atmega...
Wszystko działa idealnie. Problemem były czasy oczekiwania ( Waitms,Wait ). A jeżeli już jesteśmy przy diodach led - to teraz jak zrobić odpowiedni efekt gaszenia diody na PWM Wiem ze mozna zastosowac timery.. $regfile = "m8def.dat" $crystal = 10000000 Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Down , Compare B Pwm...
gts wielkie dzięki! Ale mam problem jeszcze z układem :/ Gdy przyłożyłem 3V to pokazało tak jak trzeba. Ale gdy nie przykładam nic świecą mi się ciągle 2 diody. A można powiedzieć że zapalają się i gasną z dużą częstotliwością... Ehh chyba moja płytka coś fiksuje tzn zimne luty. jak stoi w pionie jest ok a w poziomie mi się zaświeca dodatkowa dioda....
e: teraz pod wejscie adc podłączyłem płytke z mikrofonem ale problem jest taki dioda świeci tylko wtedy gdy klasnę a chce by cały czas sie świeciła :/ dopóki nie klasnę 2 raz ?? No tu już musisz główkować w programie. Przy klaśnięciu (odpowiednim pomiarze z ADC) musisz sprawdzić, czy dioda się świeci. Jeżeli się świeci to gasisz, w przeciwnym przypadku...
Witam szanownych kolegów,i prosze o pomoc.Interesuje mnie sterowanie przez port Rs232 8 diodami led .Wszystko ma wygladać w ten sposób że program do obsługi rs232 musi byc napisany w jezyku Basic nastepnie kabelkiem pc ma byc podłączony do procka AT89C2051 lub ewentualnie do Atmega8 lub atmega8535 do którego bedą podłaczone diody led i nacisniecie przycisku1...
Dobrze, tylko napisz co znaczy "układ mi nie działa" jeśli masz zasilany tylko moduł wykonawczy? Nie napisałeś czy silnik się nie kręci, czy dioda jakaś nie zapala. Innymi słowy "po czym poznajesz że działa?" :D Wiesz pewnie że tym układzikiem staruje się podając stany logiczne na piny wejściowe. On rozpoznaje tylko "jest napięcie powyżej 2,3V albo...
Według schematu z tego co widzę to diodę RGB masz ze wspólną anodą. Więc podając stan niski z µC dioda się zaświeca. W instrukcjach warunkowych sterujących poszczególne diody masz odwrotnie - próbujesz zapalać diodę stanem wysokim na końcówce µC. Reset (0) powinien zaświecać diodę, a set (1) gasić. W rezultacie zapalają się niewłaściwe kolory....
Dałem rezystor do resetu, czyli 1 pinu. 7 połączyłem kondensatorem z Vcc, 8 z GND, 20 i 20 1 do Vcc, a 22 do GND. Dałem jeszcze 2 kondensatory 100 nF. W sumie podłączyłem Atmegę wg tego rysunku, tylko nie stosowałem tych przycisków, a chciałem jedynie, aby Atmega mi zapalała diody podłączone do portu B. http://hobby.abxyz.bplaced.net/img/art00...
PORTB = &B00000001 Waitms 250 PORTB = 0 Waitms 250 Loop Nie znam bascoma w ogóle ale z tego co widzę to zapalasz diodę, czekasz 250ms po czym ja gasisz i czekasz 250 ms - taki program napisałeś i dziwisz się, że mruga? :D
.. SPI, który potrafi nadawać ramki 12-bitowe, ale od biedy 8-bitowy też się nada.. BlueDraco ! Ale przecież autor postu chce się dopiero uczyć. Zapalać diody, używać buzzera itp. Sam też zasugerował Atmega8. Czy jeżeli "popełni ten błąd" i zacznie przygodę z procesorami od wiekowych AVR, to będzie stracony dla elektroniki? Czy jeżeli zaprogramuje...
Przeglądnij ten tutorial http://www.patron.net.pl/AVRintropl.htm Jest w nim sporo dla początkującego... Wiem bo sam od niego zaczełem... Też korzystam z tej strony, jednak tamten przykład na obsługę klawiszy nie chce mi działać. Proszę, jeśli możesz, napisz mi przykład kodu w C, który po zwarciu np. PB1 do masy poda +5 na PB2. ... DDRB &= ~0x01; //...
ewentualnie spróbuj dopisać w obsłudze przerwania czy to wejście faktycznie ma stan niski. i to jest chyba nasz zwycięzca :) zmieniłem lekko kod na coś w tym stylu: [syntax=c]SIGNAL(SIG_INTERRUPT0) { if(bit_is_clear(PIND,2)) ++dystans; } SIGNAL(SIG_INTERRUPT1) { if(bit_is_clear(PIND,3) && dystans > 0) --dystans; } [/syntax] I procesor zlicza impulsy...
Witam, mam mały problem ze sterownikiem. Siłowniki Super Power Jack, transformator zasilający siłowniki z odzysku. Problem polega na tym, że przy zamykaniu lub otwieraniu bramy następuje przerwa w działaniu. zacząłem badać o co chodzi. Zmodyfikowałem program dodając funkcję, która zapala diodę gdy spadek napięcia na rezystorze jest większy od napięcia...
Jest coś takiego jak drgania zestyków. Przy każdym wciśnięciu przycisku (im tańszy tym gorzej :)) następuje drganie blaszek styku, które procesor rozpoznaje jako wielokrotne naciskanie switch'a. W zależności od przycisku może to trwać nawet kilka - kilkadziesiąt milisekund. Jeśli to jest Twój pierwszy program to najprościej zaraz po wykryciu wciśnięcia...
hej robiw -> próbuję tę twoją procedurę powyżej ale za chiny nie chce mi się ani razu to przerwanie wywołać. Z drugiego procka próbuję do tego wysłać coś poprzez I2C w ten sposób: do I2cstart 'Start I2cwbyte 128 ' adres układu SLAVE I2cwbyte 65 ' dana do przesłania do Slave I2cstop 'Stop wait 1 loop na magistrali mam jeszcze PCF8583 i z niego odczyt...
zapalanie diody atmega8 zapalanie diody atmega8 pętli zapalanie gaszenie diody
instrukcja rubin mercedes skrzynia manualna instrukcja obsługi zmywarki amica
schemat podłączenia connects2 citroen xsara pompa
Tuner HF8900HD – opóźniony start, wymiana kondensatorów low-ESR, objawy uszkodzonego zasilacza Migająca kontrolka ABS i czerwona kontrolka z wykrzyknikiem – Skoda, VW, Fabia, Octavia, Golf, Polo – diagnostyka usterki ABS/EBD