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...
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, 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...
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 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...
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...
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...
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...
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...
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...
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, 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...
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...
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.
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++;}...
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...
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...
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ć...
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);...
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...
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)...
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...
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 Robie włącznik/dialer gsm na C35 ale mam problem czasami z błędnym odczytywanie komend AT oto część kodu. $regfile = "m8def.dat" $crystal = 11059200 $baud = 19200 Wait 1 Print "ATX0" ; Chr(13) Waitms 100 Print "ATZ" ; Chr(13) Waitms 100 Print "ATE" ; Chr(13) Waitms 100 Print "AT+CLIP=1"...
No to niezły numer. Zmieniłem fusebit JTAG na disable i LCD się uruchomił xD dzieki
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ź.
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...
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
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...
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...
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...
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...
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 .
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.
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...
Panowie spotkał się ktoś z Was, że programator źle wczytywał program do mikrokontrolera choć to mało prawdopodobne, że tak się dzieje u mnie bo podsłuchując w terminalu uC widzę, prawidłowe działanie programu bynajmniej to co ma zostać wysłane do modułu GSM poza ustawieniami flag czy resetu pamięci lub stringów. Zrobiłem osobne linie do wysyłania SMS...
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....
Gdzie tam się zaczynają te sektory? No to nie są te same sektory które odczytujesz w AVR. WINHEX ładnie "stronicuje" dane po 512B, natomiast wyświetla adres kolejnych 16bajtów. Musisz poprostu wyszukać gdzie fizycznie znajduje się Twój zapisany sektor (nie sugeruj się czasem numerami klastrów z systemu plików :wink: ). Pod adresem 0 w WINHEX znajduje...
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...
Oczywiście, że zwykłe zaszyforwanie treści nie wystarcza, bo podłsuchana moze zostać wysłana ponownie, a to jest niedopuszczalne. Fajnie by było z tym zmiennym kluczem, ale jak to zrealizować, żeby odbiornik wiedział, który klucz został użyty do zaszyfrowania informacji do niego przychodzącej? Czy zrobić tak: Szyfruje za pomocą wybranego klucza; do...
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...
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...
Czyli tak ?: dim crc1 as byte dim crc2 as byte a potem w pętli programu: 1wreset 1wwrite &H55 1wverify Dsid1(1) 1wwrite &HBE crc1 = 1wread(8) 'pobranie crc z DS18b20 numer 1 If crc1 = Crc8(Dsid1(1), 7) Then 'jeżeli crc z DS18b20 = z crc8 I1 = 1wread(2) 'odczyt temp. End If Waitms 750 1wreset 1wwrite &H55 1wverify...
atmega8 odczyt ds18b20 odczyt numer 1wire odczyt numer
sprawdzenie czujnika ciśnienia oleju aktualizacje oprogramowania manta schemat tiger
Dlaczego katoda jonizuje gaz w rurze wyładowczej? Migające diody i sygnał dźwiękowy po wyłączeniu silnika