Diody masz podpięte bezpośrednio pod porty ATmega? Jeśli tak to lepiej dołóż sobie oporniki aby nie spalić wyjść ATmegi. Bezpośrednio przy procku daj kondensator 100nF. Przed stabilizatorem np. 1000uF, a za stabilizatorem 100u (to i tak za dużo, ale lepiej więcej niż za mało). Zliczanie zrealizowałbym w taki sposób: - Odpalić któryś z wewnętrznych timerów...
Załóżmy że mam dowolny przebieg prostokątny o nieznanej częstotliwości i wypełnieniu który trwa około 30ms a zmiany stanu nie występują częściej niż 0,5ms, jak przechwycić go i porównywać z innymi? Mniej więcej w taki sposób jak Twoim programem, tylko trzeba go napisać w sposób w którym próbkuje w dokładnych odcinkach czasu (wykorzystanie timera) a...
Witam, Nie wiem za bardzo co można sprawdzić w tym listingu, bo nie wiadomo co ma do końca robić, ale się nie kompiluje z kilku powodów: -niezadeklarowana zmienna "T1" -zmiennej typu String "H" nie można zwiększać ani zmniejszać jak zwykłej zmiennej, także nie można jej porównywać ze zmienną liczbową -polecenie "Lowerline" nie jest równoznaczne z jednoczesnym...
Pozwolę sobie umieścić post pod postem żeby wiadomość dotarła do zainteresowanego. Jeszcze lepszym wyjściem dla takiego zegara będzie zastosowanie dedykowanego rezonatorka 32768Hz (32,768KHz) Wartość 32768 to w zapisie binarnym dokładnie piętnaście bitów. Jeśli więc Timer będzie zliczał generowane impulsy to po 32768 uzna że mineła sekunda :D Bascom...
Nie rozumiem co mam porównywać jakie oscylacje? To co już nawet napięcia baterii nie mogę sprawdzić tym miernikiem co go robię tylko od razu muszę robić zasilacz?
Witam,dzieki za odpowiedź :) Leszku, substr4 to oczywiscie blad przy przepisywaniu. jesli chodzi o id_! i id_2, to probowalem porownywać je wlasnie w taki sposob, ale nie idzie...ale wtedy nie wywala warninga za to. pamieci przydzielonej dynamicznie nie zwalniam i jak widać jest kaszana.tylko jak rozumiem musialbym to zrobić poza funkcją substr? 1)...
Chciałbym jeszcze zauważyć, że teoretycznie mogą zdarzyć się sytuacje: r=b lub b=g lub r=g lub nawet wszystkie jednocześnie. Prawdopodobieństwo może niewielkie, ale program powinien chyba brać to pod uwagę?
Witam Potrzebuję zrobić rejestrator przekroczenia pewnego poziomu hałasu (nie istotna skala tylko czy jest powyżej jakiegoś poziomu ustawionego). Pomyślałem że najłatwiej jest wzmocnić sygnał z mikrofonu, przetworzyć na wartość średnią albo maksymalną (żeby jak nałatwiej było) poprzez np kondensator na wyjściu wzmacniacza i dalej na A/C atmega8. Żeby...
Sterownik jest na silnikach krokowych, sterownych AtMega8. Jeden fotorezystor jest na zewnątrz, drugi w środku. Zadaniem jest regulowanie oświetlenia pokoju tak żeby zachować maksymalne oświetlenie, natomiast po zapadnięciu zmroku zamknąć żaluzje, rano je otworzyć. Problem mam z oprogramowaniem tego :) Może ktoś z was ma pomysł jak porównywać sygnały,...
Jeśli do dyspozycji możesz mieć cały mikrokontroler to bez problemu możesz porównywać rezystancje z np 16ma wzrocowymi opornikami na mostku Wheatstone’a http://bc107.republika.pl/html/most.html Pomiar rezystancji poprzez rozładowywanie znanej pojemności to bardzo dokładna metoda :) oczywiście nie w tak szerokim zakresie
W załączniku zamieszczam prosty schemat. Jest to podłączenie pola dotykowego do mikrokontrolera w sposób jaki to robi Atmel w swojej technologii QTouch. Trzeba porównywać czasy ładowania samego kondensatora i pojemności gałęzi ( kondensatora+ewentualnie przyłożonego palca). Jednak jak ustawię wyprowadzenia na wejście i dam stan wysoki, to kondensator...
Mówi o tym dostępny za darmo dokument [url=https://ww1.microchip.com/downloads... Migration from ATmega8 to ATmega8A wypuszczony przez firmę Atmel. ATmega8A to w pełni funkcjonalny odpowiednik starszego układu ATmega8. 8A został wyprodukowany w nowszej technologii. Co to zmienia? Popatrzmy: - mniejszy pobór prądu (od 33%...
Niby łatwo a się zaplątałem... Prosta sprawa : Porównanie tego samego napiecia ( napięć dla 4 portów ) w cyklu 30 minut. Jesli napięcie "stanie" na ADC jakimkolwiek to pin X = 0/1 Czas mam wyprowadzony i zastosowanie instrukcji WAIT rozwala system ( czyli wszystko stoi-- tj inne ADC ) Kod wyglada /bedzie wygladał tak ( sam pomiar ) W1 = GetADC(1)...
Ludziska. Skoro dodatkowy licznik programowy Wam się nie podoba, to trzeba kopiować wartość licznika sprzętowego do zmiennej i porównywać (mniejsze, większe) z tablicą wypełnień. Cały "PWM" wtedy należy przenieść do pętli głównej. Oczywiście Prescaler = 1 nie jest najlepszym rozwiązaniem w takim wypadku. Jeśli nie jest potrzebna dokładna synchronizacja...
nie do końca o to mi chodziło... wiem, że najdokładniej działa komparator w okolicach połowy Vcc-1V ale ja chcę wpiąć rezystor bocznikowy do masy a na nim spadek napięcia porównywać z ustaloną wartością i jeśli to będzie np.200mV (względem masy) to czy układ będzie działał poprawnie bo 200mV * 4A = 0,8W a jednowatowe oporniki są jeszcze niewielkie a...
to d6 ( u mnie FD ) to wynik iteracyjnego obliczania sumy CRC16 w/g reguł opisanych w kodzie. Podałeś źródła dla C/C++ ale na platformę Windows. Ja mam Linux i muszę to przeportować, aby się kompilowały. Różnica w wartości checksum-y u Ciebie i u mnie wynika zapewne ze sposobu obsługi słowa maszynowego przez obie platformy (Lin / Win). To mi nasuma...
Witam Napisalem prosty program dla DS1820, ktory wyswietla temperature na LCD. Mam dwa procesory ATmega8 i ATmega8L. Po wgraniu programu do ATmegi8 wszystko działa bardzo dobrze, jednak kiedy wykorzystam do tego ATmega8L na wyswietlaczu pojawia sie tylko tekst 'brak ukladu'. Czym różnią się te dwa kontrolery? Myślałem, że tylko niższym napięciem zasilania...
Zwykle gdzieś jest krańcówka - transoptor ze szczeliną który zostaje przesłonięty gdy wózek wjedzie na koniec. Potem wystarczy zliczać kroki silnika. Co do wykrywania płytki to nie jestem pewien czy rozpoznawanie koloru będzie dobrze działać. Musiałbyś precyzyjnie określić zasady czym obkładać płytkę podczas naświetlania dla uzyskania kontrastu. A płytki...
No właśnie na programowalnej logice się nie znam, jeszcze ;) To może zapytam tak...czy jest taka "kość" FPGA, która od strony procka będzie widziana jako pamięć SRAM lub inna, tak abym mógł bardzo szybko wpisać daną wartość PWM dla danego kanału. Oczywiście muszę mieć możliwość wpisywania wartość wtedy kiedy procesor tego chce, bez czekania czy będzie...
Witam, mam problem a mianowicie: Atmrga8 i Atmega48 mają tyle samo wyprowadzeń. Czy mogę zamiast Atmegi8 użyć Atmegi48 do tego samego układu i zaprogramować tym samym programem?
Witam. Zainteresował mnie niedawno temat mikrokontrolerów, postanowiłem zacząć naukę programowania. Wybór padł na rodzinę AVR (ze względu na popularność). Na forum wiele osób polecało na początek Assemblera, tak też wybrałem. Przedstawiam jeden z moich pierwszych programów, jest to programowo zrealizowane "dwukanałowe", 8-bitowe PWM. Proszę o ocenę...
Zajrzałem, ale nie wiem jak mam porównywać bufor z czymkolwiek. Spróbuję dodać znak NULL do końca wysyłanego ciągu wedle podpowiedzi(zapomniałem, że \0 oznacza znak o wartości NULL). :) Dodano po 29 Zmodyfikowałem wedle podpowiedzi: W main: while(1) { ReadKeypad(); if(end_trans) { if(!strcmp((const char*)bufferin,"Wlacz")...
Witam, porównuję karty katalogowe Atmega 8 i Atmega8A. Ciężko znaleźć różnice, a selektor na stronie Atmela nie pomaga... Czy zamiast 8 mogę użyć 8A? Gdzie ryzyko?
Witam Mam pewien problem z odmierzaniem czasu za pomocą ATmegi. założeniem był prosty licznik czasu pracy urządzenia. Za pomocą timera odliczam określony czas po przepełnieniu timera zwiększam zmienną w pętli tak żeby uzyskać sekundę, następnie kolejna pętla zwiększająca minuty itd. Użyłem Atmega8 częstotliwość taktowania to 8MHz z wewnętrznego źródła....
gdzie masz wpisać to: ;) avrdude -p atmega8 -c usbasp 1. naciskasz klawisz menu START w lewym dolnym rogu windowsa ;) 2. wybierasz opcję "URUCHOM" 3. wpisujesz polecenie CMD 4. naciskasz OK 5. pojawia ci się czarne okienk konsoli typu DOS 6. przechodzisz do folderu gdzie masz wgrany avrdude (jeśli nie będziesz wiedział jak się przechodzi do folderu...
Witam Czy zamiast atmega8 można wstawić atmege8a? Proszę o odpowiedzi fachowców. Z góry dziękuję.
Witam, chciałbym sie dowiedzieć jak to jest z tymi mikrokontrolerami. Czy ATMEGA8 programuje się tak samo, i czy mogę napisać program tak samo jak dla 90S2313? Chciałbym zrobić kurs oślej łączki z EdW, ale nie stać mnie na płytkę testową. Zauważyłem ze ATMEGA8 jest tańszy od 90S2313, a do tego ma większą pamięć i więcej portów. Czy mogę pisać na niego...
Witam wszystkich Chcialbym zapytac czy istnieje jakas roznica pomiedzy mega8 a mega168 w ukladzie albo konfiguracji i²c. Mam dwa procesory mega8 podlaczone na magistrali i²c i komunikuja funkcjonuje bez problemu,jak tylko jednego z nich wymienie na mega168 nie dziala nic!!! Szczesliwego nowego roku !!!
Mam pytanie, czy Atmega88 jest innym mikrokontrolerem niz Atmega8? Czy mozna je swobodnie podmieniac? Jakie sa roznice? Kaz
PWM możesz sobie zrobić tak, że odpalasz np. timer0 zeby rzucał Ci przerwania co określony czas (jakies us, ms), inkrementujesz zmienną w obsłudze przerwania, po przekroczeniu np. 255 zerujesz. Masz w tym momencie "przebieg" (zmiennej) w kształcie piły. Wystarczy teraz w każdym przerwaniu od Timera porównywać tą zmienną z inną, ustaloną, i jeśli jedna...
Czesc wszystkim potrzebuje pomocy . Chce na wejsciu komparatora ATMega 8 PD6 i PD7 miezyc napiecia, na kazdym z nich jest zamontowany potenciometr 10 kohm, jednym z nich ustawiam napiecie a ten drugi jest zamontowany na osi malego silnika . jezeli napiecie ustawione jest mniejsze niz napiecie na osi silnika to na wyjsciu Port b.1 pojawia stan Hi wysoki,...
Dzień Dobry ! zgrałem wsad z atmega8 16 AU i wgrałem go do atmega8 8L i układ nie startuje. czy nie można zamieniać tych mikrokontrolerów?
witam już od dawna chciałem się wziąść za programowanie zdecydowałem się na programowanie w assemblerze co do układów mam kilka piców no i chciałem coś z nimi zrobić ale jak się okazało dwa są walnięte a dwa są jednokrotnego programowania i juz są zaprogramowane więc postanowiłem że zabiorę się za Atmele sporo się naczytałem na elektrodzie najczęściej...
Witam, Próbuję zrobić porównanie zawartości tabeli z tekstem w tym przypadku to litera "E". Nie wiem gdzie popełniam błąd. [syntax=c] uint8_t pozMe = 0; uint8_t maxMe = 4; const char * Menu[][4] = { {{"Ust."} ,{"a"} ,{"A"} ,{"?"}}, {{"Ust."} ,{"b"} ,{"B"} ,{"?"}}, {{"Zmien"} ,{"c"} ,{"C"} ,{"?"}}, {{"Exit"} ,{"e"} ,{"E"} ,{"?"}} }; void ..... // inna...
Chciałbym jeszcze na chwilę zatrzymać się przy moim drugim rysunku Jeśli TL431 zastąpić tranzystorem npn małej mocy, jak bardzo wtedy układ ucierpi na stabilności zadanego prądui czy wogóle? W takim układzie, żeby emiter do ujemnego końca opornika R(CL), a bazę do dodatniego, używając napięcia emiter-baza jako wzorca do określenia prądu? Po pierwsze...
Chciałem zrobić amperomierz i woltomierz. Próbuje mierzyc prąd pobierany przez cały układ tak jak na rysunku , niestety oba pomiary wskazują tą samą wartość. To samo gdy podłącze je do 2 rożnych nóżek świecącej diody. Gdy 1 sonda jest podpięta do 5V a druga do potencjometru obie wskazują prawie dobrze ( do 100mV roznicy z miernikiem ) Pomiar prądu chciałem...
Witam. Otoż napisałem pewien programik dla ATMEGI8 i działa on dobrze. Jednak ciezkie bedzie teraz dla mnie jakiekolwiek usprawnienie jego pracy bez mozliwosci porownania. Potrzebuję więc porównać 2 rejestry, z tym, że wynikiem porównania nie może być równy, albo nierówny, tylko mniejszy albo większy. Jak to zrobić?
Mam prośbę.Próbuję uruchomić woltomierz do pomiaru napięcia akumulatora i wyświetla mi na LCD same zera. prawdopodobne coś mam źle w kodzie. [syntax=c] #include <stdio.h> #define VREF_VCC (1<<REFS0) //Napięcie odniesienia #define ADCIN PC0 //Aktywne wejście dla pomiaru napięcia(ADC0) uint32_t wynik; uint16_t pm; uint8_t cz_d,cz_u; int main(void)...
Witam, Droga wstepu jest to moj pierwszy temat tutaj, co znaczy ze zawsze znajdowałem w historii tematów odpowiedzi na moje pytanie, lecz nie tym razem... Robot do wychodzenia z labiryntu. 5 czujników. Przod, lewa i prawa strona do wykrywania wolnej drogi lub ściany (sygnal z czujnikow w postaci cyfrowej na zasadzie jest ściana lub nie ma ściany). +...
Witam, Próbuję odczytać z karty micro SD 512MB (Kingston) sektor #0 (addr=0x00000000) ale karta zwraca mi kompletnie inny sektor,a raczej blok zaczynający się od 0x087DD2A6 (wyszukałem na karcie Hex-edytorem dane ze zwróconego bloku). Dane wysyłane po SPI się zgadzają z tymi co podaję w parametrach funkcji... Funkcje komunikacyjne (wysyłanie bajtu do...
Na każdym z fotorezystorów robisz dzielnik napięcia... Z niego podajesz napięcie na wejście ADC... Mierzysz napięcie z każdego dzielnika i porównujesz...
1. W jaki sposób zczytałeś te id? Podpiąłeś czytnik pod RS232<>USB? Jeśli masz stąd powtarzalne dane, to znaczy, że czytnik pracuje poprawnie. 2. Natomiast zrób jeden test. Wgraj do tego procesora program wysyłający po UART jakiś tekst co 1s i zobacz, czy odczytasz poprawny tekst na komputerze za pomocą przejściówki (oczywiście czytnik odłącz)....
Co do 1 pytania : uint8_t tablical_EE[] = {0,8,16,24,32,40};// 6 adresów user'ów 8-io bajtowych eeprom_read_block (wzorzec,tablica_EE[i],8)... Prościej się już chyba nie da. Poruszasz się po tablicy w eepromie i ściągasz do wzorca kod 8bajtowy user'a dalej sobie to jakoś porównujesz czy coś.
while(!(key = read_keypad())); Nie podoba mi się ta linia kodu - chcesz przypisywać czy porównywać?
Wolał bym jednak uruchomić mój kod, może to odejmowanie jest winne czemuś, lub porównywanie ?
Czy tego ADC powinienem użyć w taki sposób, jak choćby tutaj: http://robolabz.multiply.com/journal/ite... ? Pod koniec jest takie coś: uint16_t value; value = ADC; Co da mi ta zmienna? Wartość napięcia? Wtedy mogę ją sobie programowo porównywać?
hmmm podajesz nazwy 2 rejestrów a jednocześnie mówisz, że "przecież jeden rejstr nie może...." więc o co tobie dokładnie chodzi? - przecież są 2 rejestry i są one porównywane
No ale chyba oczywistym jest, że nie będzie brał pod uwagę wielkości poprzednio wgranego programu, ale wielkości programu z którym będzie porównywał zawartość?
Może być zamiast BAT83. Do porównywania parametrów dobre są pdf'y... http://pdf1.alldatasheet.com/datasheet-p...
Jeśli do tego włączysz przerwania, ustawisz licznik T1 w tryb porównywania z kasowaniem, to dokładnie co 1 sekundę wywoła się przerwanie przepełnienia licznika T1. Dalej to już tylko odpowiednia obsługa tego przerwania.
Aby zapisać zmienną tekstową "$TEMP" potrzebujesz 5 znaków, plus jeden znak null na końcu. Czyli łącznie 6 znaków. A u ciebie zmienna ta jest zadeklarowana jako 5 znakowa.
Na początek do testów wystarczą Ci jako drivery linii tranzystory z otwartym kolektorem. Wspólna linia musi mieć podciąganie rezystorem do Vcc. Odbiór z linii przez diodę bezpośrednio na procesor. Poszukaj noty aplikacyjne u Atmela, Microchipa, jakieś Wiki może. Są procesory z wbudowanym LIN-em. Drut może być cieńki. Co do CAN-a to wyższa szkoła jazdy...
Teraz tu jest sprawdzany bit if(PINC & 0x08) a jak zastosuje && to cały rejestr jest porównywany z cyfrą 8 czy tak? Jak zastosujesz && to dla PINC różnego od zera będzie: "if(TRUE AND TRUE) " W przypadku wyrażeń logicznych wartość TRUE ma każde wyrażenie różne od zera. A z tym 13-impulsem to jakaś "magia"? :) Bez sygnału 38kHz TSOP będzie głupiał.
hmmm przewód do zacisku silnika bez bocznika? (czyli pomiar spadku an przewodzie?) Co daje to że ten procesor ma REF 1.1V? do tego się porównuje wartość zmierzoną?
Z tego co porównuję z listingiem źródłowym z książki to masz kilka błędów: sprawdź: [syntax=basic4gl]Config Lcd = 16 * 2[/syntax] oraz umiejscowienie [syntax=basic4gl]Cls[/syntax] w pętli a u ciebie jest poza pętlą oraz wyrzuć konfigurację [syntax=basic4gl]Config Timer2 = Timer , Async = On , Prescale = 128[/syntax] sprawdź także ustawienia Fuse CKSEL3..0...
Jak może nie mieć znaczenie, skoro stale TCNT jest porównywany z OCR? To sobie wyobraź, że wpisujesz do OCR 100, raz w chwili kiedy TCNT ma wartość 99, a raz, kiedy ma wartość 101. Jak to wpłynie na czas generowanego impulsu? Glitche to zupełnie inne zagadnienie.
Witam, Mam zapytanie, Mam klawiaturę 6 przycisków połączonych do jednego wejśća analogowego A.0 Pytanie brzmi, jak W Bascom napisać program żeby wiedział który przycisk naciśąlem Takie klawiatury zbudowane są zazwyczaj z pewnej liczby oporników, przyciskanie klawiszy powoduje jakieś zmiany ich wypadkowej rezystancji. Musisz zbudować dzielnik składający...
Z tym |= i = juz kombinowałem i nic nie dało. Ja nie chce overflow dlatego mam OCR1A ustawione i używam trybu compare i wpisuje TIMSK = 0x10 żeby włączyć porównywanie z OCR1A.
Ale chodzi ci kolego o porównanie tego napięcia z jakimś napięciem odniesienia? I w zależności czy przekracza, czy nie, ustawić jakiś bit? Bo twoją prośbę tak właśnie zrozumiałem. Jeśli tak, to trzeba wykorzystać komparator analogowy, wbudowany w twój mikroprocesor. Kod jest tak prosty, aż dziwne że nigdzie nie mogę znaleźć programu do którego mógłbym...
Tylko że impulsy masz podawać na wejścia INTx a nie na wejścia Timerów. Po za tym to Timer2 nie ma wejścia w ATMega8.
W przerwaniu nie powinno być funkcji obsługi LCD. Obsługę LCD daj do pętli głównej, bo inaczej będziesz miał problemy z przerwaniem. Jeżeli masz w buforze więcej rozkazów niż tylko RING, to strcmp ci nic nie da, bo funkcja ta porównuje dwa łańcuchy. Ale jeżeli w buforze bedzie zawsze tylko jeden rozkaz to możesz tak zrobić i wtedy nie potrzeba nawet...
Jakie kroki poczyniłeś, aby go rozwiązać? Ciężko trochę porównywać te dwa kody i patrzeć co pozmieniałeś. 4\/3!!
A czy można wiedzieć w takim razie ile do dyspozycji mam pamięci RAM (lub ile przy standardowej optymalizacji w winavr zajmuje stos)? Pozdrawiam Ja stosuje nastepujacy sposob. W dowolnym przerwaniu odczytuje wskaznik stosu do zmiennej porównując z poprzednia wartoscia i zapisuje mniejsza. Puszczam program naciskam co mam nacisnąc staram sie wykonac...
Sam napisałeś, że kupiłeś "OKAZYJNIE" za 12 zł, gdzie tymon_x podał cenę normalną, stąd przytoczyłem cenę w chinach. Widzę, że to Ty się zgubiłeś, ale nie przy porównaniach tylko gdzieś dawno w lesie. Jak chcesz porównywać, to porównuj ceny z jednego sklepu przy okazji podając chociaż peryferia. Bo AVR można kupić i za 4zł (kupujcie w ciemno). Poprzednie...
Program masz całkowicie źle napisany. Zacznij od sterowania serwami, ale tak, żeby nie używać delay. Czyli całe sterowanie musisz zrobić w przerwaniach. Najlepiej tak, że w procedurze obsługi przerwania inkrementujesz jakąś zmienną i porównujesz ją ze zmiennymi określającymi szerokość impulsu dla konkretnego serwa (skoro masz 10 to będziesz miał tablicę...
Więc porównywanie jej w przerwaniu także na to nie wpływa. Dopiero modyfikacja by coś zmieniła?
Ponieważ tzw. casting w BASCOMie jest nieco zbyt prosto zrobiony to proponuję zrezygnować z: Dim Xl As Word Dim Xh As Word A w przerwaniu pobierać zawartość z rejestru ICR za pomocą specjalnie generowanej dla tego celu zmiennej typu Word: Capture1 . Pętlę Do..Loop zamieniłbm na sprzętowe porównywanie i kasowanie licznika przez CTC. Niech takimi rzeczami...
To może przedstaw kod:) Czujniki masz podłączone przewodami, czy bezpośrednio na płytce? U mnie czujnik wlutowany na płytce nagrzewa się od reszty elektroniki i też zawyża temperaturę. Inna sprawa, to z czym porównujesz zmierzoną temperaturę? Pozdrawiam Adam
porównywać zdjąć makro porównywać porównywać tablica
schemat agregatu trójfazowego pokrętło vaillant wymiana czujnik ladowania
depollution system faulty peugeot depollution system faulty peugeot
Unitra PW-8010 – moc wyjściowa na kanał, ile wat RMS i muzycznej przy 8 Ω Volvo S60 2.5T 2005 – zasilanie zapalniczek i radia, bezpieczniki F10/F11, CEM, schematy