No to mamy winowajcę. Robienie czegokolwiek długotrwałego w przerwaniu to chory pomysł, ale problem polega na tym, że procedury obsługi LCD nie blokują przerwań na czas wykonywania operacji na LCD - dołóż blokowanie i odblokowanie przerwań na prymitywach LCD i zadziała (jako proteza). żeby zadziałało dobrze - przenieś obsługę 1Wire do pętli głównej.
Jeśli chodzi o 1Wire na porcie F i Bascoma z Atmega128 to moja praktyka pokazuje że nie zadziała. Jakiś czas później znalazłem : http://www.mcselec.com/index2.php?option... Pozdrawiam
Wyłącz przerwania na czas transmisji 1wire
Mam jeszcze pytanie na temat zabezpieczenia 1wire. Czy jest możliwość izolacji pinu odpowiedzialnego za komunikację 1W np. za pomocą dwóch szybkich transoptorów? Albo ewentualnie jego wzmocnienie jakimiś tranzystorami. Czy są jakieś inne sprawdzone i pewne sposoby? Warto by jak pisze kolega TMF zabezpieczyć ten pin gdyż linia 1W będzie miała w całości...
Witam, chcialbym sie podlaczyc po ten topic gdyz mam pewien problem z obsluga DS1820 i DS18B20 z ATMega128 Mianowicie, po podlaczeniu w trybie 2wire (1 - GND, 2 - PinB.7/PinE.7 itp., 3 - Vcc 5V) do ATMega128 z kwarcem zewnetrznym 10MHz (innego uzyc nie moge) po wykonaniu komend w Bascom AVR: config 1wire= portb.7 dim rgn(8) as byte 1wreset wait...
czemu nie ds1820 na szyne 1wire ,mozna do jednej nogi podpiąc ich 32 szt :) nawet atmega 16 da rade temu projektowi :)
Atmega128 jest polaczona po UARTcie z ds2480B i dalej jest czujnik temperatury ds18b20, Nie moge zainicjowac DS2480B zeby on wysylal po 1wire, Mam note aplikacyjna ale nie moge wyczytac co mam zrobic zeby zaczal pracowac - moge polaczyc bezposrednio czujnik temperatur z prockiem ale chcialem to zrobic po RSie, moze ktos wie bo pewnie musze zrobic cos...
ja zeby zaczac kupilem wyswitlacz alfanumeryczny, sorry ze nie uzyje symboli ale nie pamietam ;) procek atmega8, 8bitowy I/O na I2C (pcf cos tam) zegar i eeprom na i2c. do tego pare uzadzen na 1wire (termometr i klucz) no i czywiscie jakies tranzystory etc. no i umiem juz stosunkowo sporo :D
To jest przyklad tego jak mozna obsluzyc DS1820 przez mega 8 ale jest tam tez obsluga wyswietlacza w C.Moze sie pryda.Sam to dostalem od jednego kolegi z forum:-) wiec mam nadzieje ze sie nie obrazi...mnie interesowal DS. Pozdrawiam Maciek! #include <avr/io.h> #include <avr/pgmspace.h> #include <stdlib.h> #include <ctype.h> #include...
Ano czasy sa wazne jak to w kazdej komunikacji asynchronicznej a 1wire jest szczegolnie wrazliwa na to. Przeczytaj posty pod linkami, ktore podalem wyzej, szczegolnie ten drugi, z tego co sie doczytalem to problem zostal tam rozwiazany.
Dzięki za odpowiedź. Zgodnie z podpowiedziami napisałem nowe funkcje...ale dziadostwo nadal nie chce działać. Sprzęt na pewno jest sprawny i prawidłowo połączony. Oto nowe funkcje: //--------------------------------------... // 1-WIRE RESET //--------------------------------------... uint8_t OWTouchReset(void)...
Uruchomiłem kartę na HW-SPI ale chodzi identycznie jak na programowym ?! Włożoną mam szybką kartę SD (up 60x). Zastanawia mnie czy działa to : Spsr.0 = 1 ' Double speed on ATMega128 Jest to z przykładu stawienia karty na Mega128 Chyba odpuszczę sobie HW-SPI. Potrzebne animacje zrealizuję przy pomocy showpic ale już nie na pełnym ekranie.
!! Bascom WYKŁADA sie przy kompilacji kodów dla proców mega64 i mega128 :) Mialem kiedys taki przypadek: pisałem sobie kod na szybko w bascomie, i chciałem użyć PF.3 jako pin 1wire. Skonfigurowalem w bascomie 1wire na ten pin i.... LIPA, odczyt udawał sie raz na 100x a jak juz odczytal to jakas przekłamaną wartość... Po przepisaniu kodu do c i dopisaniu...
Witam :) Wielkie dzięki za pliki ale to nie to o co mi chodzi. Ja nie chcę zbudować adaptera do tego wyświetlacza a raczej w pełni funkcjonalny układ który będzie zamontowany pod wyświetlaczem w obudowie w której nam je dostarczono. A więc chciałbym cały układ zbudować na mikrokontrolerze ATmega128 lub ATmega256 który będzie obsługiwał SEDA, kartę pamięci...
... ale potem coś jest nie tak. Zastanów się, co w tej funkcji jest ..."popsute" :-P void send(char bit) { CLEAR_1wire; _delay_us(5); if (bit==1) { SET_1wire; _delay_us(80); SET_1wire; } }
Witam, Chyba coś nabroiłem... Zaczęło się od tego próbowałem zaprogramować Fusebity przy pomocy PonyProg 2000. Efekt jest taki, że teraz Program w ogóle "nie widzi" procka (PonyProg2000 i Bascom). A sam procesor też zamilkł i nie daje żadnych oznak życia. Programator jest zgodny z SKT200/SKT300. Załączony obrazek (PonyProg2000) przedstawia sytuację...
Masz poniżej zawartość dwóch plików, które trzeba podmienić: [syntax=c] #include <util\atomic.h> #include <util\delay.h> #include <avr\io.h> #include "1wire_basic.h" uint8_t Error; uint8_t PinMask; void OW_SendBit(bool bit) { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { DDRB |= PinMask; _delay_us(3); if(bit) DDRB &= ~PinMask; _delay_us(60);...
zlecę napisanie następujących programów: 1. program na Atmega128 w języku C/Asembler 2. Program na PC w języku C++ Założenia: Ad.1. Program ma za zadanie odczytywać dane z czujników pomiarowych: termometr poprzez interfejs 1wire; czujnik ciśnienia i wilgotności za pomocą przetwornika analogowo-cyfrowego; odczyt danych z miernika Metex poprzez interfejs...
http://obrazki.elektroda.net/30_12564983... W ostatnim czasie przestałem pisać programy typu mrugająca dioda i obsługa przycisków i zabrałem się za coś poważniejszego. Postanowiłem zbudować prosty zegar. Po kilkuset linijkach kodu, okazało się, że zegar nie jest już tak prosty, bo pojawił się w nim: obsługa LCD, RTC, PWM, timer w trybie CTC,...
Witam Jestem w trakcie tworzenia projektu mającego na celu zczytywanie temperatury z magistrali 1Wire i przesyłanie dalej za pomocą Ethernetu (Wiznet w3100a). Udało mi się skonfigurować Wizneta, pingował się świetnie. Ponieważ miałem problemy z utworzeniem serwera postanowiłem dodać kilka diodek za pomocą których mógłbym debugować program. Kiedy wgrałem...
Witam serdecznie. Mój cel jest dosyć prosty - zbudować termometr oparty na uC ATmega128 wykorzystując czujnik DS18B20. Sprawa wydawała się banalna - wydawała się, gdyż niestety do tej porty nie potrafię sobie z tym poradzić. KOD: Identyczny jak ten ze strony http://hobby.abxyz.bplaced.net/index.php... (oczywiście ze zmienionym pinem 1wire):...
A mógłbyś pomóc, bo mam właśnie problem z tym czujnikiem i to w obudowie TO92. Podłączony do Atmega8 z zewnętrznym kwarcem 8MHz do PortB.0 Podłączenie nóżek mam takie:1-masa,2 - uC, 3-do 5V i rezystorem 3,8k do nóżki - 2 Pokazuje średnio -112 C, temperatura po trzymaniu czujnika wzrasta. Zachowuje się tak niezależnie od rezystora jaki podepnę. KOD:...
Po raz kolejny problem tego typu a dokładnie procedury nie działają - przy odczycie czujnika cały czas jest stan wysoki: Czujnik podłączony 3 przewodowo, rezystor podciągający 4,7k, procek taktowany kwarcem 16MHz bez włączonego preskalera, połączenia elektryczne i zasilanie jest wporządku, inicjacja oraz wysyłane rozkazy są prawidłowe a mimo wszystko...
Witaj Mega poradzi sobie i wcale do tego nie potrzeba tak dużej. Kod programu na te wszystkie urządzenia nie przekroczy 16kb w ASM, ale w C to juz zależy od Ciebie. Zależnie co będziesz robić przy tej komunikacji, czy tylko pobierać danę i zapisywać w MMC/na wyświetlacz czy także wykonywać skomplikowane operacje typu generowanie sinusa czy sygnału PAL...
Witam po raz kolejny. W sumie dziękuję za brak informacji na podane przeze mnie pytania, bo sam musiałem rozwiązać te problemy. Trochę to trwało ale dałem rade i wszystko chodzi jak należy (LCD, DS18B20, ładnie liczy i pokazuje temp, ADC). Teraz jestem na etapie ustawienia PWM, to banał więc nie będzie problemów. Ale przeglądając note katalogowa Atmegi...
http://obrazki.elektroda.net/71_12692978... Witam, Do niedawna byłem przeciwnikiem płytek testowych (zestawów uruchomieniowych) różnej maści. Zawsze wolałem sklecić sobie coś na szybko na płytce stykowej i już. Nie mniej jednak przy dużej ilości wpadających pomysłów do głowy (a mam ich ciągle bez liku jak na razie), w końcu braknie tych płytek stykowych,...
Witam! Mam problem z popranym odbiorem danych. Kod wygenerowany przez kreatora jest przedstawiony na listingu. I teraz pytanie. Mam odebrać z odbiornika widomość o długości 154 bajtów. Wiadomość ta przychodzi co 1 sekundę i zaczyna się zawsze czterama takimi samymi znakami : (at)(at)Ha Próbowałem już robić to z pętlą, by odbierać 154 znaki, i potem...
Witam. Jestem początkującym w dziedzinie programowania na elektronice znam się dobrze. Chciałbym zbudować komputer pokładowy do mojej hondy civic i znalazłem na elektrodzie projekt z pod tego linku. http://www.elektroda.pl/rtvforum/topic22... Płytkę zaprojektowałem na nowo pod atmege128 reszta bez zmian. Wyświetlacz od Siemensa s65 ls020 podłączyłem...
Witam Niestety nie ( inna sprawa, że ostatnio brak czasu ) Używam zwykłej SD - 1 Gb Sandisk i 2Gb Kingston. Ale sienie poddaje i zamówiłem MMC 256 Mb. Używam wersji Bascom 1.11.9.5. Podłączam według opisu w pliku config_mmc.bas. Atmega32 jest na 5V karta SD na 3,3V, zastosowałem nawet dzielniki na rezystorach, żeby lepiej dopasować poziomy. http://obrazki.elektroda.pl/3931794300_1...
Nie lubię się powtarzać (bo to samo pytanie juz rzuciłeś gdzie indziej) ale niech będzie: Że 4,7k jest w porządku jako sygnałowy, ale jak masz 5 obciążających urządzeń na linii sygnałowej to już nie jest tak pięknie :) Tak całkiem pi*oko licząc - skoro jednemu urządzeniu wystarcza 4,7k (a w PP wystarcza na raczej małe odległości), to żeby przy tych...
Witam Z wycinków kilku programów chciałem zrobić jeden duży barkuje kilku rzeczy i zwiazku z tez pytania W jaki sposób mogę zwiększyć ilość wejść i wyjść żeby zmieścić wszystko ? ( patrz 1 PINY ) brakuje ustawiania podlewania względem kalendarza zielonego pojęcia nie mam jak z pcf mogłbym ustawić godzinę i czas podlewania np 18:00]przez 1 min ? brakuje...
_delay() w pętli mam tylko tam, gdzie to konieczne - w obsłudze interfejsu 1Wire, aczkolwiek odczyt temperatury z termometru przy użyciu takowego interfejsu może trwać nawet ~800ms.
Jakiś szczególny powód dlaczego każdy termometr jest podłączony osobno? Pamiętaj ze termometry DS1820 działają na magistrali 1wire i możesz wszystkie podłączyć do jednego portu procesora (potencjalnie)
Witam. Mam problem z poprawnym odczytem temperatury z czujnika DS18B20. Otóż na ATmedze328 wszystko działa poprawnie. Używając tej samej biblioteki na ATmega32 wartość raz wynosi 0.0 C a raz różne dziwne wyniki np. 6548 itd. Dodam, że DHT11 działa, więc odmierzanie czasu przy użyciu 1wire jest poprawne. Nie wiem, gdzie może tkwić problem. (at)edit -...
Witam, planuję wykonać rejestrator m.in. temperatury, napięcia. Chciałbym poprosić o sprawdzenie schematu i płytki. Układ ma zawierać: -LCD -Kartę MicroSD ( zapis , rejestracja ) -2 wejścia ADC ( jakies napiecia ; moze NTC ) -wejście 1Wire ( DS18B20 ) -Port RS ( komunikacja z PC ) -ISP Urządzenie ma służyć jako baza do nauki. Będę wdzięczny za wszelkie...
Jarosław J --> dzięki za opinię. Ja wprawdzie zaczynałem i zwykle zaczynam poznawanie każdej rodziny procków jeśli się już za nie biorę od asemblera. Ale jednak zanim zacząłem działać ostro w C - to wcześniej przeszedłem BASCOM'a. Przyznam ci, że w Bascomie próbowałem kiedyś robić podobny projekt i to na procku ATmega32. Wprawdzie nieporadnie ale jakaś...
Witam Atmega328 i Attiny2313 przez RS485 Atmega328 Master - zapis na razie wyzwalany przez Timer If Flaga_001 = 1 Then Set Re_de Waitms 1 Print "MOD001 " ; Chr(13); Waitms 1 Reset Re_de Flaga_001 = 0 Licznik_mod001 = 0 End If ATtiny2313 Slave $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 4800 '*********************...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
Witam Używam Attiny2313 do pomiaru dwóch temperatur z DS18B20. Wynik ( Integer ) przesyłam bez żadnej obróbki przez UART przewodem 40 cm do Atmega328. Atmega rozbija odebrane dane i jest obróbka Kod Attiny2313 $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 4800 '********************* Konfiguracja magistrali 1-Wire Config 1wire = Portd.5...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu ) [syntax=basic4gl] $include "Config_AVR-DOS.BAS"...
Witam. Koledzy niby prosty układzik między innymi z czujnikiem temperatury DS18b20. Nijak nie mogę uruchomić tego czujnika. Sprawdziłem wszystko pod kątem połączeń zwarć i zimnych lutów. Ba nawet czujnik podmieniałem i nadal temperatura odczytana z czujnika to -0.1. Wiem że mam jakiegoś babola w programie którego nie widzę. Jak znam życie to jakiś banał...
https://obrazki.elektroda.pl/7519673300_... W temacie o mikrokontroler z czujnikami i akcesoriami . Jakie zestawy rekomendujecie? Moim zdaniem dobrym rozwiązaniem jest zaproponowanie środowiska Arduino i płytek z mikrokontrolerami zgodnych z tym środowiskiem oraz komputera SBC. Dlaczego Arduino? a) Ponieważ w tym samym środowisku można...
Witam. Otóż mam taki problem ;) Dwa czujniki DS18b20 podłączone są do osobnych pinów Atmegi168, PINB0, PINB1. Chciałem to zrobić w ten sposób aby w przerwaniu ustawiana była flaga (co sekundę) która realizowana była w pętli głównej while(1), w ten sposób, aby co sekundę na zmianę wykonywany został convert oraz odczyt. Wydaje mi się, że wszystko zrobiłem...
Mam Atmegę 128 (14.745.600Hz). I otoż na porcie B.4 mam sobie termometr DS18B20. Próbuję się z nim skomunikować i mam dziwny problem. Otóż, robię reset 1wire, a potem próbuję zrobić 1wirecount (bo może być więcej niż 1 termometr) ; ' ZNAJDZ URZĄDZENIA DS //////////////////////////////////////// Sub Ds_find 1wreset Waitms 100 Print "ERR=" ;...
Witam, chciałem zaimplementować obsługę tegoż termometru w nutosie, jednak układ nie wykrywa mi go. korzystam z gotowej biblioteki: [url=http://www.ethernut.de/arc/os-1wire... czy ktoś może próbował zaimplementować w tym systemie termometr? lub poradzi mi jak napisać własną obsługę?? z Góry dzięki
Witam wszystkich, Probuje uruchomić termometr DS1820 na systemie z prockiem AtMega128, ale akualnie nawet inicjalizacja 1 Wire mi nie działa. Poniżej wkleję fragmenty kodu. Prosiłbym, żeby ktoś świeżym okiem spojzał na to. #define XBIT 2//wybor bitu z portu B na ktorym bedziemy //komunikowac sie z urz. 1Wire #define BIT_OUT DDRB |= _BV(XBIT)...
atmega128 1wire esp8266 1wire czujnik 1wire
amplituner pioneer kolumna katalizator wydech zwarcie wirnika klatkowego
komunikacja radiowa satel galmet wyswietlacz
Maszyna G4: Silnik nie uruchamia się po włączeniu Różnice między tranzystorami IRFP460CM a IRFP460DM