Kiedyś umieściłem na obecnie niedostępnej stronie and.elektroda.eu materiał o dekodowaniu sygnału DCF. Urządzenie potrzebne było w urządzeniu, które wymagało synchronizacji czasu w pomieszczeniu gdzie wyprowadzenie anteny zewnętrznej do GPS było utrudnione. Poniżej umieszczam treść oryginalnego materiału, który może być pomocny przy budowaniu urządzeń...
(at)seba_x:A co to za bzdura?:> • Peripheral Features – Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode – One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode A co do pytania autora, nie, zliczanie umożliwiają tylko dwa pierwsze timery. Trzeciego można używać jako wewnętrznego. Nie tylko...
a ustawiłeś Fuse Bity?? Bo jeśli nie masz ustawionych to ATmega pracuje z częstotliwością 1MHz. Musisz ustawić Fusy na albo 8MHz na wewnętrznym generatorze albo ustawić Fusy na zewnętrzny kwarc. i mniej więcej kod by tak wyglądał: $regfile = "m8def.dat" $crystal = 8000000 Cursor Off Dim Czestotliwosc As Long Const Licznik = 22336 Config Timer1...
No dobra, udalo ci sie polechtac moja proznosc wiec moze zrobimy tak. Opisze tutaj przykladowego mekafile-a z nastawieniem na WinAVR, Atmega8 i STK200 tak aby inni tez cos z tego mieli. W zasadzie wszystko jest opisane w angielszczyznie no ale jakby kto nie umial to daje po polsku. # Hey Emacs, this is a -*- makefile -*- #---------------------------------------...
https://obrazki.elektroda.pl/9317464400_... Witam Przedstawiam stację meteo nad którą pracuję już kawałek czasu. Początek prac to też mój początek zabawy z Arduino. Zaczęło się od gotowego projektu malutkiej stacji z wyświetlaczem OLED. https://obrazki.elektroda.pl/5611267500_... Wtedy już samo wgranie programu do...
Witam ponownie, Poszedłem o krok dalej i moim planem jest podłączenie każdego z czterech wtryskiwaczy do osobnego pinu Arduino Uno/Nano z Atmega 328p. Pozwoliło mi to na skonstruowanie programu aby sterować każdym wtryskiwaczem z osobna z tą samą częstotliwością i wypełnieniem, ale sygnał do ich wysterowania jest przesunięty około 90° (problem z rozdzielczością...
Ostatnio postanowiłem pobawić się z Arduino i do tego kupiłem tanie Arduino uno r3 z aliexpress (CH340 Atmega 328p) - od tego gościa: https://pl.aliexpress.com/item/100500603... Po problemach z instalacją pod Linuksem (chodzi o ten nieszczęsny CH340, który nie dość, że nie jest standardowo rozpoznawany, to daje jeszcze jakiś konflikt z oprogramowaniem...
Tym razem uwaga na temat taktowania timera B. Timer B ma bardzo zubożony dzielnik zegara gdyż may tylko opcję dzielenia przez 2 lub braku dzielenia. Alternatywą może być taktowanie zegarem zapożyczonym z Timera A, (sygnał pobierany zza dzielnika Timera). This peripheral uses the system's peripheral clock CLK_PER. The peripheral has its own local prescaler,...
Witam Mój problem wygląda następująco: -układ na jakim pracuje to atmega 8 a srodowisko programowania Bascom Po zalaczeniu i skonfigurowaniu countera w sposob następujący Config Timer1 = Counter , Edge = Rising , Noise_cancel = 1 Enable Interrupts Enable Timer1 Podczas odczytu wartości countera licznik szaleje (sam nalicza jakies nie stałe wartości)...
W takim razie nie twórz tablic (i nie używaj tablic stworzonych wcześniej, czyli statycznych) tylko licz sinusa na żywo. counter += period; if (counter >= 2_pi) counter = counter - 2_pi; TCF0.CCABUF = roundf(sinf(counter) * amplitude) + 2048; //Żeby zakres był od 2048 w obie strony Oczywiście to tylko przykład. Pasuje to jakoś...
Po co podłączasz rezonator kwarcowy, skoro działasz na wewnętrznym RC? Proszę skojarzyć z Real Time Counter with Separate Oscillator
Witam mam prosty program. Timer zlicza naciśnięcia przycisku. Problem polega na tym że po jednokrotnym naciśnięciu wartość zwiększa się o jakąś ilość (nie zawsze o 1). Jak temu zaradzić? np. żeby zmiana stanu licznika była możliwa tylko co określony odcinek czasu. [syntax=basic4gl]Config Pinb.0 = Input Set Portb.0 Config Timer0 = Counter , Edge = Falling...
Raz są zgodne raz są w przeciwfazie. A nie zależy to przypadkiem od stanu początkowego pinu? Config Timer1 = Counter , Prescale = 1 , Compare_A = Toggle , Compare_B = Toggle , Clear_Timer = 1 Nie znam baskoma ale toggle o tym mówi.
atom1477, spokojnie, przecież to podobno tylko kwestia konfiguracji i wybrania odpowiedniej częstotliwości. :) Chciałbym zrobić coś podobnego jak tutaj: http://obrazki.elektroda.pl/9591714300_1... Zmieniając tylko pewnie trochę wartości L i C oraz zastępując Attiny wyjściem PWM z Arduino. Niestety nie wiem jak to jest z tą częstotliwością...
"Od samego początku mam problem ze sterownikiem."...."A jeszcze jedno w kontrolerze jest włączony timer jako counter do zliczania impulsów ślimaka podajnika Przerywasz w programie procedurę wyświetlania na LCD przerwaniem od Timera.
jak nie odp ...wystarczy spojrzec na kod ... asembler jest tak szerokosc impulsu faktycznie zalezy od zadanej pozycji czyli od impulsow zliczanych prze counter to logiczne... ale nie w tym tkwi problem lecz w TCNT0=200... jak zmienic aby wychylenia serw byly bardziej dokladne czyli jak zmienic program aby atmega sie wyrabiala??
Chyba znalazłem choć może mi się wydawać, proszę o opinie fachowca :) jak w AVR Studio odpalę debugowanie i run, to po lewej w okienku "Procesor" jest wartość CYCLE COUNTER. Czy ta wartość podaje ile cykli procesor machnął od początku do aktualnego momentu? Jeśli tak to 8 ifów jest szybsze 282 cycle kontra 414 cykli przy użyciu pętli for i przesuwaniu...
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 rzeczywiście nie policzyłem, że counter tak szybko się przepełnia...
Hmm, moim zdaniem gdzieś jest zmienna 8 bitowa (Byte) musisz zmienić ją na większy typ. np. Word, Long. zmienna word Dodano po 1 A czy trzeba konfigurować port Config Pinb.0 = Input Set Portb.0 pod counter0 atmega 32 Dodano po 11 [syntax=basic4gl] $regfile = "m32def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 8 $framesize = 24 Config Lcd = 16...
Przecież autor pisze, że chce gotowca, a wy mu z mikrokontrolerami wyjeżdżacie. Najprościej jakieś używane Logo, Zelio, czy co tam jeszcze z przekaźników programowalnych. Podłączy zasilanie, 1 wejście, 1 wyjście przekaźnikowe i po sprawie. Rozumiem, że tak podłączone LOGO czy Zelio od od razu zacznie popranie pracować, bez potrzeby programowania czy...
Najprościej na przerwaniu. Nie pamiętam jak to przeliczać ale kiedyś potrzeba mi było odmierzanie czasu co 1s (bodaj na ATmega16 z kwarcem 8MHz). Da się przeliczyć (czytaj notę katalogową do procka) ale przy okrągłych herzach jakieś farfocle zostają ;) Mi wystarczyła dokładność +/- 1 sek. na 10-12 godzin :) Dodano po 3 I jeszcze jedno RTC nie zawsze...
Czesc, No niestety nie hula... probowałem tego. Myśle ze atmega jest zryta jakos... Mimo tego, ze mam obsługe przerwań i tak, wiem ze to musi działać bo skopiowałem to z mojego poprzedniego projektu, to mi się restartuje atmega. Zwrać na płytce nie ma. [syntax=c] #include <avr/io.h> // Załaduj bibliotekę input/output #include <avr/interrupt.h>...
http://obrazki.elektroda.pl/7218266900_1... Chronograf jest urządzeniem służącym do pomiaru prędkości obiektu. W najprostszej formie pomiar polega na wykorzystaniu dwu czujników, które będą „śledzić” obiekt, urządzenia do pomiaru czasu i interfejsu wyświetlającego wynik pomiaru. W niniejszym artykule zostanie przedstawiony...
Witam,. Mam następujący problem: Przetwornik analogowy na ADC pin 1 Przetwornik częstotliwość na Timer0 max232 1uF Kwarc 8Mhz i atmega16L Na kablu ze złączkami BNC mam połączenie atmega -> przetwornik czestotliwosci (2 kolumna). Wydaje mi się, że wszystko dobrze zlutowane oraz nie ma przerw w kablu BNC. Kabel mam 50 Ohm. Podczas wysyłania danych na...
Dobra. Wziąłem pierwszego lepszego pdf-a ze strony producenta. Są tam dwie końcówki ( T0,T1) . To są timery??? Dodano po 5 Doczytałem się też, że są tam dwa timery - jeden 16 bit ( counter 1) i jeden 8 bit ( counter 2). Czyli, że do 16-bitowego mam odwoływać się timer1 ??? do ilu zlicza 16-bitowy a do ilu 8-bitowy??? czy wiedząc,że jeden ma 8 bitów...
Problem jest taki że na symulatorze kod działa tak jak powinien, a na uC nie działa "menu" programu(funkcja Program) tylko od razu przechodzi do wykonywania pierwszej funkcji(funkcja Count). W ogóle atmega jakby nie reagowała na żadne przyciski. Zamieszczam kod programu: [syntax=asm].INCLUDE "m32def.inc" .EQUSYS_FREQ = 1 ldiR22, 0xFF ; set PORTA as...
Witam to mój pierwszy post na tym forum, stąd możecie mi wierzyć jak bardzo jestem zrozpaczony:) jeśli temat jest w złym miejscu to prosiłym moderatora o przeniesiegnie i z góry przepraszam:) zwykle staram się rozwiazywać wszystkie problemy sam ale tym razem mam coś czego nie jestem w stanie zrozumieć. Pracuję chwilę nad programem którego działanie...
Witam, Chciałem skomunikować ze sobą 2 atmegi32 i mam z tym problem. Jedna atmega wykonuje pomiar z wejścia adc i próbuję wartość ADC wyświetlić na wyświetlaczu podłączonym do drugiej atmegi, ale zamiast wartości np 467 na wyświetlaczu uzyskuję jakieś przypadkowe cyfry np. 13 10 19 51 54 ... Podłączone jest dobrze RxD do Txd i podciągnięte rezystorami...
Mam mały problem chcę zrobić prosty miernik częstotliwości w bascomie do ok. 600KHz Warunek ma mierzyć z dokładnością 1Hz i niestety nie wychodzi mi to. Taimer 1 mam skonfigurowany jako taimer (Config Timer1 = Timer , Prescale = 8) taimer 0 skonfigurowany jako licznik (Config Timer0 = Counter , Edge = Falling ) z resztą zamieszczam fragment kodu [syntax=basic4gl]$regfile...
Program na GLCD skleiłem z dwóch bibliotek - I2C Slave TMF (pierwsza książka) oraz obsługa wyświetlacza autorstwa "SunRivera" udostępnionej przez niego na Dropie. Podejrzewam, że mogłem coś namieszać w I2C - biblioteka była pisana na Atmega 88, ja skompilowałem ją na Atmega32. Kompilator protestował przeciwko obecności rejestru "TWAMR", którego 32 nie...
Witam Jako że niestety spaliła mi się karta teleVGA postanowiłem wy myśleć inne rozwiązanie na obsługę TV lub monitora. Na elektrodzie było sporo tematów jak podłączyć telewizor bądź monitor pod mikroprocesor. Jedne z wykorzystaniem karty graficznej od PC ale niestety nikomu się chyba nie udało Ja znalazłem taki właśnie projekt na atmega 168 niestety...
W zależności od MCU RTC jest trochę różne. W XMEGA masz dwie podstawowe wersje - RTC16 i RTC32, z opcjonalnym backupem bateryjnym. To co jest fajne w XMEGA to to, że jak dodasz kwarc zegarkowy, to możesz nim kalibrować wewnętrzny generator RC, dzięki temu nie potrzebujesz dodatkowego kwarcu dla procesora. Samo RTC działa po prostu jako 16/32 bitowy...
Powinieneś jeszcze pomyśleć o sytuacji, gdy masz pustą linię, ale przed znakiem nowej linii są biale znaki (spacje, tabulatory). Rozwiązanie które zaproponowałeś zadziała, ale tylko w przypadku znaku nowej linii na początku wiersza. Oto moja propozycja (fragment modułu parsującego plik konfiguracyjny demona, zarządzającego połączeniami ze sterowanikiem...
Na początku sprawdziłem, jest JMP 3-cyklowy, zapomniałem o tym wspomnieć, myśląc że komentarze w kodzie o tym mówią. Jest nawet dodatkowy NOP, aby przerwanie miało dokładnie 12 cykli, jakoś na parzystych łatwiej mi się dokonuje obliczenia. Może innym licznikiem sprawdzę ile tak naprawdę cały ten kod konsumuje cykli... Update: Wyszło na to, że cały ten...
;***************************************... ;* ;* "div8u" - 8/8 Bit Unsigned Division ;* ;* This subroutine divides the two register variables "dd8u" (dividend) and ;* "dv8u" (divisor). The result is placed in "dres8u" and the remainder in ;* "drem8u"....
Szanowni Forumowicze, staram się z byle błahostką tutaj nie pojawiać, ale niestety natrafiłem na problem w trakcie programowania µC z którym nie potrafię sobie poradzić. Ćwiczę programowanie w C i od kilku dni testuję Timery na Atmega8. Udało mi się zaprogramować je na wszystkie znane mi sposoby. Niestety po zmianie programu i konfiguracji na płytce...
Witam, próbuję zrobić projekt w stylu inteligenty dom i chcę sterować różnymi urządzeniami przez internet lecz nie chcę stawiać serwera bo i tak nie mam zewnętrznego IP. Pozostaje więc założyć zewnętrzny serwer i wysyłać dane na ftp w postaci plików. Byłbym wdzięczny za wskazanie jakiejś drogi (tutorial kurs cokolwiek) kod z działającym serwerem już...
Witam. Testowałem sobie różne opcje oszczędzania energii i trochę za szybko wgrałem program zmieniający częstotliwość taktowania za pomocą komendy CLKPR , przez co teraz nie mam komunikacji z mikrokontrolerem - nie mogę wgrać innego programu, bo dostaję błąd: avrdude: error: programm enable: target doesn't answer. 1 avrdude: initialization failed, rc=-1...
Witam, Męczę się żeby uruchomić bootloader w atmega 32 z przykładów Bascoma: Program któy chce wgrać to: '---------------------------------------... ' BOOTNEW.BAS ' (c) 2003, MCS Electronics ' The purpose of this file is to test the bootloader ' After the ? mark from the loader, set the focus to this window and then...
Owszem że chcę słuchać kolegi janbernat`a :) bo chcę się nauczyć, wczoraj i dziś próbowałem trochę poznać tajniki przerywań, a dokładniej TIMER0, jednakże nie za bardzo to rozumiem. Albo tak naprawdę nie wiem jak ma wyglądać konstrukcja programu żeby to chodziło. Czy coś takiego w uproszczeniu byłoby dobrym rozwiązaniem? (proszę się nie śmiać bo naprawdęnie...
Witam, Chciałbym napisać jakiś najprostszy program w VB do obierania wartości zmiennej wysyłanej przez Atmegę, wysyłana jest zmienna Lngfreq Program wgrany na atmęgę poniżej [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13 encoder (reichelt.de) 'Author Georg Latzel, DL6GL 'Copyright (c) Georg...
Witam Serdecznie wszystkich elektrodowiczów! Mam tak: Motor Yamaha dt80 Lc 2x16 Atmegę 8 Bascom I oczywiście dobre chęci! Chcę zrobić tak Aby atmega liczyła prędkosc obrotów silnika i pokazywała je na lcd a potem przeliczała na khm z dokładnością 5 khm w te czy we te Myślałem tak Ekran powitalny Szerokiej Drogi! Potem jak już ruszę jechać to atmel będzie...
Witam! Zwracam się z prośbą o wykrycie błędu, ponieważ nie mogę znaleźć przyczyny złego działania układu. Podaję kod na ATMEGA: [syntax=c]# include <avr/io.h> # include <inttypes.h> # include <util/delay.h> # include <avr/interrupt.h> # define UNSET_LED1 PORTB|=1<<1 # define UNSET_LED2 PORTB|=1<<0 # define SET_LED1...
Mam mały problem z programem napisanym w bascomie , mianowicie założenia są takie jest to odbiornik pilota IR na atmega 8 chodzi mi o sam algorytm dekodowania sygnału , który ma dekodować wszystkie rodzaje pilotów obojętnie czy są w standardzie RC5 czy SONY na wyświetlaczu LCD mam mieć wyświetlane umownie wartość jedynek i zer i problem polega na tym...
Nie jestem autorem kodu, który zamieszczam. Kod znalazłem gdzieś na forum, jeżeli jego autor nie życzy sobie abym go udostępniał niech da mi znać. rc5.h http://www.roboternetz.de/wissen/images/... TSOP1736 podpinam tak jak na obrazku (tylko pod PD3 - INT1), rezystor 10k
załączam program, ale to nie jest problem napewno tego.: spark2_nowy.h ioinit.h enkoder.h spi.c [syntax=c] static inline void SPI_SET_SS() { PORTB|=(1<<PB2); } static inline void SPI_RESET_SS() { PORTB&=~(1<<PB2);// SS -> PB2 } void SPI_master_init() { SPI_SET_SS(); SPCR = _BV(SPE) | _BV(MSTR) | _BV(SPI2X);// (SPE) SPI Enable, (MSTR)Master...
Witam, Jak można zainicjować dwa odrębne pola tekstowe tak aby wyświetlały dwie zmienne wysłane przez UART -Atmegi kod VB [syntax=basic4gl] Option Explicit On Imports System Imports Microsoft.VisualBasic Imports System.Configuration.ConfigurationSettin... Imports System.Windows.Forms Imports System.IO Imports System.Data Public Class Form1 Public comm_stat...
Tu jest gotowiec tyle że w C++ na Arduino - ale łatwo można zrozumieć ideę. [syntax=c] /* Implements a simple interface to the time function of the PCF8583 RTC chip Works around the device's limited year storage by keeping the year in the first two bytes of user accessible storage Assumes device is attached in the standard location - Analog pins 4 and...
Witam, postanowiłem dodać do programu pomiar temperatury mam czujnik DS18B20 , tylko że kod programu odpowiedzialny za sterowanie czujnikiem opóźnia działanie encodera ,gdzie jest tutaj błąd może czegoś nie uwzględniłem w tym kodzie ? poniżej cały kod [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13...
Moje problemy odbiegają od poprzedników ale temat zgodny, więc: Mam uP Atmega 8 oraz wyświetlacz zgodny z hd47780 2*16znaków. Gdy wrzucam jeden znak na wyświetlacz przy pomocy kodu niżej wszystko jest ok: while(1) { LCD_CLEAR; LCD_LOCATE(1,0); LCD_WRITE_DATA('d'); } return 0; } Mogę kilka takich znaków wrzucić...
counter atmega atmega bascom counter atmega external counter
instrukcja pilota thomson pralka suszarka siemens podłączenie anteny radiowej
resetowanie drukarki canon pixma wymiana moduł
Reset głowicy Canon PF-04 w ploterze iPF 750 Matryca LCD V236BJ1-P01: Specyfikacja i Zakup