Witam Zrobiłem układzik przeciwsobny, tj. zmieniający na przeciwne poziomy na obu wyjściach po naciśnieciu przycisku S1. Wyjścia będą podawane na wejścia mikrokontrolera (chyba jakaś ATmega). Czy układ jest poprawny, czy nie będzie problemów z drgającymi stykami przełącznika?...
Atmega 328P -z tego co widze to ma pull-up'y na każdym porcie, w każdym razie jak dawałem kondensator 100n to nic to nie dawało
W końcu zabrałem się za to przez weekend i okazało się, że przyczyna jest oczywiście najprostsza i najbardziej oczywista z możliwych, aż głupio pisać, że winne było drganie styków. Niestety to co działało (albo mi się wydawało, że działało) na płytce stykowej, po zlutowaniu zupełnie...
Prosiłem o więcej informacji :( Wypróbuj coś takiego: #include <avr/io.h> //#include <avr/interrupt.h> #include <interrupt.h> #include <signal.h> SIGNAL (SIG_INTERRUPT0) { unsign... int i=1; PORTC^=_BV(PC0); // zmieniamy stanu na przeciwny while(i++); //elimi...
Witaj Adamie. ... i niestety nie wychodzi. Na jakiej podstawie tak uważasz? Dodam, że pracuję na Atmel Studio 6, które bardzo nie lubi funkcji SIGNAL(SIG_INTERRUPT0) Ponieważ SIGNAL jest przestarzałe: Atrybut NOBLOCK dodałem na końcu, więc można się nim nie sugerować. W...
Witam Myślę że trzeba by to zrobić korzystając z trafo.Inaczej nie widzę możliwości jak sterowanie napieciem (wielkością napiecia) .PWM zapewni tylko zmianę napięcia po stronie pierwotnej.Trzeba by spróbowac...'Program regulujący prędkość obrotową silnika DC 12 V 'Do sterowania wykorzystano...
Witam wszystkich. Prosiłbym o pomoc. .Postanowiłem sobie zrobić nadajnik i odbiornik na podczerwień. Temat nadawani i odbierania był już na forum, jednakże z tych informacji, które znalazłem i tak nie che mi wyjść. Napisałem program na podstawie jakiś innych programów znalezionych na sieci. Mam...
Zastosowanie kondensatora jako zabezpieczenie przed drganiem styków nie wydaje mi się zbyt dobrym pomysłem ponieważ gdy przycisk zostanie puszczony , procek będzie "myślał" jeszcze przez pewien czas (dopóki ten kondensator się nie rozładuje) że przycisk jest wciśnięty. Sam programuje...
Jak chcesz za pomocą 10-bitowego ADC obsłużyć więcej niż 10 przycisków? Jeśli przycisk przyjmuje dwa stany, to do ich reprezentacji potrzebujesz 1 bita, masz 14 przycisków, czyli potrzebujesz co najmniej 14 bitów z ADC, a tylu nie masz. Oczywiście problem nie istnieje, jeśli na raz można...
Witam, czy ktoś ma doświadczenia z podłączaniem przełączników do oświetlenia 220V ( typowych przełączników które są zamontowanie do włączania oświetlenia w pomieszczeniach ) bezposrednio do portów mikrokontrolera ( do ATmega). Oczywiście mówimy o całkiem nowych przełącznikach,...
To nie drgania styków, bo w pętli głównej while(1) nie widzę żadnego odwołania do funkcji NastawyParametrow(MAXWartoscSkutaczna); Ponieważ jak napisałem wcześniej autor pokazuje tylko część programu nie pokazując ważnych funkcji przerwań, a program "jakby" zaczyna działać...
Za to tym, co na pewno należy zrobić w przerwaniu timera, jest badanie stanu i eliminacja drgań przycisków. Eliminacja drgań styków w przerwaniu timera i na dodatek na pewno. Kiepska idea. Albert
Witam zastosowanie timera w konfiguracji licznika w takim wypadku się nie sprawdzi. Naciśnięcie i puszczenie niesie za sobą efekt uboczny czyli drgania styków. Przez to twój licznik przy jednym naciśnięciu przycisku zalicza kilka impulsów. Taka konfiguracja timera jest przystosowana do stabilnych...
Zacznij od przerobienia przykładów z kursu AVR: Następnie zapoznaj się ze zjawiskiem drgań styków: oraz biblioteką: Możesz śledzić także ten aktualnie omawiany wątek o tej bibliotece: Gdy już to zrobisz, będziesz w stanie napisać swój program. Napisz go tak jak będziesz...
Przykład USART na przerwaniach: Przycisk na przerwaniach - ustaw tiimer do pracy z przerwaniem przepełnienia i sprawdzaj w nim stan przycisku. Możesz oprzeć się o ten przykład: Możesz także wykorzystać pin INT0 lub INT1 i przycisk zrobić na przerwaniach, pamiętając o drganiach styków:...
(at)MastrPlastr Pomimo jak się wydawało porządnego pierwszego postu, twoje wypowiedzi są niekompletne, dozują nam stan faktyczny po troszkę i są sprzeczne, co nie pozwala nam zdiagnozować problem. Na przykład: Hmm.. czyżby jakieś zakłócenia? versus: Dysponuje oscyloskopem cyfrowym,...
No tu racje(dzięki ze zwróciłeś na to uwagę) , możliwe ze atmega odczytuje wynik (podłączyłem teraz napięcie mierzone pod PA0), tylko ze nadal wyświetlacz nie reaguje... Zaraz podłącze może diody i na nich niech wyświetla wynik. (chociaż wolał bym żeby ten wyświetlacz tez pokazywał...
-nobile- --> To nie ATmega nie ustawia prawidłowo portów, to TY je nieprawidłowo ustawiasz i hmmm program piszesz trochę nie teges ;) DDRA = 0xFF; //port D na wyjście PORTA = 0x00; //stan niski na porcie D to w końcu port A czy port D ??? zastanów się czy...
Jeśli chodzi o redukcję drgać styków to w 100% wystarczy kilkanaście ms opóżnienia i będzie działało ładnie. Jak ma program wyglądać to już sam zadecydujesz, napiszesz uruchomisz i zobaczysz co jeszcze trzeba poprawić i tak aż wszystko będzie dobrze.
Jest to normalne w przypadku przycisków... Drganie styków powoduje pojawienie się więcej niż jednego zbocza... Poczytaj na forum o niwelacji drgań styków...
Ok sorki, być może źle zadawałem pytanie w wyszukiwarce, bo gdy wcześniej tego szukałem to jakoś się nie natknąłem, tak, że sorki za niepotrzebne posty i dzięki za dobre nakierowanie, gdyż dzięki temu już sobie poradziłem z wyświetlaczem i obsługę klawiatury już zrobiłem eliminując...
Witam Oczywiście najszybszy rower nie wyklucza kontaktronu, kontaktron wcale nie jest za wolny, problem może być z drganiami styków, albo trzeba je wyfiltrować układowo albo programowo, ale to może być dla początkującego trudne, najlepiej postaraj się o zepsutego flopa i wyjmij z niego halotron,...
Faktycznie chyba jeszcze nieco zaspany byłem :) Na elementach to raczej sie nie zaoszczędzi, chociaż z punktu widzenia mechanicznego w kontaktronie będzie mniejsza masa elementów magnetycznych, ale z drugiej strony dłuższe drgania styków i przez to większa szansa na złapania rezonansu. Każdy...
Zarezerwuj sobie na godziny i minuty po rejestrze w procesorze. Zrób obsługę klawiatury. Ja bum dał 3 przyciski. 1 - jak przytrzymasz dłużej to wchodzi w trym ustawiania. Jak potem na krótko to przechodzi po kolejnych rejestrach i ustawiasz 2 pozostałymi wartość godziny minuty, dnia, miesiąca,...
wrzucam całośc, co do Twojego rozwiązania sprawdzze jutro. Wcześniej nie wywoływałem funkcji w przerwaniu to pojawiały się 'krzaki' na LCD - przerwanie od T0 przerywało chyba funkcję wyświetl() dlatego dałem w przerwaniu. /*======================================...
W takim razie nie trzeba żadnych rezystorów. Jeden koniec przycisku podłączasz do wybranego portu mikrokontrolera, a drugi do masy. W programie musisz dać "0" zamiast "1", ale to chyba wiesz sam. Przykładowo przycisk dołączony do PB1 ma zrobić podniesienie wartości I o jeden: $REGFILE="m8def.dat" $CRYST...
Witam Klawiatura zbudowana jest za pomocą sześciu przycisków monostabilnych, podłączonych do portu PF0-PF5. Równolegle z każdym przyciskiem jest włączony kondensator elektrolityczny o pojemności 1µF w celu eliminacji wpływu drgań styków. Aby nie odczytywać stanu linii cały czas,...
Pod koniec miesiąca ,będzie kasa na kącie. Czy wszystko jest zrozumiałe w opisie? A trzeba dodać jeszcze WAIT 20 ms na drgania styków przycisków.
Rpal (at) wiadomo jaki czujnik bo napisałem w temacie że UGN3120.Schemat jest taki ze + do + - na gnd a wyjście bezpośrednio na wejście procka. Emarcus(at) 1. Czujnik to tak jak napisałem ugn3120 właśnie nie wiem na jakie zachowanie pola powinien reagować 2. wyjście czujnika mam podpięte...
Przykład: Tylko zamiast cbi oraz sbi używaj makro _BV() np: //ustawienie bitu DDRB |= _BV(1); //wyzerowanie bitu DDRB &= ~_BV(1); A to dlatego, że poprzednie instrukcje zostały zliwidowane w nowszych wersjach avr-gcc. W przypadku pierwszego programu będzie...
Tranzystory sterujące diodami połączyłbym trochę inaczej: Rezystor na bazie tranzystora ma 4,7kΩ. Co do tych kondensatorów to ja uważam, że są zbędne, gdyż drgania styków można rozwiązać programowo (ale to tylko moje zdanie i wszystko zależy co to ma robić/jak działać).
Zmienna liczba musi być typu volatile, to tak na szybko. ;) Dodano po 13 No zrób jakieś opóźnienia, żeby wyeliminować drgania styków.
Witam z menu to chyba się już uporałem poszperałem po forum i znalazłem podobny sposób co Ty napisałeś ale wielkie dzięki za polecenie tego sposobu. Program jest obszerny ale teraz tak sobie pomyślałem żeby zamiast 10 programowań zrobić takie coś w menu aby określić liczbę programowań...
mirekk36 - święta RACJA ! Rzeczywiście powodem są kursy które bywają zapewne mocno ograniczone i mało ''dokładnych'' opisów jest w sieci. Co do instrukcji ''switch'' udało mi się zmajstrować coś takiego (i przyznam że nie zwracając uwagi na drgania styków, program chodzi tak, jak...
Nie wytrzymałem :| Można ten program napisać na 100 sposobów... Poniżej chyba najprostsza wersja, bez kontroli drgania styków i blokujący (użycie Bitwait) ale ma robić dokładnie to co napisałeś i nic więcej. To Cię powinno przynajmniej naprowadzić na właściwe tory. [syntax=vb]$regfile...
[syntax=c]If ((!(PIND &0x03)) | (!(PIND & 0x06)) | ((!(PIND & 0x05))) { PORTA = 0x00;}[/syntax] to jest złe. a przerwanie? troszkę później się ty zajmij. przy przyciskach występują drgania styków. A to sprawi ci klopot
A Twój program nie chce działać? Jaki jest problem. To co w programie masz nieprawidłowo to odczyt stanu przycisku. Procedura odczytu przycisku powinna przewidywać takie sytuacje jak drgania styków lub przypadkowe zakłócenia na linii przycisku. Jedną z możliwość odczytu przycisku...
Kolego Dondu pisząc to: ... i dodatkowo opóźnienie 100us to raczej za mało jak na eliminację drgań styków: napisał byś coś więcej i pokierowałbyś chociaż kolegę w którym kierunku ma iść. pojedyncze słowa "że to za mało" można zinterpretować błędnie tak jak ja to zrobiłem....
Czy zastosowanie transoptora szczelinowego będzie lepszym rozwiązaniem od wyżej wymienionego? Licznik obrotów będzie służył do obliczenia prędkości wiatru. Czujnik jest od stacji dyskietek, przeważnie w internecie spotykałem się z wersjami z 4 podłączeniami, mój ma 3, czy prawdopodobnie...
Czy na płytce są sprzętowo wyeliminowane drgania styków ? A jak obsługujesz ten enkoder ? Masz jakiś przykładowy kod ?
Pomysł wydaje się być dobry, ale nie do końca. Teraz reakcja na kręcenie potencjometrem jest widoczna na oscyloskopie w postaci zmiany częstotliwości, także podczas przytrzymywania przycisku, ale obecnie nie da się sterować klawiszami. Tzn, teoretycznie się da, ale czas reakcji od naciśnięcia...
1. Nie włączasz podciągania na pinach przerwań - to znaczy, że może na nich przy braku zwarcia do masy występować zarówno 0 jak i 1 - przerwania mogą szaleć Nie jestem pewny czy o to Ci chodzi ale przyciski gdy są rozwarte połączone są z zasilaniem 5 V przez rezystor 1k natomiast po...
Już odpowiadam - wyświetlacz jest na i2c bo potrzebuje dwa wyświetlacze zastosować a tylko tak umiem to zrobić - bramki na wejściach przycisków (bramki schmidta) są w sumie tylko efektem ubocznym zastosowania układu który bym mi potrzebny do zastosowania countera wcześniej bez tego układu...
Witam, Piszę na Atmedze odczyt danych z BMP085 i dodatkowo zapis danych na kartę SD. Wszystko wydaje się działać poprawnie, a jednak coś jest nie tak. Do obsługi BMP085 wykorzystałem kod z tego tematu: Oto wykres z odebranych danych, czas pomiaru to około 10min Za każdym razem...
Ten program jest zły, bo nie da się w nim w prosty i poprawny sposób zignorować drgać styków. żeby zignorować drgania musisz użyć przerwania timera, a jeśli użyjesz przerwania timera - nie ma sensu używać przerwania od przycisku.
A jak ten kod działa, kiedy przycisk pozostaje wciśnięty? Faktycznie, po upływie zadanego czasu program odczytuje długie wciśnięcie jako kolejne. , i w czym jest on lepszy od moich dwóch linii kodu, które dają poprawną reakcję na naciśnięcie przycisku? O których liniach kodu...
Mimo, że mogę zmieniać wartość rejestru(sprawdzałem przez rs232) to ISR (TIMER2_COMP_vect) włącza się chyba przy wartości 0, bo czas pulsu wynosi 4ms- czyli przy 8MHz prescalerze 128 wychodzi ok. 250. Nie mam pojęcia co się dzieje. Po resecie mikrokontrolera wszystko działa ok, a gdy tylko...
Diodę gaś tak jak ją zapalasz. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 Config Portb.0 = Input Config Portb.1 = Input Config Portd.5 = Output Przycisk1 Alias Pinb.0 Dioda Alias Portd.5 Przycisk2 Alias Pinb.1 PORTB.0 = 1' to jest podciąganie do Vdd - działaj w...
Nie jestem pan - tylko Michał :) Może zrób tak: - dodaj zmienną "pozycja" -> pozycja aktualnego wciśniętego poprawnego klawisza kodu (to wykryjemy za chwilę). - wywołujesz funkcję "czekaj na klawisz". - po każdym wykryciu puszczenia klawisza wpisujesz jego "wartość" do pass[pozycja]...
Sformowanie "naciskam" sugeruje-jak się domyślam- iż te impulsy będą powstawały w skutek działania palca na jakiś mono-stabilny przycisk. Jeżeli tak, to należy zadbać o eliminacje drgań styków takowego -bo pewnie chodzi o ilość przyciśnięć a nie o ilość wygenerowanych przy tej okazji...
Domyślam się że to wszystko z powodu przepięć, tylko dlaczego, skoro przekaźnik jest zasilany z osobnego źródła i jest odizolowany od części płytki z mikrokontrolerem? Kwestia pojemności pasożytniczych, przez które zakłócenia przedostają się na częśc cyfrową układu. Bez diody...
Witam. Korzystając z gotowca, próbuję zrobić licznik LCD zliczający do 14-stu. Do wyświetlania jedynki (dla liczb powyżej 9) wykorzystałem linię 7 portu B. Program się kompiluje i działa inaczej niż oczekiwałem: po włączeniu zasilania licznik działa jak sekundnik wyświetlając liczby...
Straszny ten kod jest. Przykładowo - po co jest coś takiego: [syntax=c]for(;;) while(1)[/syntax] albo to: [syntax=c]if( ! (PIND & (1<<PD3)) ) //tutaj sprawdzam trzeci bit z portu D { _delay_ms(200); //czekam, aż drgania styków ustaną ...
Wiem, chodziło mi o to aby nie sprawdzać stanu styków co 100ms tylko zmieniać wartość zmiennej w zależności od stanu wejścia i inkrementować inną zmienną dając tym samym czas na ustalenie się drgań styków. Ale to i tak bez znaczenia, bo autor nie chce używać procesora do obsługi klawiatury.
Witam panie Grzegorzu. Jestem na etapie nauki o strukturach, tablicach itd..., a więc nie chcę zanudzać i zabierać cennego czasu. Nie dociera do mnie cała ta terminologia i muszę to pojąć.Bez tego nie ruszę dalej. A żeby to najprościej wyjaśnić, to na tym etapie "znajomości" C jestem...
A tu zalecałeś blokowanie przerwania, w celu likwidacji drgań styków i zabezpieczenia się przed ponownym wywołaniem przerwania. Tam omawialiśmy przypadek podłączenia przycisku do pinu INT0 i wykorzystaniu przerwań: Jeśli przycisk podłączasz pod pin INT0, to drgania spowodują...
Rzeczywiście należałoby zrobić to zgodnie z zasadami sztuki tzn. próbkować co jakiś tam czas wszystkie klawisze i enkoder w przerwaniu timera. Na tej podstawie robi się odtłumianie drgań styków. Na przerwaniach trudno zrobić to prawidłowo. Odnośnie schematu, to kolega Dondu ma rację....
{ LCD_clear(); LCD_putstr_P(PSTR("TTTTTT1&... LCD_xy(3,1); LCD_putstr_P(PSTR("1"&... } void menu2(void) { LCD_clear(); LCD_putstr_P(PSTR("TTTTTT2&...
Witam, mam problem z programem na mikroprocesor. Na początek dodam, że prototyp, zanim poszedł w odstawkę pół roku temu działał prawidłowo. Program w tym momencie ma za zadanie wyświetlić 4 zmienne na wyświetlaczu. Uruchomienie przerwań zawiesza program. W zależności od tego kiedy zostaną...
po co to R ? Po to aby podczas ponownego rozwarcia styków na skutek drgań mimo kondensator ładując się przez opornik w dalszym ciągu utrzymywał 0 logiczne na pinie od przerwania. Kondensator musi się jakiś czas ładować. PRzez czasy pojmuję ms.
Najprostsze sposoby z kondensatorem i rezystorem, potrafią wygenerować łagodne zbocze narastające o czasie np 20ms, a mnie właśnie chodziło o sposoby, by maksymalnie skrócić ten czas, ale aby nie złapać się jeszcze w drgania przycisku. Jak widać da się to zrobić, jednak uzyskanie rozdzielczości...
Dziękuję za podpowiedzi. Już wcześniej był założony radiator na lm.Wg mnie się za mocno grzeje i obawiam się ,że się kiedyś się w końcu przepali. Co do płytki , to mam już wlutowane dwa przyciski start i stop, szkoda byłoby znowu coś odlutować bo tył płytki wygląda makabrycznie,co...
Do wejścia PB2 dolutowałem 1uF (ceramik) plus kilka zmian w algorytmie. Wydaje się że problem drgania styków jest opanowany. [syntax=c] #define F_CPU 16000000UL // Atmega644 #include <avr/io.h> /*biblioteka avr*/ #include <string.h> /*biblioteka napisy*/ #include...
uu teraz gdy odłączyłem zasilanie samego silnika to zauważyłem, że gdy zadziała jedna krańcówka (w postaci kontaktronu) to efekt jest podobny do resetu. Więc może to być wina programu, ale nie koniecznie. Możliwe ze podczas startu kontaktrony się zwierają, ale w poprzednim układzie takie...
Dzięki wszystkim za opinie. Oddałem dziś projekt został oceniony na 5;] Dokonałem kilku zmian w programie więc wrzucam nową wersję: Jeśli już eliminujesz drgania styków programowo i w dodatku z użyciem timera, to mogłeś się pokusić o tak samo zrealizowane opóźnienia....
Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C,...
Dzięki. Stokrotne dzięki. Jak będę miał oporniki to podłącze drugi. Do 13 ,12,4,1,0 i digital też można?Te mam wolne. PS. Przycisk też musi mieć rezystor?Przycisk do 13 i 2 pina ale ja mam 2 zajęty. Jaki inny można?Z wolnych do przycisku. W zasadzie wszystkie piny są po to by z nich korzystać...
Odpowiadając na Wasze pytania: koszt tegoż układu to około 20zł. Czas tworzenia... trochę to trwało, ale powielenie konstrukcji to już małe piwo. Trzeba się było trochę napocić z docinaniem przeźroczystej szybki (użyta przeze mnie obudowa nie miała dedykowanego filtra) i małymi przeróbkami...
Witam! Mam problem z komunikacja pomiędzy TDA8425 a Atmega 32. Napisałem program jednak układ nie reaguje na komendy I2C. Wymieniłem już układ na nowy i to nic nie pomogło. Wszystkie elementy są sprawne, zarówno wzmacniacz jak i Atmega. Na wyświetlaczu wyświetla się, że niby wysłano te...
Wróciłem do rozgrzebanego projektu i aktualnie walczę z obsługą impulsatora. Użyty procesor to ATMEGA 16 z zewnętrznym taktowaniem 16MHz. PD2 (INT0), PD3(INT1) są skonfigurowane jako wejścia z podciągnięciem do 1 i do nich podłączone są piny impulsatora odpowiednio PD2 A i PD3 B (patrz...
Dzięki za tak szybkie odpowiedzi :-) Rozumiem, ze zmienne zadeklarowales jako volatile, czy zapomniales o tym?:) Druga sprawa - komplikujesz. Ustaw 16-bitowy timer tak, zeby np. mial impuls co 1us, albo czesciej, w zaleznosci jaka potrzebujesz rozdzielczosc. Tak, zmienne mam jako volatile, ale...
Jestem początkującym z programowaniu w C.Opiszę problem : Zbudowałem licznik zwojów do nawijarki na ATMEGA 8 . Licznik liczy zwoje przy pomocy optobariery szczelinowej i tarczy z dziurką(czyli zliczanie gdy na wejściu stan niski) liczy w przód i w tył(przy odwijaniu). Jedno wejście ATMEGi...
Całkiem błędna sugestia - sygnał pochodzi ze styków, a ATmega nie ma sprzętowego filtrowania wejść timera. Tu sprawdzi się tylko zliczanie programowe w przerwaniu timera. Proponuję na początek częstotliwość ok. 50..100 Hz - powinieneś w ten sposób bezpiecznie ominąć drgania styków....
Witam! Jeśli chodzi o tego typu połączenia z uC, to w praktyce stosuje się rozwiązanie "a)", czyli przycisk jest aktywny niskim stanem. Jesto to pewniejsze rozwiązanie. Rezystory podciągające w ATmega mogą płatać różne figle, o czym się już kiedyś przekonałem. Koniecznie dołóż zewnętrzne...
Witam serdecznie. Piszę program, w którym muszę zliczać przychodzące impulsy z licznika energetycznego do procka. Aby nie zliczać impulsów pochodzących od drgań styków wymyśliłam takie rozwiązanie. Jeśli na INT0 przyjedzie zbocze opadające, włącz licznik T0. Gdy licznik przepełni...
Witam! Wykonałem układ do włączania silnika AC lecz mam problem przy sterowaniu. Zadaniem układu jest włączanie silnika na czas ustawiony dowolnie w sterowniku. Układ działa bardzo dobrze bez obciążenia, lecz po podłączeniu przekaźnika pod stycznik uruchomiający silnik czasem zdarza...
Witam, Przymierzam sie do budowy małego sendera UKF i koderem rds i stereo w celach dydaktycznych. Znalazłem program do obsługi syntezera na saa1057 na ATMEGA8 i mam małe pytanie. Jak zmienić program żeby na wyświetlaczu wyświetlał mi częstotliwość w podanym formacie XX,XX MHZ w tej chwili...
Jeśli chodzi o uC to jestem raczej na poziomie początkującym(odczyt stanu przycisku, zapalanie diody, wyświetlacz LCD, termometr 1-Wire). Niestety jednak muszę zrobić projekt na uczelni, i prawdopodobnie będzie to licznik rowerowy. Dodam że jeszcze nie zacząłem robić, ale już mam kilka pytań(tak...
Wspomniane sygnały są prostokątne i przesunięte w fazie względem siebie o 1/4 okresu. No to jest właśnie 2-bitowy kod Greya. Przeanalizuj sobie jakie kombinacje stanów logicznych pojawią się po kolei i porównaj z tym co napisałem w poprzednim poście. Zresztą zobacz Electrical Characteristics...
Lista poprawek 1 Zmienione Gniazdo programatora na standardowe 2 dodano kondensator 100n przy zasilaniu procka 3 zmieniono stopień końcowy na tranzystor mosfet buz11 prąd ma wystarczający ale zastanawiam się czy atmega da rade go otworzyć całkowicie? Dodano po 1 worek pytań uporządkowana...
Witam, bardzo Was proszę drodzy koledzy o pomoc w ustaleniu przyczyny dziwnego działania programu na procesorze ATmega, bo już zaczynam dostawać białej gorączki od tego. Bardzo mi zależy na szybkim ukończeniu projektu, a tu co chwilę jakieś problemy i zmarnowane dni na szukanie przyczyn niepowodzeń. ...
Część Witajcie! Jestem Oskar, dopiero zaczynam przygodę z mikrokontrolerami. Otóż, dostałem niedawno swoją pierwszą Attiny2313. Napisałem również do niej program i pojawił się problem z przyciskami. Mianowicie gdy chcę aby przycisk zadziałał muszę jednego razu dłużej przytrzymać...
hmm.. jednak nie tutaj droga pojawiło się jeszcze kilka innych problemów - np ukłądy nowej serii są strasznie wrażliwe na co ? nie wiem na co. np od "wieków" przy nogach wejściowych gdzie sygnały pochodzą np z przycisków stosuję kondensator 100nF do masy dla eliminacji drgania styków i...
Witam jestem początkujący w tej dziedzinie a otrzymałem zadanie złozone z 2 członów a mianowicie mam napisac program naciskam przycisk dioda sie zapala naciskam znów dioda gaśnie naciskam ten sam przycisk i go trzymam to diody sie zapalaja po kolei wykonałem płytke i na mikro. atmega 8 wykonałem...
Napisałem program do obsługi klawiatury matrycowej. Podłączone diody LED wskazują binarnie wartość wciśniętego przycisku, a wyświetlacz LCD pokazuje szesnastkowo wciśnięty przycisk. Klawiatura podłączona do PORTD mikrokontrolera. Problem w tym że wszystkie przyciski działają poprawnie...
1. Do których linii i w jaki sposób są podłączone przycisk i dioda? Schemat! 2. Masz dwa proste błędy - w ATmega rezystory podciągające wejścia włącza się poprzez ustawienie linii portu jako wejścia ORAZ zapis jedynki do rejestru PORTx, czyli: DDRB=0x00; PORTB=0xFF; No i sprawdzanie...
Rezystory podciągające ATMega ma wbudowane - trzeba tylko włączyć. Jeśli to praca inżynierska to pora zacząć od podstaw pracy z AVRami... A do eliminacji drgań styków czasem same kondki nie starczają - owszem, pomagają, ale nie niwelują problemu do 0
A co zrobić żeby kolejne kliknięcie zmieniło x na zero? To nie zadziała zbyt dobrze, bo przytrzymanie przycisku będzie ciągle zmieniać stan x na przeciwny. Zresztą taką zmianę szybciej można zrealizować za pomocą x^=1; Stąd też najlepiej PINC przypisać do jakiejść zmiennej...
Odpowiedzią na twoje kłopoty jest instrukcja DEBOUNCE, gdyż: 1. Potrafi wywoływać podprogramy przy dowolnym stanie linii portu, 2. Przycisk raz naciśnięty i puszczony wywołuje podprogram tylko jednorazowo, 3. Filtruje drgania styków przycisków które potrafią narobić niełego bigosu...
Enkoder to mechanicznie zwykły przycisk. Ma też wszystkie wady przycisku, czyli np. drgania styków. Wiele enkoderów na jeden "przeskok" generuje 2-4 impulsów i oczywiście czasy trwania poszczególnych faz zależą od szybkości kręcenia. Przejrzyj darmowe przykłady do książek w mojej stopce...
OK. Dziś stosuję: 1. ładowarkę na TP4056 2. Zabezpieczenie na DW01+ i 8205 3. przełącznik on/off zrealizowany jak na schemacie (z udziałem uC Atmega) 4. step up na MCP1640 / w testach SX1308 (część układu potrzebuje +5V) 5. wskaźnik naładowania ogniwa na tym samym uC i 5-ciu ledach Tak...
Piszę ogólnie, bo oczekuje ogólnej odpowiedzi :D Nie tylko do mojego projektu, tylko "ogólnie" :P ... dostałaś ją: Jak zwykle można to rozwiązać na tysiąc sposobów. Innymi słowy, nie ma jednego uniwersalnego rozwiązania, bo za każdym razem masz inne możliwe do wykorzystania...
Myślę, że nie sieje. Moje przypuszczenia opieram na tym, że najpierw zacząłem od uruchomienia poprawnego tych lamp. Program działający jako prosty licznik, który tylko dodawał i odejmował do liczby "minuty" wartość 1 i potem pokazywał to na wyświetlacz działał poprawnie. I nie wieszał...
Po pierwsze wszystkie biblioteki Arduino mają otwarty kod i można je przeanalizować, samo to ma wartość dydaktyczną. Po drugie platforma sprzętowa Arduino w żaden sposób nie narzuca swojego IDE. Nawet w oryginalnym środowisku Arduino, można a czasem nawet warto operować na rejestrach bezpośrednio....
Witam. Chciałbym przedstawić mój system sterowania roletami i oświetleniem w domu jednorodzinnym. System powstawał stosunkowo długo. Ewoluował wraz z budową domu. Niestety nie mogę poświęcić mu tyle czasu ile bym chciał dlatego nadal nad nim pracuje. Część komponentów doczekała...
Proszę o pomoc. Ustawiłem fusbity zgodnie z notą katalogową (CKSEL3..0 = 1111, CKOPT = 1) ale układ pracuje z częstotliwością około 1.5MHz przy kwarcu 16MHz. Zmiana CKOPT na 0 nie ma wpływu na częstotliwość. Odnoszę wrażenie, że kwarc nie prauje (przy pomocy oscyloskopu stwierdziłem...