Ja bym nie zmniejszał częstotliwości taktowania do 1MHz. Jak już to do 8MHz (bo pewnie chodzi tylko o pozbycie się rezonatora kwarcowego). Ale skoro działało ci na 1MHz, to i na 2MHz podziała: $regfile = "m16def.dat" $crystal = 2000000 Config Portc = Input Portc = &B11111111 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4...
https://obrazki.elektroda.pl/8808596700_... Pokażę tu jak łatwo uruchomić MAX31855 z Arduino a potem omówię jego protokół komunikacji. MAX31855 oferuje 14-bitowy pomiar temperatury z zakresu zależnego od użytej sondy, od -270°C aż do 1800°C. MAX31855 oferuje prosty protokół komunikacji oparty o SPI, zasadniczo odczytujemy z niego tylko...
Zapis binarnych danych jako string - mistrzostwo!
W zasadzie to ten sam kod którego używam, i nie działa. Wgrałem do pewności i jednak nie działa. [syntax=arduino][/syntax]... #include <EEPROM.h> #include <SoftwareSerial.h> //is necesary for the library!! SoftwareSerial gsm(2, 1); //RX, TX void writeStringToEEPROM(int addrOffset, const String &strToWrite)...
Bo Const to stała a Ty potrzebujesz czegoś jak DB albo PROGMEM. Czyli danych umieszczonych w pamięci. A stała niekoniecznie będzie tam umieszczona. Stała może być np. wbudowana w rozkaz assemblera (akurat nie tutaj ale inaczej to może być). Zrób raczej tak: Dim Atmega As String Dim Attiny As String Atmega = "Atmega" Attiny = "Attiny"...
Ok wracam z placu boju. 1 program jak go przepisałem i wpisałem to mam : 1 linia (array1) pojawia sie wartość 2 połowy stringu ( do tego migajaca w takt odbierania danych ) np 8.500 2 linia wyświetla dane poprawenie 8.50 i nie miga. Jak dopisałem [syntax=vbnet] string odebrany =inkey() inputV1 do[/syntax] To po którymś resecie odczytał prawidłowo ramkę...
No problem jest z czasami oczekiwania na odczyt, udało mi się odebrać nr stanu konta, na razie :/ Dodano po 1 Wysłane komendy AT z ATTiny do SIM800L: https://obrazki.elektroda.pl/3712539900_... To co jest wysyłane w odpowiedzi z SIM800L do ATTiny: https://obrazki.elektroda.pl/4626900500_... Jedyne co potrafię pobrać...
Wersja programu ze strony autora była na Atmega 8 po zmianie kodu na Attiny 2313 wyświetla błąd. Error : 22 Line : 21 Out of SRAM space , in File : D:\Elektonika\Rejestrator DTH 11\code Attiny 2313.bas Error : 46 Line : 51 Assignment error [SENSOR_DATA: 0 "": 108] , in File : D:\Elektonika\Rejestrator DTH 11\code Attiny 2313.bas Error : 229 Line : 51...
Witam! Wykonałem urządzenie przesyłające dwie temperatury (piec, bojler) drogą radiową z jednego attiny2313 do drugiego, lecz mam mały problem z oprogramowaniem. Czasem w odbiorniku w miejscu gdzie ma się pokazywać temp. pieca pokazuje mi się tem. bojlera. Jest to losowe zachowanie. Poniżej prezentuje mój kod. Jeśli ktoś miałby pomysł jak go ulepszyć...
Witam. Tworzę projekt oparty na mikrokontrolerze ATTINY414. Powstaje on w środowisku Microchip (Atmel) Studio. Program ma wyświetlać aktualną temperaturę z czujnika oraz średnią kroczącą temperatury z ostatnich 24 godzin. Dane chciałbym wyświetlić na małym wyświetlaczu OLED, 128 x 32, sterownik SSD1306 (komunikacja przy pomocy I2C). Mikrokontroler ma...
Witam, chcę wykonać termometr wg schematu: http://obrazki.elektroda.pl/1882005600_1... wsad do attiny 2313 to: [syntax=text] $regfile = "ATtiny2313.dat" $crystal = 1000000 Config 1wire = Portd.5 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5 Config Lcd = 16 * 1a Dim Dsid1(8)...
Pozostaje więc wykorzystanie sprzętowego spi lub i2c i dołożenie zewnętrznej pamięci eeprom o ile wewnętrzny jest zbyt mały Ma to sens. Taki 24c256 za 3 zł (32kB) warto zastosować dla układu z LCD gdzie będzie trzeba zrealizować dużo komunikatów. W ten sposób łatwo też przygotować wersję językową (jeden eeprom dla PL, drugi dla ENG i odwoływanie się...
Witam! Nie mogę pozbyć się problemu żarzenia diodek w matrycy led. Przesówam na matrycy jakiś tekst w lewo, na kolumnie poprzedzającą aktywną kloumne, zaczynają się żarzyć te diody które świecą na aktywnej kolumnie. Co daje taki bardzo głupi efekt smużenia do przodu:cry: Kod programu opieram w większości o kod z książki Pana Marcina Wiązania. Zakładma...
Dzięki za obliczenia. Niestety, ale nie sprawdzę tego bo nie mam takiego rezystora. W mojej mieścinie nie ma żadnego sklepu elektronicznego :( Zrobiłem dzielnik napięcia i o ile dobrze zrozumiałem tekst z http://obrazki.elektroda.pl/6266525700_1... R2=100Ω i PR1=200Ω Posiłkowałem się programem mkAVR Calculator: http://obrazki.elektroda.pl/4601595300_1...
Jak na razie udało mi się zrobić coś takiego wczytane do ATtiny85 bo ATtiny13 ma za mało pamięci na wczytanie kodu i nawet taki parametr Dim Cmd As String * 15 nie mógł być większy jak 15 wiec komenda w takiej postaci AT+UART=9600,0,0 nie przechodziła bo ma 16 znaków, a co dopiero AT+UART=115200,0,0\r\n dondu już kumam to co mi wałkowałeś o transmisji...
Patrzę na kod od godziny, nie mogąc znaleźć przyczyny problemu. Pewnie winny jest jakiś drobiazg, którego nie jestem w stanie dostrzec. Zapewne ktoś z większym doświadczeniem wychwyci go natychmiast. Na początek trochę o projekcie . Jest to moje pierwsze "większe" przedsięwzięcie w ramach nauki programowania AVR-ów w języku C. Krótko mówiąc jakiś czas...
No to mam taki problem, mam attiny 2313 podłączonego do wyśw. 2x16 i do attiny podłączonego ds18b20. Na wyśw. mam napisane Temp:-0.1C. Problem tkwi w tym że temperatura jest zawsze -0.1C kod programu : $crystal = 4000000 'deklaracja częstotliwo?ci pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program ' definicja...
Jak chcesz prawie gotowca zawsze można podłączyć w magistrale sniffer 1wire, które podłączysz po rs232 lub usb do jakiejś atmegi która na lcd wyświetli string który dostaniesz od sniffera. Można kupić, widziałem ze ok 40$ a można też złożyć ze strony http://en.radzio.dxp.pl/1-wire-sniffer/. W zasadzie ten ostatni projekt to można się pokusić i od razu...
Niestety nic nie da rady już zrobić - kod po skompilowaniu zajmuje 2046 bajtów. Widać że nazwy są poskracane. Bascom nie oszczędza drogocennej pamięci :( Musiałem się mocno natrudzić aby upchnąć te wszystkie nazwy rozkazów i pilotów. Standardowo napisane zajmowało z 1kB więcej!Być może zrobię i nadajnik ale potrzeba 4kB flusha. Gdybyś odrobinę skomplikował...
Witam na potrzeby szkolne stworzyłem termometr na układach Attiny 2313 i Dallas 20b18 Interesuje mnie w jaki sposób odbywa się odczyt temp. z czujnika Dołączam program z bascomAVR $regfile "2313def.dat" *Nazwa pliku doobsługi programu $crystal = 1000000 *Częstotliwosc taktowania 1Mhz z dokumentacji układu Config Lcd = 16 * 1a *Deklaracja LCD...
A to moja propozycja optymalizacji kodu: $regfile = "ATtiny2313.dat" $crystal = 1000000 Config 1wire = Portd.5 Dim Dsid1(8) As Byte Dim Dsid2(8) As Byte Dim I1 As Integer , Ss As String * 6 Dim I2 As Integer Deflcdchar 0 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 Cursor Off Cls Dsid1(1) = 1wsearchfirst() Dsid2(1)...
Może mi ktoś pomóc w poprawieniu tego kodu aby wyświetlacz nie migał co 1 sek. Próbowałem sam coś zrobić i mi nie wychodzi. Czytałem już kilka tematów na ten temat ale nie wiem jak to poprawić. $regfile "attiny2313.dat" 'model procesora dla którego jest ten program $crystal = 4000000 'deklaracja częstotliwo?ci pracy kwarcu Config Lcd = 16...
Zamieszczam więc schemat oraz program: Oto strona sprzętowa mojego układu: http://obrazki.elektroda.pl/5230708400_1... A to program korzystający z bibliotek, które podrzucił piotrva. W pliku i2csoft.h zmieniłem tylko piny na PORTD.3 (SDA) i PORTD.4 (SCL). Reszty nie ruszałem. main.c: [syntax=c] #define F_CPU 8000000L #include <avr/io.h>...
Witam. Mam problem z uC ATtiny25, który podaje błędne odczyty z ADC, wszystko wcześniej było testowane na ATmega8 z wyświetlaczem i odczyty się zgadzały, teraz dysponując tylko jedną LED'ą, sprawdziłem, że odczyty się nie zgadzają, cała elektronika w przypadku ATmegi i ATtiny się nie zmieniają, jedynie drobne zmiany w kodzie. [syntax=basic4gl]$regfile...
Tablica led 8x28 sterowane Atmega8 pord przez ULN i 74HC595 w kolumnach tak jak na stronie http://www.avrprojects.net/index.php?opt... Problem jest taki że literki idą nie po kolei czyli zaczyna się od 14 kolumny led i tak w połowie załącza...
Dzień dobry, Nie bardzo wiem dlaczego otrzymuje taki "dziwny" odczytany z ADC. Powinien mieć około 5000 mV podłączając do vcc a w Realterm pokazuje mi 18. Chyba za długo w to patrzę bo nie widzę gdzie zrobiłem błąd. Mikrokontroler to Attiny3226 FCPU = 20MHz. Kod poniżej: /* #define F_CPU 20000000UL // wewnetrzny kwarc 20Mhz #include <avr/io.h>...
Zrób coś takiego (pisane z palca, więc może wymagać poprawek). Zdecydowanie. Brakuje funkcji config_timer(), config_sleep(), config_ports(). Dodatkowo jak się zagłebisz w peryferia attiny 13 to zobaczysz, że Twój pomysł z timerem jest niestety nie trafiony. Proponuję coś takiego: [syntax=c]#include <avr/io.h> #include <stdint.h> #include...
Na allegro są moduły za 4zł https://allegro.pl/plytki-drukowane-modu... Jako że masz arduino imo nie ma co kombinować z własnym nadajnikiem /odbiornikiem.
Tak, to tylko 13 minut... https://allegro.pl/listing?string=p%C5%8...
Też miewałem problemy z Getrc5. Pomagały "dziwne rzeczy" tak jak wprowadzenie niepotrzebnej zmiennej tekstowej "A". [syntax=vbnet] $regfile = "m8def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portd.5 , Db6 = Portb.7 , Db7 = Portb.6 , E = Portd.7 , Rs = Portb.0 $lib "mcsbyte.lbx" Cursor Off Config Pinb.2 =...
A jeśli chodzi o "Błędne operacje matematyczne" , to: Czy rozumiesz dlaczego zmienną Pokaz , zadeklarowałeś jako Integer , a nie np. Byte,String czy Double :?: Sprawdź jakiego typu zmienne oferuje Bascom Basic , postaraj się zrozumieć czym one się miedzy sobą różnią , a wtedy 1-szy problem masz z głowy ;) Piotrek
Wyprobiuj cos takiego. Oczywiscie to jest tylko przyklad. *Inicjacja portu* hCommFile : THandle; DCB: TDCB; CommTimeouts : TCommTimeouts; Port: String; Port:='COM1:'; hCommFile := CreateFile(PChar(Port), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if hCommFile=INVALID_HANDLE_VALUE...
aktualizacja nie pomoże. Kompilatr w sumie wszystko napisał. zrób tak: UCSRC = (3<<UCSZ0); i powinno działać. Przecież ja napisałem dokładnie to samo, tylko u mnie widać które bity są ustawione. carkar spróbuj tego: #include <inttypes.h> #include <avr/io.h> #include <avr/interrupt.h> #include <string.h> #define F_CPU 12000000UL...
On Urxc Rs_rx_ok On Utxc Rs_tx_ok '---------------------------------------... Dim Rs_tx_bufor(7) As Byte Dim Rs_tx_licznik As Byte Dim Rs_tx_ograniczenie As Byte Ddrd = &B00000010 'TXD = wyjscie, reszta wejscia Portd = &B00000010 'TXD = stan wysoki, reszta HI-Z Ddrb = &B00001000 'PB3 = wyjscie,...
Bardzo często jeżeli nic nie jest odbierane przez slave'a powodem jest złe zasilanie szyny rs485. Masz tam zamontowane rezystory ustalające odpowiednie napięcie i terminatory na końcach ? Tzn. terminatory zawsze daję wraz z jumperem, aby opcjonalnie móc włączyć. Na razie kabel ma 1.5 metra długości. Ale transmisja wydaje się być OK, bo podpięcie komputera...
Tak więc widzisz kolego Krampek, że TAGI w temacie o których tyle razy była mowa są bardzo przydatne bo bez dodatkowych słów opisu byłoby wiadomo z takiego tematu: #include <avr/io.h> #include "soft_uart.h" .global sputchar sputchar: pushR16 pushR17 pushR18 mov R18, R24 ; przekazanie znaku do nadania z parametru funkcji sputchar...
Da sie to zrobić oszczędniej. Mój pomysł: void print (unsigned int data) { unsigned char l,t[5]; for (l=3;l<4; l--){ t[l]=data%10; data/=10; } //t[4]=0; //wedle uznania :) //w stringu t bedziesz miał swoją liczbę podzieloną na 4 cyfry // ale nie ascii - zeby bylo ascii to dodaj 0x30 //...
W celu upewnienia się że to nie wina sprzętu przerzuciłem sam kod obsługi UARTA na sterownik gdzie mam ATMega328P. Jednak efekt jest wciąż ten sam, po uruchomieniu transmisji w terminalu widoczne są napisy wysyłane przed pętlą while a gdy tylko wyślę np. znak ascii 65, dostaję komunikat o przepełnieniu bufora. Być może schemat układu będzie w stanie...
Najpewniej masz za malo pamieci, itoa generuje string wspak i potem odwraca go za pomoca strrev. Wiec najwyrazniej wywolanie strrev sie nie powiodo. Inna mozliwosc to ciekawy blad w avr-libc.
Mam przejsciówke USB-COM, wysyłam przez Putty znaki do ATtiny2313 i zamiast tego co wyslalem, otrzymuje krzaki. Poszczegolne wyslane litery zwracaja te same krzaki czyli cos jednak AVR dostaje. Podlaczylem przez przejsciówke USB-COM dwa laptopy, jeden ma wbudowany COM, wszystko dziala pięknie w terminalu zero przekłamań. Dodatkowo podłączyłem pod laptopa...
Witam! Prosił bym o podpowiedź: Jeżeli jest zmienna1 string zawierająca znaki port1:123 i teraz z tej zmiennej chcę wyciągnąć ciąg port1 to użyje do tego zmienna2 = Mid(zmienna , 1 , 5) i ciąg 123 to robie: zmienna3 = Mid(zmienna , 7 ,3) i teraz zmienna3 = pwm1a - czyli pwm1a będzie z wartością 123 ?? Ale jeżeli będzie w zmiennej1 port1:052 to czy jeżeli...
;-) Kolego pisze cały czas o tych samych DWÓCH prockach 1.programator USBASP 2.ATTINY2313 3.AT90s2313 4.Soft MKAVRCalkulator 5.Kazama AVR Programmer 6.BascomAVR 7.Win 7 i XP 8.Manager urządzeń widzi USBASP W Twoim sofcie: - ATTINY działa ok ale po zapisaniu xx.hex jak go sczytać aby zobaczyć tak jak w Bascom'ie co zapisał ? - AT90s2313 nie czyta tego...
Jakoś nie mam zaufania do konstrukcji sizeof(array) lub sizeof(string), bo gdzieś mi to zwracało rozmiar maksymalny zamiast rzeczywistego. Spróbuj wpisać tam wartość na sztywno.
Tak wygląda najprostsza obsługa DS'a razem z LCD: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/eeprom.h> #include <string.h> #include "delay.h" #include "lcd.h" #include "ds18x20.h" int main( void ) { uint16_t decicelsius; uint8_t diff, i, subzero, cel, cel_frac_bits;...
Posiadam 2 układy: - hy-smart stm32 na STM32F103 - urządzenie na attiny2313 oba udało mi się ładnie dotychczas ogarnąć, oba pracują poprawnie, jednak pozostaje ostatni krok - połączyć je. Jako, że hy-smart oraz attiny mają uart to na ten protokół padł wybór. Niestety mimo wielu podejść nie udało mi się wysłać poprawnie pakietu. Gdzie robię błąd? Tak...
tmf napisał: wpakować tam jakiś mały procesorek, może ATTiny SLAVE mają mierzyć napięcie, więc muszą mieć wejścia analogowe, przynajmniej jedno wejście, a gdyby obsługiwały DS18B20, to my miał mniej kabelków bo pomiar napięcia byłby lokalny. Więc SLAVE by podawał aktualne napięcie i aktualną temperaturę. Nie ma problemu, najprostsze procki mają ADC,...
Pewnie, jak to w życiu, coś trzeba będzie poprawić, ale możesz spróbować tak. Niektóre zmienne tam nie zostały użyte bo koncepcja się zmieniła podczas pisania ;) Przesunąłem przycisk i dodałem tez pin obsługujący wymuszenie trybu AT [syntax=vbnet]$regfile = "attiny45.dat" $crystal = 8000000 $hwstack = 32 $swstack = 32 $framesize = 64 Config Portb.2...
Kolego bardzo dziękuję za informacje. Twoja zachęta mnie mobilizuje. Kupię taki programator. Czy w razie czego pomożesz z obsługą programu? Tak, pomogę. Oto przykładowe programatory: https://allegro.pl/listing?string=usbasp... Ważne, aby miał przewód, tasiemkę do podłączenia z ATtiny, tak jak na przedstawionych...
Witam. Ostatnio postanowiłem zbudować bardzo proste sterowanie na modułach odbiorczo-nadawczych 433MHz. Znalazłem tutaj takie przykładowe rozwiązanie http://www.elektroda.pl/rtvforum/viewtop... Postanowiłem je wykonać wczoraj wszystko zbudowałem, małego robota (o ile tak go można nazwać) do testów, i co sie okazało ze robot jedzie sobie...
port_szeregowy.Write(tablica_bajtów, 0, 1); Write jest jednoargumentowe 'Public Sub Write(Text As String)' A poza tym program w Tiny odbiera po jednym bajcie w pewnych odstępach czasowych i tak muszą być wysyłane w VB. Muszę się dokształcić żeby odbierać ciąg znaków. Tylko nie wiem czy wystarczy na to pamięci. Co innego w Atmedze, która ma wbudowany...
growat string łańcuch string cyfra string
kwasu szczawiowego ściemniacz żarówek ledowych opróżnianie butli
Ford Galaxy MK1 1.9 TDI 110KM – wysokie obroty po rozruchu na ciepłym silniku, flara do 2000 rpm Case 850 – pojemność układu chłodzenia spycharki, modele G H M L XLT