Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
http://obrazki.elektroda.pl/1998348900_1... Witam, chciałbym wszystkim przedstawić projekt sterownika matrycowego wyświetlacza LED. Na początek proszę tylko o nie ocenianie wykonania płytki (na płytce uniwersalnej/pająk) bo jestem świadomy jak ona wygląda i jak ją wykonałem. Historia Pomysł projektu narodził się, gdy jakieś pół roku...
http://obrazki.elektroda.pl/9589280700_1... HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość ADC...
Witam, mam taki kod programu, który skleiłem z fragmentów znalezionych w Internecie: Niestety dzieje się tak tylko 34 razy od momentu uruchomienia mikrokontrolera. Dane z terminala: p0p927p1020p1023p1023p1023p1023p1023p102... 1023p1023p1023p1023p1023p1023p1023p1023p... 3p1023p1023p1023p1023p1023p1023p1023pppp...
Od kad zmienilem bit CKOPT w fusach dziala bardzo stabilnie A więc wniosek , że program to jedno , a sprzęt to ... drugie :D za kazdym razem dostaje informacje AT+CSQ+CSQ: 19,99OK Czyli telefon wysyła echo. ... Nie rozumiem do konca czemu bez zerowania bufora tez dziala ..ale wstawielm to co podeslales ;) Jeśli odczytasz wszystkie dane w buforze ,...
Witam Więc tak odnośnie kodu sprawdz=RESET_PULSE(); if (sprawdz == 1) { send_byte(0xCC); send_byte(0x44); /* _delay_ms(250); _delay_ms(250); _delay_ms(250); */ _delay_ms(750); //sprawdz=RESET_PULSE(); //send_byte(0xCC); //send_byte(0x44); // Czemu taki dziwny...
Przedstawiam tylko istotne części programu związane z transmisją danych Na początek Atmega 16 obsługuje klawiaturę, Wyświetlacz LCD i komunikację GSM i inne drobiazgi oraz RS232 z Atmegą 8 Dodano po 10 A tak przy okazji takie pytanie czym różni się transmisja po RS232 dla: A=1 Print A oraz Print "1" Wg ASCII < 1 > ma kod 49 i chyba w jednym i...
Witam. Próbuje uruchomić klawiaturę matrycową 3x3, Znalazłem obsługę takiej klawiatury tutaj : http://hobby.abxyz.bplaced.net/index.php... No usunąłem zbędny kod do obsługi innych rzeczy, została tylko klawiatura. Chcę uzyskać efekt, że po naciśnięciu przycisku zmienia mi się wartość na wyświetlaczu. Na tej podstawie już będę mógł później...
Witam, w ramach nauki programowania uC, znalazłem kod pozwalający na wyświetlanie temperatury z DS18B20, na wyświetlaczu 1602A. Jako że na samym przeklejeniu kodu pewnie zbyt wiele bym się nie nauczył, użyłem nieco innego termometru(dokładność nie 0,1, a 0,5*C), zmieniłem układ w jakim ma się wszystko wyświetlać, zastąpiłem float przez int zmieniane...
Cześć, chciałem przeportować kod do odbioru RC5 autorstwa Dondu za ATMega8 na ATTiny13 - http://obrazki.elektroda.pl/8294459100_1... REzystory diod 470Ω, nie zmieniłem na schemacie. Pilot samoróbka, ale 100% pewniak. No więc w czym problem? Uruchomiłem przykład na ATMega8, wszystko pięknie śmiga. Program kompiluje się dla Tiny13...
Po powrocie z urlopu uruchomiłem przetwornik. Program na razie w okrojonej wersji aby przetestować sam ADC i wyświetlanie na trzech LEDach siedmiosegmentowych. Przetwornik w zasadzie pracuje i pokazuje prawidłową wartość, ale dwie kwestie mnie niepokoją i prosił bym o pomoc w ich wyjaśnieniu. Otóż, pierwsza sprawa to wahania napięcia. Podczas pracy...
Witam moje pytanie jest proste ale efektywnej odpowiedzi nie znalazłem, programuje procesor atmega8 w jezyku C w kompilatorze avrstudio, napisałem sobie podprogram generujacy znaki na wyswietlaczu LCD, problem w tym że musze wywoływać "piszznak(tu numer znaku)"dla każdej literki co przy komunikatach długosci 10 literek gmatwa strasznie program...mógłbym...
Alfanumeryczne wyświetlacze LCD ze sterownikiem HD44780 Obecnie ze względu na swoją niską cenę, alfanumeryczne wyświetlacze LCD są bardzo często stosowane w układach opartych na mikrokontrolerach. Chciałbym przedstawić tutaj sposób sterowania takim wyświetlaczem. Sterowanie wyświetlaczem alfanumerycznym wyposażonym we sterownik HD44780 odbywa się na...
Do czego to doszło ;p Może od nowa, wersja z i2c chce dopiero teraz wprowadzić jak na razie jest po Bożemu znaczy sie wyswietlacz ze sterownikiem znajduje się na 2pietru kamienicy układ wykonawczy i wyłącznik (countera) znajduje się w piwnicy. Z i2c to dopiero mam zamiar zrobić bo zależy mi na dwóch wyswietlaczach jednym w piwnicy drugim na 2pietrze....
Witam, na wstępie dodam że jestem bardzo początkujący w programowaniu. Staram się stworzyć program który by włączał i wyłączał funkcję RGB, poprzez pilot RC5. Staram się to zrobić po kolei i najpierw próbuję gasić i zapalać pilotem diodę. Problemem jest to, że program reaguje na każdy przycisk a nie na konkretny - zaprogramowany. Chce sterować klawiszem...
Witam, przekopałem się przez wiele tutoriali, postów, wątków, i nie znalazłem rozwiązania, więc postanowiłem opisać własny problem. Mianowicie: mam podłączone do Atmegi8 dwa wyświetlacze 7seg multipleksowane, oraz termometr cyfrowy DS18B20. Chciałem aby zmierzona temperatura była wyświetlana na tych 7seg, oczywiście ze względu na dwa wyświetlacze jedynie...
To tylko potwierdza że trzeba jednak kwarc zewnęrtzny. Ja przeprowadziłem wiele prób i doszłem do wniosku że ten wewnętrzny to można ustawiać dla magistrali I2C,1wire tylko dla odczytu numeru (pomiar temperatury już jest błędny). Pozdrawiam i czekam na efekty pracy.
Skoro jesteś początkujący szukaj artykułów o programowaniu w Bascom w archiwalnych numerach EdW (Mikroprocesorowa Ośla łączka). Wykorzystanie programów w innym języku moim zdaniem będzie trudne i bezcelowe. Bascom jest wyposażony w wiele gotowych procedur do obsługi LCD albo przetworników ADC i ma polski plik pomocy co jest dużą zaletą. Do odczytu temperatury...
char jeden EEMEM; char numer=0; char wybrany[6]; int main(void) { LCD_Initalize(); //poczatek losowania numer, odczyt, zapis numer=eeprom_read_byte(&jeden); LCD_GoTo(5,0); itoa(numer,wybrany,10); LCD_WriteText(wybrany); if (numer>41) {numer=1;} else {numer++;}...
Wydaje mi się że wybieranie kanałów w ten sposób nie zadziała. Jak raz wpiszesz tam 7 (0b111) to już nie wrócisz na cokolwiek mniej, ale to nie nie tłumaczy twojego problemu. Spróbuj do ADCSRA wpisać stałą w ramach startu konwersji, a nie |= Zobacz czy numery bitów są dobrze tłumaczone, zgodnie z dokumentacją mega8. Jeśli faktyczne próby robisz na bardziej...
:arrow: max_gg Starałem się koledze Lejk krok po kroku wyjaśnić metodę, a w poście wyżej prosił o łopatologiczny opis. 8) Jeżeli chodzi o maskowanie, to można też je zrealizować w układzie zegara PCF8583 podczas odczytu danych z rejestrów 05H i 06H poprzez ustawienie bitu 3 w rejestrze kontrolnym 00H. Wtedy odczytamy samą datę i numer miesiąca, natomiast...
Nigdzie nie widzę definicji PINCx, a więc zakładam domyślne pochodzące z avr/io.h (iom8.h): /* PINC */ #define PINC66 #define PINC55 #define PINC44 #define PINC33 #define PINC22 #define PINC11 #define PINC00 Tak więc są to stałe zdefiniowane jeśli dany pin istnieje, zawierają numer bitu który należy sprawdzać. Nie są to marka do sprawdzania stanu pinu...
Aby mieć pewność, że problem nie leży w zależnościach czasowych pomiędzy wysłaniem na port adresu do multipleksera a odczytem stanu bitu, wstaw pomiędzy ustawianie portu i warunek IF opóźnienie np. 1ms: PORTB = PORTB | 0b00000001; waitms(1); if ( Pozdrawiam Mariusz Dodano po 9 Dodano: 74151 ma wyjścia 2 wyjscia komplementarne, więc dobrze by było opisać...
To od razu mu trzeba wytłumaczyć co taki zapis oznacza, bo widać, że zaczyna. PD0, PD1..PD9, PC0,PC1..PC8 itd to są zdefiniowane numery pinów w porcie. Definicje te znajdują się pliku nagłówkowym który załączasz na początku każdego projektu pośrednio poprzez: [syntax=c]#include <avr/io.h>[/syntax] Pośrednio, bo dla wygody załączasz io.h, natomiast...
DZIĘKI za dokładne opisanie :) A czy mógłbyś mi napisać dlaczego PIND =&B00100000 =32 ? Skąd te 32, czy to był tylko przykład, czy faktycznie po wpisaniu jakiejś formuły stan poszczególnych bitów przelicza się na jakąś tam wartość, w tym przypadku 32? To nie są przypadkowo wybrane liczby! Jedynie przykładowo został wybrany numer portu (B.5) albo (D.5)...
A to niby dlaczego nie wolno stosować waitms ??? U mnie jakoś działa przy wielu czujnikach na jednej linii i co to ma wspólnego z wysyłaniem przez uarta ? W tym przypadku waitms nie zakłóca obsługi przerwań, wiec nie widzę problemu. Kolega namieszał trochę w procedurze "odczyt". Na początku wyszukujesz czujniki na linii 1wire, a później, w procedurze...
Sprawdz podlaczenie pinow A0, A1, A2. Dla A0, A1, A2 podlaczonych do masy adres do odczytu to 91h a do zapisu 90h. Zgodnie z: 2. Odczyt bajtu: Kod: twi_start (); twi_wr (ADRES_DO_ZAPISU); twi_wr (NUMER_REJESTRU); twi_start (); twi_wr (ADRES_DO_ODCZYTU); twi_rd (DANA); //bez ACK twi_stop (); Powinno być tak: twi_start (); twi_wr (0x90);...
Witam Piszę właśnie (w C)program mający za zadanie wyświetlanie zegara na 4 wyświetlaczach 7-segmentowych. Chciałem wykorzystać do tego 16 bitowy timer1 w mojej atmedze 8a-pu. Niestety mam pewien problem. Nawet jeśli nie włączę timera WinAVR nie daje błędów przy odczytywaniu z OCR1A czy OCR1B. Jeśli zaś włączę timer to on niestety nic nie zlicza. Poniżej...
1. odczyty są od zera do jakichś krzaków Przed każdą instrukcją związaną z komunikacją 1-wire musisz wyłączyć wszystkie przerwania ponieważ 1-wire będzie się rozjeżdżał i będą wychodzić głupoty. 2. nadal menu z wyświetlaniem temp strasznie mruga Nie ma się co dziwić, że mruga jeżeli masz tak to napisane: [syntax=basic4gl] Debounce S1 , 0 , Zmiana ,...
Witam. Przychylam się temu co napisał Daro_Elektornik, magi nie ma włącz CRC tylko upewnij się że dobrze liczysz to CRC albo pobierz algorytm z datasheeta od Dallasa on dobrze liczy CRC. Podejrzewam też że numeru seryjnego to też nie pobierasz i układu raczej też nie adresujesz. Sprawdź czy dobry numer odczytasz itd. Pozdrawiam
Witam, Zacznę od tego, że przeszukałem forum, w prawdzie znalazłem interesujące mnie rzeczy lecz u mnie coś nie działa. Zacznijmy od początku. Mam dwa ds18b20 na jednej linii w Atmega8. Chciałbym z nich odczytać numery seryjne. Tutaj zaczynają się schody. Oto kawałek kodu, za pomocą, którego odczytuję dane z linii onewire: //jesli jakies urzadzenie...
...Kiedyś wyczytałem że można podłączyć je na osobnych portach i w trakcie programu po poleceniu config 1 wire przełączać z którego chce się robić odczyt... A teraz nie możesz wyczytać w helpie , że to co piszesz jest nieprawdą :?: ;) Config 1wire jest dyrektywą "jednarazowego użytku" :idea: By osiągnąć to o czym marzysz ;) , należy używać alternatywnej...
Hey czyli problem jest w instrukcji Ss = Format(ss , " 0.0") wrzuć ten program i powiedz czy wszystko gra jeżeli tak będę pisał co zrobiłem. [syntax=basic4gl]$regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja portów od wyświetlacza...
No to niezły numer. Zmieniłem fusebit JTAG na disable i LCD się uruchomił xD dzieki
W jakim trybie podłączone są Dallasy? Dwoma, czy trzema przewodami? Nie miałem w domu czterech DS`ów luzem, więc na zdjęciu tylko dwa. http://obrazki.elektroda.pl/9677520400_1... Ten kod zajmuje ponad 50% mniej niż Twój i na nic nie czeka. [syntax=basic4gl]'### TERMOMETR 4xDS18B20 ### $regfile = "m8def.dat" $crystal = 8000000 $hwstack...
Na razie brak odpowiedzi od sprzedawcy. Producent ograniczył się do podania strony z opisem konfiguracji (postępowałem według przedstawionego schematu). Ok, znalazłem stronę producenta wraz z adresem kontaktowym oraz numerem telefonu, GG i Skype. Narazie opisałem problem, będę czekał na odpowiedź.
W lipcowym numerze Elektroniki Praktycznej opisany jest konwerter USB-IO. Układ składa się z mikrokontrolera ATmega8, kwarcu 12 MHz, diody oraz paru kondensatorów i rezystorów. Możesz wykorzystać go do sterowania diodami, choć jego możliwości są znacznie większe (np. odczyt stanu portów, dostęp do przetwornika ADC). Układ jest widziany przez system...
Napotykam teraz na inny problem. Napisałem program, który za każdym razem inkrementuje zmienną, jeśli przekracza 41 to ją zeruje. Wynik wypisuje na LCD. Działa, jeśli między wyłączeniem i ponownym włączeniem urządzenia nie mija więcej niż ok 2 sek. Jeśli natomiast wyłączę na 5, 10s, to zmienna (nie ważne jaką zapisała wartość do EEPROM) ustawia sie...
Otóz tak wygląda pewien program do zczytywania komend z czujnika podczerwieni do którego wysyłane są sygnały za pomocą pilota w standardzie RC5: Poprawiłem tytuł. LordBlick
np tutaj http://www.piekarz.pl/index.php?page=off... lub na ebayu Ebay, allegro, swistak nie ma. Piekarz mi odpisał że minimum 30sztuk a sklep namadero przyjął zamówienie i zero odzewu od 2 tygodni. ponawiam moja prosba z poprzedniego postu Zobacz notę aplikacyjną chipa, potrzeba dodać kilka elementów a programowo zainicjować układ i okresowo...
Temat pewnie był opisany na tym forum kilkukrotnie. Najlepiej skorzystać z noty katalogowej układu. Tam wszystko jest dokładnie opisane. Rozumiem, że kilka czujników chcesz podpiąć na wspólnej magistrali 1-wire bo gdy stworzysz dla każdego czujnika osobną ten problem nie istnieje. Sposoby są ogólnie na to dwa. Pierwszy -wg. mnie prostszy ale mniej profesjonalny-to...
Skoro na MOSI są impulsy, to raczej z giveio wszystko OK. Kwestia, czy wybrano właściwą konfigurację w avdude, zgodną ze schematem podłączeń, najlepiej zajrzeć do konfiguracji programatorów z " type = par; " w avrdude,conf, numery pinów LPT są tam podane wprost i w linii poleceń wybrać właściwe id .
Siemka! Nie ma większego problemu i z paroma czujnikami. Rozwiązania tego problemu są conajmniej dwa. 1. Wrzucasz czujniki każdy na innym pinie portu mikrokontrolera i odczytujesz wynik korzystając właśnie z algorytmu dla jednego czujnika. Jedyna kwestia to tylko sekwencyjne przełączanie interface'u 1-Wire pomiędzy połączonymi z czujnikami pinami portu....
Witam, dla zastosowan testowych lub domowego użytku, do odczytu RFID wystarczy układ oparty o generator 125KHz i Atmega8 bez specjalizowanych układów, schemat takiego układu mozna znaleźć w EP lub EdW numeru nie pamietam ale jak ktoś będzie zainteresowany to poszukam. Sam wykonalem ten układ i odczytu kart dokonywal z 10cm przy antenie o fi=5cm.
Witam Mam następujący problem, do pamięci eeprom atmegi 8 chce zapisać taka oto tablicę: const uint16_t EEMEM C_rtd[] = {0,233,466,699,933,1166,1400,1634,1...
wpisujesz numer od 0 do 527. Raczej 0 do 511 ;) Co do adresowania - procedura Atmel'a wymaga ustawienia dwóch zmiennych - uiAddress i ucData. Do czego - wiadomo. Procedura sama ustawi bity EEMWE i EEWE. Procedury opisane jako "read_block" i "write_block" służą do blokowego odczytu i zapisu pamięci EEPROM, nie do blokowania. Co do czyszczenia EEPROM...
crc22 = 1wread(8) 'pobranie crc z DS18b20 numer 1 If crc2 = crc22 Then I2 = 1wread(2) 'odczyt temp. To nie ma sensu: 1. 2 bajty temperatury ktore niby odczytujesz do I2 sa zawarte w crc22 (pierwsze 2 bajty tej tablicy). 2. crc musisz obliczać po każdym odczycie z czujnika, z tych 8miu pobranych bajtów. taki pseudokod: Zadeklaruj JakasTablica...
Wytłumaczcie mi taką sprawę. W dokumentacji ATmega8 na str. 52 w rozdziale dotyczacym portów I/O jest taki fragment mówiący o odczycie stanu wejścia. "When 'reading back' a 'software assigned' pin value, a nop instruction must be inserted as indicated in Figure 24" (Odczyt stanu rejestru PIN powinien byc poprzedzony pewnym opóźnieniem np instrukcją...
Celowo pomijam przerwanie o numerze 5(czyli kanał ADC6) ponieważ wykorzystuję tylko 5 czujników(ADC0...4) ;) Jak wrócę z pracy sprawdzę jeszcze czy aby "zerowanie" zmiennej channel wg Twojego sposobu nie zmieni sytuacji w jakiś sposób.
Zanim zaczniecie mnie odsyłać do funkcji szukaj, prosiłbym o przeczytanie postu do końca, ja nie znalazłem w archiwum odpowiedzi na moje pytanie. Mam ATmega8 połączonego z CC1000 na porcie D: PALE - PD2 PDATA - PD3 PCLK - PD4 Używam biblioteki ze strony chipcona i winavr. Musiałem poprawić plik nagłówkowy, ale teraz już się wszystko kompiluje, ale nie...
Dzięki za dobrą radę ale póki program nie będzie jakoś normalnie działał to wolę optymalizacji nie ruszać żeby sobie jeszcze więcej problemów nie narobić. Poza tym jak sprawdzałem Os to zaczęły mi się jakieś dziwne krzaki na wyświetlaczu pokazywać a bez optymalizacji jest ok. Trochę okroiłem program i przeszedłem na zewnętrzny kwarc 12Mhz ale nadal...
atmega8 odczyt ds18b20 odczyt numer 1wire odczyt numer
renault laguna lampa działa touchpad regeneracja wtrysków
Schemat ładowarki Bosch AL1860CV - analiza i diagnostyka Przypadkowe załączanie sprzęgła K2 w DSG DQ250