Pętla główna while powinna kończyć się przed "return 0". Teraz kończy się za wcześnie. Usunąć break pozostałe po switch (3 sztuki w pętli while).
Tak dla switch (n&6) działa dobrze. Zależy co dla kogo znaczy dobrze. Dla mnie by znaczyło że wyświetla również 1, 3 i 5. Wyświetla?
sposobów jest milion różnych ale tak na szybciora żeby coś uprościć to można np takie komendy trzymać w tablicy i po sprawdzeniu przekazywać tylko do polecenia switch index komendy. Ale i tak będzie trzeba zrobić jakąś pętelkę, która zawsze sprawdzi czy to któreś polecenie z tablicy. Z tym że późniejsza obsługa tego się już upraszcza w tym dodawanie...
Z tego co przejrzałem to dokumentacja nie określa czy moja wypowiedź jest niewłaściwa. Podaje tylko wartość prądu jaką można obciążyć port. Jednak przeważnie jest tak że w "jedną stronę" można obciążyć bardziej niż określają to bezpieczne granice. 3. Although each I/O port can sink more than the test conditions (20mA at Vcc = 5V, 10mA at Vcc = 3V)...
paavo91 Podkreślam że działanie musi być natychmiastowe i nie zależne czy przycisk wcisnę na moment czy wcisnę i przytrzymam. .............. ,......jak to rozwiązać. Zastosuj konstrukcję 'DEBOUNCE' w połączeniu z "Toggle Switch" jak dla przyładu przełączania/załączana świateł głównych: [code][syntax=basic4gl] $regfile = "attiny2313.dat" $crystal =...
W kwestii timerów i przerwań, to mozesz przeczytać o tym na mojej stronie: Timery: http://wkretak.pl/readarticle.php?articl... Co do tych dipów to miałem ich trzy czyli mogłem sobie wymyślić 8 różnych zakresów. Powiedzmy ze przełączniki te podepniesz pod PB0, PB1 i PB2. I potem robiłem coś w stylu: zakres = (PINB.0) + (PINB.1 * 2) + (PINB.2 * 4);...
] Gdybym chciał jednak mierzyć załóżmy do 1kHz to wymaga aby zliczać przepełnienia? Dlatego napisałem..."Nie znaczy to jednak..." w złym obliczeniu 1 sek wartość wynosiła 61630, przy prawidłowym obliczeniu wynosi 34 286 uwzględniając czas 1sek, częstotliwość taktowania 8MHz i prescaler 256. Przecież czas (1 sec.) odmierzasz timerem0, który jest 8-bitowy...
https://obrazki.elektroda.pl/1874444400_... Cześć Od czasu do czasu piszę proste programy w BASCOM, jednak moja stara płyta testowa (robiona jeszcze markerem) wołała już o pomstę do nieba, więc postanowiłam wykonać nową, a że nie lubię gotowych płyt, bo w nich niema żadnych możliwości zmian, a podłączanie wszystkiego czego tam niema...
http://obrazki.elektroda.pl/7995180000_1... Witam! Jakiś czas temu rozpocząłem naukę pisania programów na mikrokontrolery AVR w języku C++. Przeczytałem wiele tutoriali, poradników, itp., aż w końcu doszedłem do pisania własnych, prostych programów. Po kilku takich „pseudoprogramach” zdecydowałem, że teraz czas napisać coś...
http://obrazki.elektroda.pl/7176387400_1... Chyba każdy, kto trochę pobawił się elektroniką, próbował zrobić własną płytkę bazową do innych projektów. (Jak zwał: ewaluacyjną, prototypową - wszystko mi jedno :) ) Ponieważ moje płytki od jakiegoś czasu się kurzą, czas je przedstawić - a nóż może komuś się przyda taki zestaw. Celem było...
(at)ElektrodaBot // Napisz Menu z Rc5 #include #include LiquidCrystal lcd(19, 18, 17, 16, 15, 14); #define LED 0 #define TSOP_PIN 3 RC5 rc5(TSOP_PIN); // command== 16 - dodaj // command== 17 - odemnij // command== 59 - enter, przejć do następnej części MENU // Menu_1--- Menu_2---Menu_3--- Menu_1 ...... Menu1 if command==16 liczba_1++; if command==17...
http://obrazki.elektroda.pl/5336859500_1... Projekt został zrealizowany na potrzeby sterowania urządzeniami zasilanymi z sieci 230V , świetnie nadaje się jako sterownik do wytrawiarki lub innych tego typu urządzeń, w których konieczne jest utrzymywanie stałej temperatury. Układ oparty jest o mikrokontroler ATmega8 firmy Atmel , który...
http://obrazki.elektroda.pl/6713977200_1... Witam! Dziś chciałbym zaprezentować układ do sterowania drzwiami garażowymi wraz z pilotem. Płyta główna Płyta główna została zbudowana w oparciu o mikroprocesor atmega8 na wewnętrzym rezonatorze 1MHz. Sterowanie odbywa się za pomocą podczerwieni (rc5). Układ wykonawczy to trzy przekaźniki...
Najpierw się przedstawię :D, gdyż to mój pierwszy taki temat. Mam na imię Dominik, mam 17 lat, uczę się w technikum informatycznym. Przeglądając internet w poszukiwaniu natchnienia natrafiłem na filmiki z prostymi grami typu pong. Moja wiedza na temat języka C trochę się poprawiła stwierdziłem, że dam sobie radę i napiszę samodzielnie od podstaw ponga(taka...
Witam, Dzisiaj prezentuję płytkę uruchomieniową przeznaczoną dla osób zaczynających zabawę z mikrokontrolerami. Płytkę cechuje bardzo prosta konstrukcja, niski koszt wykonania, brak konieczności korzystania z przewodów łączeniowych, oraz podstawowe peryferia pozwalające na zapoznanie się z elektroniką cyfrową, a nawet zaprojektowaniem wielu ciekawych...
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...
Mówiłaś, że switch odpada. Może woltomierz z wyświetlaczem jako terminal?
Miałem na myśli: czy po dołączeniu rezystorów 4,7k pod switch powinienem wyłączyć pull-up w uC czy go zostawić?
Stablicuj to bo az w oczy gryzie. A przy okazji tablice upchnij w kodzie programu. Wartosci tablicy oczywiscie tez popraw na prawidlowe #include <avr/pgmspace.h> PROGMEM uint8_t convTab[10] = { 0x06, 0x5b, ... 0xe6 }; a potem uzyj PORTD = pgm_read_byte(convTab + i ); i Twój caly switch do wywalenia wtedy
Jak nie ma masy, popatrz dobrze. Przynajmniej jeden switch jest do masy podpięty (PB1) i procesor też.
No tak, nie sprecyzowalem. Na razie efekt miał być taki że switch (PD.0) miał włączać timer. Docelowo będą dwa switche, jeden włącza (PD.0) a drugi wyłącza (PD. 1) timer.
Witam, zastanów się co się dzieje w switch (OPCJA) dla PRZEL == 1. Jak będziesz wiedział jak działa switch...case, możesz wykorzystać go do migania diodami bez ciągłego delay między nimi i blokowania całego programu.
Pytałem się tylko w celach informacyjnych, pod te piny podłączone mam dwa micro-switche i jedna diodę LED przed którą dałem zworkę. Tak na marginesie to na tej płytce przed każdą diodą LED jest zworka i rezystor 330Ω, zworka po to że w razie konieczności podłączenia innych peryferiów wystarczy wpiąć się w zworkę, tak samo jest przy switchach, z...
Oczywiście powinno być zdeklarowane wew. plus parę innych rzeczy. Cel osiągnięty tylko martwi mnie jedna sprawa. Przy podpięciu się pod terminal gdy led jest załączona to jest efekt ciągłego nadawania. Wygląda mniej więcej to tak: a a a a a a a a a a a a .... Jak programowo zrobić to by switch zwarty, procek wyśle dane tylko raz "a" i czeka... switch...
Śmiało możesz korzystać z tych pinów. Po to one są. Czasem jednak przy programowaniu może wystąpić problem, gdy te piny są obciążane przez zewnętrzne elementy. Najlepiej jest więc by na czas programowania odłączyć te elementy. Można projektując płytkę np. dać montażowy DIP Switch lub zworki. O widzę kolega mnie uprzedził. :)
http://obrazki.elektroda.pl/9599089800_1... No 2 magnesy to to nie są, a i magneto nie jest wbudowane w koło zamachowe, lecz jest przykręcone do wału, na którym jest zamocowane kolo zamachowe. Pomysł z Hall switch'em jest naprawdę dobry, chociaż nie jestem pewien czy zdąży zmienić status, bo jest jednak 6 magnesów, problemem nie jest...
Proponuje ci w takich przypadkach dochodzić do rozwiazania po kawałku. Najpierw sprawdź czy wogole diody ci sie zapala, a więc zrób w pętli tylko zapalenie sie diody.Potem sprawdź czy daje sie gasić ta diode. Potem tak samo sprawdz reakcje na przycisk. Sam program wyglada na ok, więc zapewne problem będzie trywialny, typu zle podłączone diody, inny...
1. Ustaw timer tak, by bez pomocy oprogramowania generował przerwania w stałych odstępach czasu. 2. Użyj tablicy zamast instrukcji switch, która w każdym case robi to samo, tylko z inną wartością stałej. Switch zdecydowanie nie do tego służy. pozycja ++; pozycja &= 3; PORTC = tab[pozycja];
Switch powinien zwierać do GND, wtedy włączasz pull up i masz poprawną obsługę przycisku. Rozumie, że tak masz zrobiony projekt, ale dobrze byłoby, abyś pokazał schemat.
switch () jest rozczulający. Wystarczyłoby odizolowań przypadki specjalne, a kiedy nie zachodzą - trasmitować wartość odczytaną z portu, zapisaną wcześniej do zmiennej.
Sterowanie poprzez nadawanie stałych wartości działa, dziękuje za pomoc. Jednak podczas próby sterowania switchami napotkałem pewien problem, serwo po zaprogramowaniu procka, obraca się raz w lewo raz w prawo aż do zatrzymania, potem można chwilę posterować i znów następuje kilka ruchów w obydwie strony aż do zatrzymania. Oto kod: [syntax=c]#include...
A jak zrobić coś takiego? Chodzi o to, że podczas przerwania na int0 zapalić przykładowo dionę na porcie PC0. Prosze o wyrozumiałość jestem początkującym programista. Istnieje może jakaś prosta funkcja? Aha przypominam że switch z jednej strony podpięty do +5V a z drugiej do INT0
Chciałbym zasięgnąć porady co do napisania programu w języku Bascom do mikorkontrolera ATMega8. Zadanie jakie miałby wykonytwać układ polaga na odbieraniu sygnału DMX, jego dekodowaniu i prezentowaniu na 2 warianty. Te dwa wariany to amm na mysli osobne programy. Pierwszy wariant to prezentacja zdekodowanego DMX na 8 portach mikrokontrolera, załóżmy...
Chce wykonać pomiar prądu pobieranego przez atmege i diode. Czyli nie masz amperomierza? Jeżeli nie masz amperomierza, to jaki masz woltomierz - wiarygodny? Prąd diody nie płynie przez Rb podłączony do Vcc (ale to zapewne wiesz). Czy dobrze rozumie, że druga próba dotyczyła podłączenia Rb (zamiast w miejscu jak na schemacie) pomiędzy pin masy ATMEGA,...
Czemu nie ? Wystarczy tylko na płytce wlutować switch którego będziesz "rozwierał" na czas programowania (żeby do układu nie poszło napięcia), a zwierał po zaprogramowaniu. A najbezpieczniej - switch który ci przełącza RESET raz do układu, a raz do GND (na czas programowania).
Kodu nie moge pokazać bo jak mówie jest to praca inżynierska, obsługe przycisku przytoczyłem wyżej. Jeżeli chodzi o schemat to szło to tak PC0 - switch - GND PC0 miał nadany programowo stan wysoki, jako ze switch jest rozwierny i podłączony z masą to PC0 miał 0 w spoczynku, podczas rozwarcia przycisku (wciśnięcia) stan na PC0 stawał się wysoki.
Ten cały switch to jakaś totalna bzdura... Przecież to jest zwykłe indeksowanie tablicy obrazów cyfr jedną instrukcją i jedna linijka kodu - napisałem to już jakiś czas temu.
Witam Mam pewien problem z jednym programem, który ma wykrywać wciśnięcie switcha. Chodzi o to, że gdy nacisnę obojętnie jaki switch i go puszcze to wyświetla się informacja, że switch 1 jest ciągle wciśnięty. Nie mam pojęcia o co w tym chodzi. Spójżcie na mój kod może coś tu pomieszałem, ale wydaje mi się że wszystko jest ok //Program LCD+Switch+LED...
Witam: mi się nasunęło parę uwag(może źle więc poprawcie mnie jak by co) : - po pierwsze to ja bym na twoim miejscu odłączał VCC a nie GND (jak to widzimy na rys: nie powinno się port bezpośrednio podłączać do masy , daj jakiś rezystorek żeby ograniczyć prąd Portu (np ATmega8 ma 30ma MAX). Już lepiej jest podłączyć switch do +5V a potem do portu (jak...
Ja zerknąłem szybko na kod i mam dla Ciebie rady: 1) Zamień wielokrotne ify na switch 2) Staraj się nie umieszczać deklaracji zmiennych globalnych w pliku nagłówkowym. 3) Sprawdź najpierw działanie programu w symulatorze.
Obawiam się, że więcej bajtów stracisz w kodzie wyświetlającym oddzielnie każdą literkę, niż na definicji obrazów nieużywanych liter. Mając to w jednej tablicy możesz po prostu indeksować obrazy kodem litery. Inaczej skazujesz się na koszmarny, wolny i wielki switch () w kodzie, który ma spore szanse zająć więcej miejsca niż tablica obrazów wszystkich...
Na początek zamiast if(pozycja==x) {...} użyłbym switch case. W tej chwili wykonujesz wszystkie porównania w każdym obiegu pętli, co jest zupełnie zbędne i zabiera dużo czasu. Zbędne, ponieważ jeżeli pozycja == 2, to w tym samym czasie nie będzie równa 4, 8 czy 25. Switch case jest znacznie szybsze i prawidłowo użyte eliminuje sprawdzanie pozostałych...
procesor : ATmega8 7 rezystorów =10k ohm 6 tranzystorów - BC557 2 kondensatory monolityczne =33pf 1 kondensator =1000uf 2 kondensatory =100nf 2 micro switch stabilizator napiecia -LM7805 20 diod led generator kwarcowy 16 mhz chyba to wszystko co potrzebujesz
czyli jesli zapisze tak: while(1) { if(flagi==2) { flagi=0x00; switch (tablica czyli takie cos powinno dzialac prawda?
Witam, gdzieś kiedyś widziałem schemat i kod programu do załączenia i rozłączenia zasilania atmegi 8 jednym switch i tranzystorem chyba BC547 ale nie mogę tego znaleźć ... Działało to na zasadzie gdy przycisk przytrzymany 5 sekund to załączył atmega gdy znów przytrzymany to wyłączył. Czy ktoś pomoże i wie jak to najłatwiej zrobić?
Witam, Zaczynam właśnie zabawę z procesorami atmega i mam problem z watchdog'iem na atmega8. Pod atmega328 działa to super ale tam jest troszkę inaczej (jest WDIE, którego w atmega8 nie ma) Skorzystałem z przykładowego kodu z tej strony #include <avr/wdt.h> #include <avr/sleep.h> #ifndef cbi #define cbi(sfr, bit) (_SFR_BYTE(sfr)...
przecież zczytywanie pinów, także zajmuje określoną ilość cykli A także pewną ilość cykli, być może niestałą, zajmie ciągła ich interpretacja w pętli syntezy... ;) A niech jakiś switch będzie słabo kontaktował, to będzie stabilność... Skoro użytkownik ma samodzielnie zmieniać stan przełączników, to wystarczy mu wytłumaczyć, że powinien zmiany zatwierdzić...
Witam! Chcę zrobić sterowanie oświetleniem za pomocą pilota. Zrobiłem układ na płytce prototypowej z Arduino i wszystko działa OK. Problem zaczyna się gdy chcę zaprogramować zewnętrzny mikrokontroler - Atmega8. Gdy wgrywam program sterujący diodą poprzez wciśnięcie dowolnego przycisku pilota, to wszystko działa. Jednak Atmega nie reaguje już gdy wgram...
Witam. Potrzebuję pomocy z dostosowaniem kodu napisanego na atmegę8 na attiny13. Domyślam się że największym problemem będą tutaj timery, ale jestem w ich temacie puki co zielony, a potrzebuję koniecznie(i niestety pilnie) odbiornika IR który zmieści się i będzie działał na attiny13. Jak całość kodu działa rozumiem(jest świetnie opisana komentarzami)...
1. procesor (tylko nie mega8, błagam - droga, przereklamowana, stosunkowo uboga) A ja przekornie: - dla 1 sztuki 2 zł nie robi wielkiej różnicy. - na ATMEGA8 znajdziesz setki, a może nawet tysiące projektów (z dowolnego zakresu) w sieci, gdzie pobrany kod od razu będzie działać i to jest kolosalna zaleta właśnie tego procesora. Dodano po 3 ... chciałem...
atmega8 switch atmega8 dioda switch spalony switch
denon soundbar przerwać obwód wysuwać bolec
linbox avira aktualizacja telewizor panasonic
Ozonowanie kotłowni gazowej - bezpieczeństwo i procedury Iskrownik płyty gazowej Samsung - diagnoza i naprawa