Zajrzałem do skompilowanego pliku i widzę że kompilator w ogóle nie używa tu R2 i R3 więc mi je zostawił ;) Od pewnego czasu w Bascom do rejestrów można się odwoływać prosto z kodu. Ciekawe którą wersję Bascom masz. Pewnie znowu schody... U mnie program się kompiluje na 96% [syntax=vbnet] $regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 16 $swstack...
Proszę, gotowy przyklad rozwiązania. Napisałem przy kawie i potestowałem w symulatorku czy się nie pomyliłem gdzieś ;) [syntax=basic4gl]$regfile = "m8def.dat" '$sim 'dla symulatora Config Portd.5 = Input : Set Portd.5 : Czuj_1 Alias Pind.5 Config Portd.6 = Input : Set Portd.6 : Czuj_2 Alias Pind.6 Config Portd.7 = Input : Set Portd.7 : Czuj_3 Alias...
Wkradł się bład przy wpisywaniu. Fuse Bity E4 D9 a nie 99 bo to pokazuje jasno na Twoim screenie Watchdog Always On :D Wyswietlacz nawet bez nadajnika ma wyświetlac po starcie trzy poziome kreski. W programie łatwo odczytać że żeby ustawić zero na wyświetlaczu procesor podaje masę na sześć segmentów. Wspólna końcówka wyświetlacza jest sterowana poprzez...
Łap. Cały tydzień programuję poważniejsze sprawy i taki programik to dla mnie dosłownie rozrywka :D Bierzesz Tiny85 i programujesz Hexem lub Binem do wyboru. Podłączasz do niego DS18B20 i linijkę na MAX7219 i gotowe... żonka zadowolona. Program ma nawet wyjście diagnostyczne i wypluwa temperaturę na UART 9600bps (to żeby sprawdzić poprawnośc Dallasa)....
Można i na pewno lepiej byłoby to zrobić Timerem zwłaszcza jeśli to cześć większego programu bo to przecież zrobiłby nawet Tiny13 :D Jeśli jednak te impulsy są jakieś "wolne" to pewnie wystarczy taki Waitms a nawet możesz użyć innych jednostek Waitus itd.. Na tym Bitwait program mógłby zawisnąć gdyby stan ustalił się na stanie wysokim. Dlatego trochę...
Jak mogę zrobić aliasy: komenda 10 to przycisk1 = 1, komenda 20 to przycisk2 = 1, komenda 255 to przycisk1 = 0, przycisk2 = 0? Nie możesz. :P Aliasy to tylko dodatkowa nazwa, a ty chcesz bajtem ustawiać odpowiedni bit. Mógłbyś tak zrobić gdyby był ustawiany konkretny bit w bajcie, np. Command.0 Alias przycisk1 Moja propozycja jest taka: W przerwaniu...
Nie widziałem wcześniej, że już na to wpadłaś. Twój się kalibrował tylko w jedną stronę a ten powinien w obydwie (ale nie testowałem) ;) [syntax=vbnet]$regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 2 $swstack = 0 $framesize = 22 Config Adc = Single , Prescaler = Auto , Reference = Avcc Dim Mem_adc As Word , New_adc As Word Dim Krok As Byte...
Łap gotowy Hex lub Bin (do wyboru). Machnąłem to w Bascom bo to dosłownie minuta i dłużej chyba uruchamia się AtmelStudio7. Kod jest prosty jak świński ogon więc możesz go sobie przetłumaczyć, ale szybciej zmienisz go wersją Demo Bascoma. Wszystko opisane. Osobiście pomyślałbym o tym, że po wykryciu zamkniętych drzwi można od razu przejść do pilnowania...ale...
Proszę. Gotowe bo jak widzę kilka If`ów do tej samej zmiennej zamiast Select Case i tym podobne kwiatki... [syntax=vbnet]$regfile = "m32def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 16 $framesize = 64 Const Timeout_time = 8 'x500ms Config Submode = New ' config LCD 2X16 Config Lcdpin = Pin , Rs = Porta.2 , E = Porta.3 , Db4 = Porta.4 , Db5 =...
Podejrzewam że problem jest z odbiorem danych z pilota. BASCOM i GETRC5 nie za bardzo sobie z tym radzi. No i czy masz na pewno pilota RC5? Dodano po 1 Zobacz to: [syntax=basic4gl] $regfile "m8def.dat" 'konfiguracja mikroprocesora $crystal = 4000000 'konfiguracja kwarcu Config Portb = &B11111111 Portb = &B11111111 Config Portc = &B1111101...
Proszę. Nie opisywałem go i tutaj może wyglądać dziwnie, ale u mnie rysuje linie łączące bloki. Wygląda to jak na załączonym obrazku i nie mam potrzeby dla takiego kodziku tego opisywać. http://obrazki.elektroda.pl/9672124500_1... Błąd mógł się wkraść bo to tylko tak z doskoku dla relaksu napisałem w pół godzinki. Życzę owocnego testowania...
Proszę skompilować program w tej wersji : [syntax=basic4gl]'**********************... '************************************* '** Karta wyjœæ z interfejsem RS485 ** '** Firmware v1.2 (06.08.2009) ** '** Projekt: Mariusz Ciszewski ** '** Publikacja: EP ** '** mariusz.ciszewski(at)elportal.pl ** '** poprawki Arnoldziq(at)eletroda.pl...
Nie wiem czy chcesz się nauczyć czy potrzebujesz program. Na początek te uwagi: 1. Nie wiem co tam robi dyrektywa $eeprom. Jest niepotrzebna w tym kodzie 2. Zmienna Ds jest zwiększana w przerwaniu niezależnie od tego czy jesteś w Menu czy nie. Tak więc po powrocie z Menu już na pewno nie zdążysz załapać się na warunek If Ds = 2 i wyzerować jej wartość....
Nie chce mi się zagłębiać dalej w pisanie. Tych trybów możesz sobie dopisać ile chcesz. I jak Przewijajac menu naciśniesz Set to zmień tryb na, na przykład, "Ustawiam_temp" i w tym trybie znów przyciski Plus i Minus bedą działać dla zmiennej ustawianej. Potem naciskasz ESC i wracasz do trybu jakiego chcesz.. to proste i pewne. [syntax=basic4gl]$regfile...
Łap. Przypomniałem sobie że miałem dwie płytki z RS485 na pokładzie i komplet kabli z innego projektu(most RS poprzez ETHERNET). W każdym miejscu gdzie podłączam RS`a mam zawsze dwa gniazda więc mogę je łączyć albo podglądać terminalem. W kodach Slave ustawiasz adres stałą My_ID. Z racji tego, że na szybko, miałem tylko dwa to testowałem adresy 3 i...
Przeorganizowałem twój kod z pierwszego postu bo w tym z dzieleniem i modulo to może działać ślamazarnie. Jeśli ci pasuje oczywiście. Licznik obsługuj w przerwaniu timera. A zmieniaj tylko wartość zmiennej za pomocą przycisków. To musisz sobie dopisać. Gdyby obliczenia w przerwaniu były za długie, przenieść je do głównej pętli, ale tutaj zawsze będzie...
Tak się dzieje jak stosujesz instrukcje Gosub, program idzie do procedury a tam znowu stosujesz Gosub i w tej na koncu nieszczęsne Retrurn. Program idzie w "krzaki" bo przepełniasz stosy i nadpisujesz w pamięci Ram zmienne. Poczytaj o procedurach i funkcjach w pomocy Bascoma, użyj Declare Sub a potem Sub: i END SUB. Stosuj też deklaracje ramki i stosu...
Nie wiem jakiej wersji używasz. Poniższy kompiluje się na pewno w 2075 - specjalnie sprawdziłem :D [syntax=vbnet]$regfile = "m8def.dat" $crystal = 1000000 $hwstack = 40 $swstack = 16 $framesize = 32 '********* TUTAJ SOBIE USTAW JAK CI PASUJE ********** Pin_wyjsciowy Alias Portc.5 Przycisk Alias Pind.2 : Set Portd.2 Const 1_ilosc_minut_do_odliczenia...
Tak, jak już pisałem, nie tędy droga. Trzeba zrozumieć, ze Menu czyli interfejs programu z człowiekiem powinno być tylko jego nakładką graficzną. Nie może być tak, że kiedy jesteś w Menu to program zaniedbuje cały system, na przykład nie pilnuje zadanych temperatur. Pomyśl co by było gdyby termostat sterował grzałką w akwarium a Ty sobie radośnie wszedłeś...
Łap. Napisałem w przerwie między... Zajmuje połowę mniej niż Twój a działa :D [syntax=vbnet]$regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 8 $swstack = 8 $framesize = 8 Config Portb = &B01110 : Portb = &B10001 Sw Alias Pinb.0 D1 Alias Portb.1 : Set D1 D2 Alias Portb.2 D3 Alias Portb.3 Config Timer0 = Timer , Prescale = 1024 , Clear...
No to może zacznij od podstawowej funkcjonalności, którą sobie dalej rozszerzysz. Poniżej wklejam program, który testowałem u siebie i działa bez zarzutu - jest to tylko sterowanie opóźnionym wyłączeniem świateł dziennych. Teraz w pętli głównej dołóż sobie kolejne warunki zgodnie z tym, czego oczekujesz. Drobne kroki zawsze doprowadzą do celu, tylko...
Witam ponownie ! Kiedyś gdzieś czytałem że projekt z Bascoma 8051 można przenieść do Bascoma AVR i wjakiś sposób automatyczny przerobić listing pod AVR (ATtiny2313) Pozdrawiam. Stefan Ps. Jeśli będziesz miał problem a nie "pali się" to popróbuję ten listing przerobić na ATtiny2313. Już udało mi się przerobić na AVR (ATtiny2313) 'przerobiłem, kompiluje...
Spróbuj: $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 8 $framesize = 24 Config Portd = Output Config Pinb.0 = Output Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output ' ustawiam porty do saa1057 Dat Alias Portd.3 'SPRAWDŹ CZY DOBRZE ZDEFINIOWAŁEM Ena Alias Portd.2 Clk Alias Portd.1 'przyciski Ddrc =...
Znalazłem w swoim archiwum , taki oto program zegarka.Przerobiłem go troszkę , by pasował do Twojego schematu. $regfile = "89c2051.dat" Const Xtal = 11059200 'z takim kwarcem jest "dość" dokładny ;) $crystal = Xtal Const Sysclock = Xtal / 12 Const Timer0value = 65536 -(sysclock / 200) '200 przerwań od T0 na sekundę Seg...
$regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 '-- Wejscia przycisków Config Portd.2 = Input Config Portd.3 = Input ' -- podciągnięcie Set Portd.2 Set Portd.3 ' -- porty sterowania segmentami LED Config Portd = Output Config Portc.5 = Output Config Portc.4 = Output Config Portc.3 = Output Config Portc.2 = Output ' -- tranzystory Config...
witam ! '2 wyświetlacze LED 7segmentów 'fusebity ustawione fabrycznie $regfile = "attiny2313.dat" $crystal = 1000000 Config Portb = Output 'katody segmentów LED Config Portd = Output Anoda1 Alias Portd.0 Anoda2 Alias Portd.1 Dim Nr_wysw As Byte Dim Cyfra2 As Byte Dim Cyfra1 As Byte Dim Temp_liczba_1 As Word Dim Temp_liczba_2 As Word Config...
Jeśli nie masz na stanie generatora to może zainteresuje Cię, albo kogoś innego, taki najprostszy generator który operowany jest dwoma potencjometrami. Jeden ustawia częstotliwość a drugi wypełnienie 1%-99%. To pozwoli szybko znaleźć odpowiednie parametry dla przetwornicy i potem można ustawić Tiny13 na rejestrach . Kod będzie działał na Arduino Mega2560,...
Proszę. Przerobiłem to przy kubku kawy dosłownie w 15 minut tak tylko dla zabawy. Najdłużej robiłem te ikonki czasów T1,T2,T3 i T4 :D Wszystkie cztery czasy są liczone od momentu startu bo nie napisałeś czy ma mierzyć międzyczasy ;) Może taki prosty kodzik kogoś ucieszy :D https://filmy.elektroda.pl/3_1453327306.... [syntax=vbnet]'STOPER '--------definicja...
Musisz przerobić tylko te linie i w zasadzie tylko te wytłuszczone elementy. Czerwone wylatują. $large ' ... kod deklaracji bez zmian '***************************************... 'stawienia Poczštkowe '***************************************... Enable Interrupts Config Timer0 =...
Kolego może zacznij od czegoś prostszego bo nieskomplikowane zadanie a tu wydaje się być inaczej. Programowanie to nie tylko znajomość mikrokontorlerów, języków ale przede wszystkim umiejętność samodzielnego rozwiązywania problemów i wiążąca się z tym pomysłowość. Żeby przetestować ten kod wziąłem drugą Atmegę8 i kazałem jej nadawać impuls co 500ms...
A spróbuj tak: [syntax=basic4gl] ' Fuse bity ustawione fabrycznie $regfile = "m8def.dat" $crystal = 1000000 Config Portb = Output 'sterowanie segmentów LED Config Portd = Output 'sterowanie segmentów LED Config 1wire = Portc.5 Anoda1 Alias Portc.1 ' Lewy wyświetlacz Anoda2 Alias Portc.2 Anoda3 Alias Portc.3 Dim Nr_wysw As Byte Dim Liczba As Long Dim...
Działa elegancko. Żeby było wiarygodnie to nawet wygrzebałem Ardu Leonardo z m32u4 na pokładzie. Na jedną rzecz bym jeszcze uważał. Twój kod nie jest w żaden sposób synchronizowany. Może się kiedyś zdarzyć, że jedna z wiadomości nie dojdzie. Z nie będzie miało wartości 3 i przy nastepnej wiadomości procesor zacznie przypisywać wartości innych zmiennych...
Niech kolega sprawdzi, bo nie testowałem, ale powinno działać co 0,1°C. [syntax=basic4gl]'Regulowany termostat cyfrowy 'Projekt wykonał Krzysztof Gońka $regfile = "m8def.dat" $crystal = 1000000 Config Portb = &B11000001 Portb = &B11111111 Config Portd = &B11111111 Portd = &B11111111 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3...
ok, tylko najpierw uporam się z przyciskami i nastawami :P Dodano po 28 $regfile = "m8def.dat" $crystal = 8000000 Config Portd = Output 'podłaczony wyświetlacz 'Config Pinb.0 = Output ' anoda 1 źle! nazwa pin służy do odczytu wartości 'Config Pinb.1 = Output 'anoda 2 źle! aby ustawić należy się posłużyć nazwą Portb.x 'Config Pinb.2 = Input...
Witam. .............. Program testowy ma działać tak, na początku na sekundę wyświetla 36 na wyświetlaczach (i to zawsze się dzieje), później ma liczyć od 00 do 99, i tak w kółko. Pozdrawiam Zmieniłem trochę twój code. -Nie testowany.... (tylko symulator)........ [code][syntax=basic4gl] ' Example for 2 digit LCD display (Common Anode) ' Anodes are...
Ten program jest taki, że nie wiadomo od czego zacząć poprawiać. Najlepiej byłoby go napisać od nowa :D Niemniej poprawiłem to co ewidentnie musiało być poprawione. Tak na marginesie to nie wiem co za magik wymyślił te ponowne włączanie przerwań w obsłudze przerwania po to tylko by odebrać kod RC5 w przerwaniu. Ludzie to małpują i kłopoty gotowe. Sprawdź...
Ja mam taki program zrealizowany na Atmedze8. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 40 $framesize = 40 Config Portb.1 = Output 'wyjscie triak Triac Alias Portb.1 Config Rc5 = Pind.7 'rc5 pin timer0 Dim Level As Word 'poziom sciemniania 1 - 20 Dim Timer_val As Word 'wartosc timer1 dla sciemniania Dim Command...
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...
Może by tak: $regfile = "m16def.dat" $crystal = 16000000 $baud = 4800 '---------------------------------------... Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 On Urxc Przerwanie_uart_rx '---------------------------------------...
Wprawdzie ... to nie humanitarnie z mojej strony dawać niemalże gotowca ... :D [syntax=basic4gl]$regfile = "m2560def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 $include "Config_PCF8583.bas" Declare Sub Displaytime() Declare Sub Settime() Declare Sub Cancel() Declare Sub Plus() Declare Sub Minus() Declare Sub Saveandexit() Declare...
Aż se na płytce złożyłem ten układ i program sprawdziłem. No i faktycznie świeciło na stałe. Do poprawienia były bzdety. Wklejam jeszcze raz, przetestowany i na 100% wszystko działa jak chciałeś [syntax=basic4gl] $crystal = 8000000 'Deklaracja częstotliwości kwarcu $regfile = "attiny2313.dat" Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A...
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ą...
nadajnik: [syntax=basic4gl]$regfile = "M8def.dat" $crystal = 16000000 $baud = 19200 $hwstack = 40 $swstack = 20 $framesize = 40 '=== Declare sub routines Declare Sub R_register(byval Command As Byte , Byval C_bytes As Byte) Declare Sub W_register(byval C_bytes As Byte) '=== Constante === 'Define nRF24L01 interrupt flag's Const Idle_int = &H00 'Idle,...
Prześledź to: (co zbyteczne, wyrzuć. Mega 8 daje radę) '-----------LCD for Nokia 3310 and Mega AVR-------------------------------------... ' 'Based on Louis Frigon program in C: "Nokia LCD Library" at www.microsyl.com 'and 'Darek Dobrowolski program in Bascom: "Wysterowanie wyświetlacza LCD LPH7779(Nokia 3310) przez ATmega128L...
Cześć. https://obrazki.elektroda.pl/1280991700_... Kuzyn poprosił mnie o zbudowanie tego ustrojstwa, bo posiada jedno wolne wejście we wzmacniaczu, a do podłączenia jeszcze trzy źródła dźwięku. Projekt powstał w dwa dni. Czterokanałowy selektor wejść do wzmacniacza. Nic szczególnego... Płytka - termotransfer. Program - BASCOM. https://obrazki.elektroda.pl/9048297700_...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
http://obrazki.elektroda.pl/7114210100_1... Witam wszystkich serdecznie ! Z racji tego, że zbliżają się święta postanowiłem podzielić się z wami projektem elektronicznego drzewka szczęścia. Urządzenie powstało prawie rok temu i było prezentem urodzinowym dla mojej dziewczyny którą serdecznie pozdrawiam !!! :D Założenia do projektu:...
http://obrazki.elektroda.pl/7139682100_1... Witajcie Wlasciwie jest to moj pierwszy temat na forum wiec prosze z gory o wyrozumialosc. Przepraszam rowniez, za brak polskich fontow, ale pomimo prob wielu nie ogarniam wiekszosci ogonkow z racji lokalizacji :/ Przyszly swieta, czas urlopu i odpoczynku... Niestety wraz ze swietami przybyla...
Ciekawe czy AI dało sobie radę; [syntax=vbnet]' === SSD1322 BASCOM mini-driver: Pixel, Line (ATmega, 4-wire SPI) === ' Pins (edit to your wiring) Config Portb.2 = Output ' CS# Config Portb.1 = Output ' D/C# Config Portb.0 = Output ' RES# Ssd1322_cs Alias Portb.2 Ssd1322_dc Alias Portb.1 Ssd1322_res Alias Portb.0 ' SPI (hardware SPI on ATmega328/128/1284...
(at)ElektrodaBot powyżej 255 licznik źle zlicza dając ) co może być źle w tym kodzie: [syntax=text]$regfile = "attiny2313.dat" ' 2KB FLASH|128B SRAM|128B EEPROM $crystal = 8000000 $hwstack = 40 $swstack = 8 $framesize = 24 Config Timer0 = Timer , Prescale = 64 On Timer0 Wyswietlanie Config Pina.0 = Input Config Portb = Output : Segmenty Alias Portb...
http://obrazki.elektroda.pl/9303655200_1... Witam, Tu: http://www.elektroda.pl/rtvforum/topic33... znajduje się opis powielacza czasu automatu schodowego. Obiecałem tam, że na bazie tamtego układu opracuję „inteligentny” automat schodowy, i oto jest :). Jego „inteligentność” jest zawarta w założeniach...
oryginalnie wygląda to tak: [syntax=vbnet] $regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 16 $swstack = 8 $framesize = 16 Config Timer0 = Timer , Prescale = 1 Enable Timer0 On Timer0 Pwm Enable Interrupts Start Timer0 Declare Sub Miganie Config Pinb.3 = Input Set Pinb.3 Config Portb.4 = Output Przycisk Alias Pinb.3 Config Portb.0 = Output Config...
Wrzucam kod do testów. Uwaga! Kod zawiera błąd który muszę poprawić mianowicie synchronizacja następuje o sekundę za szybko w stosunku do przesłanych bitów, ale do testów nadaje się bardzo dobrze. Dodatkowo informuje że program nie sprawdza bitów parzystości. [syntax=vbnet]$regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 64 $swstack = 64 $framesize...
Ponawiam swoje pytanie dotyczące systemu select V. Czy istnieje możliwość dokonania ustawień czasu, przez jaki wyświetlać będzie się alias na wyświetlaczu GM 360 :?: Np. wyświetli się nazwa "pojazd A" zawarta w contact liście, po tym jak prawidłowo zostanie zdekodowana sekwencja. Informacja taka wyświetla się aż do momentu, gdy nie zostanie naciśnięty...
http://obrazki.elektroda.pl/9151953900_1... Założenia projektu: - obsługa wszystkich funkcji dostępnych z klawiszy sterujących magnetofonu, - wyświetlenie nazwy aktualnie wykonywanej funkcji na wyświetlaczu LCD, - wykorzystanie fabrycznego pilota zdalnego sterowania, - zasilanie układu z zasilacza magnetofonu, - możliwość podłączenia...
Wchodzisz na stronę https://www.mcselec.com/ i po lewej przycisk Updates. Logujesz się i ściągasz cały plik instalacyjny. Była jakaś przerwa w tych aktualizacjach, ale teraz nowe wersje już da się później aktualizować z poziomu programu. Post wyżej wrzuciłem wersję juz skompilowaną pod 2086. To dlatego że coś tam było w międzyczasie poprawiane w konfiguracji...
Nigdy nie miałem tego sensora u siebie i dlatego nie czytałem dokumentacji i koła od nowa tez nie chciałem wymyślać. Jest gotowy kod na to na innym forum. On moze obsługiwać więcej czujników. Najważniejsze że pokazane jest jak do tego Twojego dodać obsługę temperatur ujemnych. [syntax=vbnet] ' ' Sensor DHT22 ' Insanity ' $regfile = "m328pdef.dat" $hwstack...
Witam. Znalazłem coś innego i po modyfikacji działa jak powinno . Przypisany jeden klawisz pod PB.2 wysyłający LewyALT + Q. Jest też zmiana u gnieździe usb D- PD.3 na PD.4. [syntax=vbnet] 'Author : Rick Richard 'www : http://www.sloservers.com/swusb 'Created : Jul 29, 2009 'Version : 1.00 '***************************************...
Program poprawiłem, ale dalej jest problem z drugim timerem tzn. działa tylko z TIMER0 , działa klawiatura, funkcja rozpędzania wirnika. włączenie drugie timera wiesza program. Zamieszczony program (tylko z TIMER0) działa fizycznie. [syntax=vbnet] $regfile = "m2560def.dat" $crystal = 16000000 '$sim '***************************************... Config...
Witam. Mam problem z zegarem na wyświetlaczach 7-segmentowych. Minuty po 09 wyświetla 16 zamiast 10, sekundy tak samo. Zawsze tak się dzieje, więc musi to być błąd w programie, ale ja już się poddałem, co może być nie tak. Config PortA = Output PortA = &HFF Config Portd = Output Portd = &Hff Config Portb = Output config portc.0 = output config...
Przelutowałem układ do tej konfiguracji pinów dalej biało... [syntax=basic4gl]Rs Alias Portb.4 'S65 Data/command pin Res Alias Portb.3 'S65 Reset pin Cs Alias Portb.2 'S65 Chip Select pin Clk Alias Portb.1 'S65 Clock pin Dat Alias Portb.0 'S65 Data pin Config Rs = Output Config Dat = Output Config Cs = Output Config Clk = Output Config Res = Output...
Wiec zrobiłem to tak: [syntax=vbnet] Dim Piloty As Byte Dim Old_piloty As Byte Dim Klawisze As Byte Dim Old_klawisze As Byte Dim Licznik_kasuj As Byte Dim Flaga_kasuj As Bit Zeruj_klawisze Alias 250 Zeruj_piloty Alias 0 Klawisze_1 Alias Klawisze.0 Klawisze_2 Alias Klawisze.1 Klawisze_3 Alias Klawisze.2 Klawisze_4 Alias Klawisze.3 Klawisze_5 Alias Klawisze.4...
Czy ten czas pracy masz zadeklarowany jako Word? Bo do Byte więcej niż 255 nie zmieścisz. Możesz dodać rozpędzanie silnika. Tak zwaną rampę. Wprowadzasz zmienną "Predkosc_zadana" i zawsze kiedy "Predkosc_silnika" jest mniejsza od zadanej to jest pomału zwiększana. W ten sposób pomału pokonujesz bezwładność silnika. Porty możesz wyłączyć wszystkie cztery...
Jak zapisać poprawnie w SQL PHP grupowanie wielu wpisów po datach? Mam coś takiego: [syntax=sql] $zapytanie = "SELECT * FROM $tabela GROUP BY YEAR(data) ORDER BY czas"; [/syntax] Ale to wycina tylko jeden wpis z każdego roku (i to ten najwcześniejszy) a nie wszystkie wpisy. Próbowałem tak: [syntax=sql] SELECT * FROM ( SELECT * FROM newsy ORDER BY czas...
Tego nie da się łatwo zrobić. Do tego będzie musiał być Select Case.
Zobacz tak. Napisałem na kolanie bez sprawdzania, ale może zafuczy ;) Na marginesie funkcja Getrc5() używa Timer0 i powinieneś zostawić go w spokoju czyli do innych rzeczy, jeśli potrzebne, użyć Timer1 lub Timer2. [syntax=vbnet] $regfile = "m8def.dat" $crystal = 8000000 $hwstack=64 $swstack = 32 $framesize=128 $baud = 9600 Config Portb = &B11111111...
Witajcie, dziś postanowiłem się podzielić dorobkiem w postaci oprogramowania i wiedzy na temat pewnego modułu GPS. Zegar softowy synchronizowany GPS z dodatkowym wyświetlaniem współrzędnych i prędkości no i dorzuciłem w ostatniej chwili temperaturę z DS18B20 - taki szkoleniowy programik w BASCOM (świetny przykład - gotowiec dla tych którzy chcą zrobić...
Może sam spróbuj ;-) Tak w zarysie : w pętli głównej musisz dodać warunek: jeśli przycisk wciśnięty to zwiększ zmienną "czas" o 1 jeśli puszczony to zmienna "czas" =0 następnie: jeśli zmienna "czas" = 123 (dla przykładu, bo nie wiem jak szybko ta pętla przebiega) to : zmień tryb pracy (to masz strasznie napisane, więc trudno ogarnąć)... Dziękuję koledze...
Proszę bardzo. Napisany w 20 minut więc błąd mógł się wkraść. Timer co minutę daje znać i wtedy odliczane są minuty do włączenia bądź wyłączenia wentylatora. Przyciski są dwa. Kiedy naciśniesz jeden z nich to od razu powinien włączyć się wentylator (można w ten sposób zawsze wymusić start wentylatora). W programie u góry podaje się czasy wyrażone w...
Witam, Utknąłęm w martwym puncie z kodem odbiornika rfm12b. Nie wiem dlaczego ini1 blokuje timer0. Wygłąda to tak że jak wyłączę int1 to reszta działa poprawnie poza odbiorem danych oczywiście a jak włączę to sidają przerwania z timera0. Czy ktoś pomoże? http://obrazki.elektroda.pl/7253192900_1... Na LCD w linii czas jest liczba 44 to...
Witam Serdecznie PanowieTemat mam pewiennieaktualny problem a mianowicie zrobiłem ten sterownik http://mirley.firlej.org/prosty_sterowni... wszystko ładnie się zaprogramowało fuse bity ustawione po załączeniu działają wszystkie funkcje lecz niestety nie pokazuje mi temperatury niby trzeba trzymać przycisk s1 na pierwszy cujnik ds18b20 i go wpisać...
Możesz udostępnić kawałki kodu odpowiedzialne za wysyłenie komend? Mogę udostępnić cały kod ale w wersji dla Atmegi8, początkowo właśnie na tym procesorze chciałem oprzeć cały układ, stopniowo optymalizując i zamykając w podprogramach powtarzające się fragmenty kodu, przechodziłem poprzez attiny2313, aż skończyło się na Attiny13. Nie ma sensu bym zamieszczał...
Witam. Ustaw kierunki portów. Jeśli odczytujesz stan wejścia (impuls,reset) to musi być jako wejściowy i taki też dajesz alias (pin). Następna sprawa to select case , ale co? musisz podać select case A, i coś tam jeszcze się znajdzie dalej do poprawki: Dziesiatki = Dziesiatki / 10 : Dziesiatki = Dziesiatki Mod 10 Setki = Setki / 100 : Setki = Setki...
Witam jak mogę zmienić wyjścia pinów na stan niski . Program napisany w BASCOM. [syntax=vbnet]$regfile = "m16adef.dat" ' specify the used micro ' generated. Take care that the chip supports all fuse bytes. $crystal = 8000000 $baud = 19200 ' used crystal frequency ' generated. Take care that the chip supports all fuse bytes. Config Lcd = 16 * 2 Config...
Chciałbym wyświetlać liczby od zera do 999 na trzy cyfrowym wyświetlaczu LED 7segm. Napisałem mały program i nie mogę ruszyć dalej. Cyfry od zera do 255 wyświetla prawidłowo. Wszystkie większe od 256 cyfra setek wyświetlana jest błędnie. Np wpiszę do zmiennej wart=567 to wyświetla mi 067 Co robię nie tak? [syntax=vbnet]$regfile = "m8def.dat" $crystal...
Proszę. Nie wiem czy koledze udało się rozwiązać problem, ale jak miałem chwile to się podzielę ze wszystkimi. ESP8266 mam na NodeMCU i wole tam go oprogramowywać, ale chciałem się pobawić komendami AT więc podłączyłem go do Xmega bo to cacko jest też 3 voltowe i posiada nawet 7 interfejsów USART :D Na drugim COM zrobiłem sobie taki Debug. Program reaguje...
Chodzi o te zaznaczone ustawienia z obrazka. Są wstawiane jako domyślne jeśli się ich nie wpisze do kodu. Chodzi o to, że kiedy Bascom skacze do jakiegoś Sub to odkłada na stos te wcześniej omawiane dwa Bajty. W takim Sub już może tego nie widać, ale tez skacze np. do procedury odczytu czujników 1Wire. To już np. cztery bajty a w tym momencie nadchodzi...
No ale w tym pliku jest tak: ' Chip Select Pin => Pin 1 of MMC/SD Config Pinb.0 = Output Mmc_cs Alias Portb.0 Set Mmc_cs ' MOSI - Pin => Pin 2 of MMC/SD Config Pinb.2 = Output Set Pinb.2 Mmc_portmosi Alias Portb Bmmc_mosi Alias 2 ' MISO - Pin => Pin 7 of MMC/SD Config Pinb.3 = Input Mmc_portmiso Alias Pinb Bmmc_miso Alias 3 ' SCK - Pin =>...
zrezygnować w ogóle z tego kodu który zamieściłeś w pierwszym poście. Po podaniu masy przez uC i zwolnieniu linii czujnik ma odpowiedzieć podając masę a Ty masz tam w kodzie że uC ma wystawić stan wysoki przez 40us a według noty czujnik ma odpowiedzieć pomiędzy 20us a 40us. Ale Ty też tak zrobiłeś. Set Kierunek 'pin bedzie wyjściem Reset Wyjscie 'podaj...
Naucz się prostej rzeczy. Szukasz kodu do Bascom? Zacznij od tego że w Google wpisujesz VL530X i dopisz Bascom . Znalezienie tego zajęło mi ~20s [syntax=vbnet]'BASCOM Source Code: VL53L0X.BAS $regfile = "m328pdef.dat" $crystal = 16000000 $hwstack = 32 $swstack = 32 $framesize = 24 $baud = 38400 Config Scl = Portc.5 Config Sda = Portc.4 I2cinit Const...
trafiłem jeszcze na coś takiego SPI odpada bo wysyla za kazdym razem LOAD. Tylko Shiftout. 'To przyklad na dwa maxy polaczone w szereg. Wlasnie te _noop to cala filozofia !! 'Reszte wiecie jak zrobic. Dodano po 2 Muszę poszukać innych modułów z MAX7219, może coś z ty mi nie tak. Próbowałem z użyciem Shiftout. Wypociłem coś takiego: Dodano po 24 Wgrałem...
Zrobiłem wskaźnik wysterowania audio. Był on dostosowany do LCD 20x4 , przerobiłem kod i dodałem drugi LCD 16x2. Nie wiem dlaczego druga linijka pierwszej linii E posiada błąd. Sprawdzałem LCD , oraz wyświetlałem napisy na obu wyświetlaczach i wszystko jest dobrze, tylko pod tym kodem do obsługi VU meter lcd wariuje. http://obrazki.elektroda.pl/8972835800_1...
Witam. 1 - Stosuj aliasy. Np: drzwi alias portd.0 Później w kodzie po prostu drzwi = 1 lub drzwi = 0. bardzo poprawia czytelność kodu. 2 - Odczyt z przetwornika ADC powinien być do zmiennej WORD (przetwornik jest 10 bit). 3 - w pętli głównej masz instrukcje Wait. Powstaje problem ze sprawdzaniem stanu wejść, pętla może się wykonywać bardzo długo, w...
Przerobiłem program na Atmega328. Teraz ma tylko odbierać dane z master na Atega1284p i wysyłać do Domoticz. [syntax=vbnet] $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 100 ' rozmiar stosu sprzętowego $swstack = 100 ' rozmiar stosu programowego $framesize = 128 $baud = 19200 '************ Uart 0 Config Serialin0 = Buffered , Size = 150 ,...
W wielu przypadkach prostsze, przynajmniej dla mnie, jest wykorzystanie schowka i API autorstwa Stefana Bullena. Wystarczy wkleić do modułu standardowego https://obrazki.elektroda.pl/2450765000_...
Można również ustawić sobie taktowanie na 8MHz, następnie Timer0 ustawić z prescalerem 8 i generować przerwanie co 58us (Load Timer0, 58). Dzięki temu przy zliczaniu czasu trwania echa powrotnego mamy od razu wynik w centymetrach (58us = 1 przerwanie = 1cm). Pozostaje teraz tylko zliczać ilość przerwań timera0. I to chyba najprostsze rozwiązanie tam...
Witam. Widzę, że temat poruszony. I jakoś jest. Ja poruszyłem identyczny i został brutalnie wsadzony do kosza i zamknięty. Pomijam ten fakt, bo zależy mi na konstruktywnych i rzeczowych odpowiedziach. Sam próbuję złożyć z powodzeniem taki regulator do mojej konstrukcji quadkoptera (ewentualnie v-tol-a). Gdzieś na elektrodzie dorwałem kod w BASCOMie...
W konfiguracji portów do AVRDOSA masz błędy, raczej powinno być tak: [syntax=basic4gl]'******************** SPI Programowe Const Cmmc_soft = 1 Config Spi = Soft , Din = Pind.5 , Dout = Portd.7 , Ss = Portd.6 , Clock = Portd.4 ' Chip Select Pin => Pin 0 of MMC/SD Config Pind.6 = Output '6 Mmc_cs Alias Portd.6 '6 Set Mmc_cs ' SCK - Pin CLK => Pin 1 of...
Program miał działać następująco : Chce zrealizować obsługę 7 przycisków potwierdzanych zapaleniem diod na wyjściach . Naciśniecie jednego ma zgasić diodę na reszcie . Poza tym będą trzy przekaźniki działające na zasadzie matrycy kodowanej. W ten sposób za pomocą 3 przekaźników otrzymam 7 informacji. Przycisk 1 on on led1 przekaźnik1 on 2 off 3 off...
Tak jak przedmówca napisał odłącz pin RW od mikrokontrolera. Reset powinien być podciągany do tych 5V przez rezystor 10k bo programator musi mieć możliwość zwarcia tego pinu do masy. Dodatkowo w opisie masz błąd bo przycisk opisujesz pod pinem zajętym przez wyprowadzenia LCD. Poniżej masz taki prosty kodzik do zabawy :P Na pinach PORTB.2 i PORTB.3 podłącz...
Witam po dość długiej przerwie Postaram się odpowiedzieć na wszystkie pytania 1. katakrowa - Dlaczego nazywa się to "Zegar milenijny" ? - Akurat taka nazwa przyszła mi do głowy. 2. GG_Gonsior - Proponuje użycie "na sucho(bez płytki arduino - brak stabilizatorów - Baterie zostały podłączone za stabilizatorami. - wsad wgrany przez programator - dużo mniejsze...
Witam Testuję moduł GSM SIM800L. Chciałem, aby po otrzymaniu komendy przez SMS odsyłał zwrotny SMS lub wysyłał email z danymi. Najpierw "na sucho" klepiąc ręcznie linia po linii przez terminal uzyskałem pozytywne wyniki testów ( tzn. otrzymywałem SMS i email ). Nieco gorzej jest w przypadku podłączenia do Atmega328. Podsłuchując terminalem odbieram:...
Mógłbym prosić kogoś o poprawienie kodu termostatu który będzie obsługiwał 3 wentylatory? Czujnik temperatury, którego będę używał to DS18B20. Dodano po 4 Tutaj postarałem się przerobić inny kod, wydaje mi się że powinno być nieco lepiej niż z tym 1... [syntax=text] $regfile = "m8def.dat" $crystal = 8000000 '***************************************...
Proszę, łap. Miałem chwilę to sprawdziłem. W nadajniku przerwa co dziesięć znaków nie jest bez powodu. Teraz nadajnik nadaje znak "U" a to znaczy &H55, ale co ciekawsze &B0101_0101 czyli na przemian jeden i zero. Może się jednak zdarzyć, że jakiegoś bitu radio nie zauważy i lepiej jest zacząć od nowa. Nadajnik miałem na Mega8, ale pewnie sobie...
Zamieszczam caly program i prosiłbym oprzerobienie pod moje wytyczne. Przerasta mnie to . 'sterownik do pieca at89c2051 ' wyświetlacz 2*16, poprawione zachowanie po zaniku napięcia $large $crystal = 12000000 Config Lcd = 16 * 2 Cursor Off Cls Config Sda = P3.1 Config Scl = P3.0 Config Timer0 = Timer , Mode = 1 , Gate = Internal Config Timer1 = Timer...
Po wielu miesiącach powracam z kolejnym pytaniem o zegar zbudowany z taśm led. Otóż problem polega na tym, że na wyświetlaczu pojawiają się duchy, na ułamek sekundy na jednej cyfrze zapala się wartość z drugiej, tak jakby cyfra nie zdążała się do końca wygasić. Schemat układu: https://obrazki.elektroda.pl/7792524200_... Kod BASCOM:...
Proszę. Przycisk Menu włącza je i wyłącza więc przycisk wyjścia z Menu praktycznie jest niepotrzebny, ale go zostawiłem. Subów którym nie przekazuje się żadnych zmiennych nie trzeba deklarować. Miałeś odświeżanie wyświetlacza w pętli głównej z prędkością procesora. Zmieniłem to tak że wyświetlaczem zajmuje się tylko wtedy jeśli coś się zmieniło i wymaga...
Po kilku dniach pracy urządzania stwierdziłem że jednak przydało by się żeby serwerek dodatkowo wysyłał dane do "https://thingspeak.com/" chociaż z termometru domowego. Próbowałem na rożne sposoby ale nie mam pojęcia jak to zrobić. Może ktoś z Was jest w stanie zmodyfikować kod ? Może kolega (at)bart-projects czyta ten temat? ;) (to ten sam kod co w...
$regfile = "m8def.dat" $crystal = 800000 Config Timer0 = Timer , Prescale = 64 Dim Licz8ms As Byte Enable Interrupts Dim A As Byte 'Enable Timer0 'On Timer0 Procedura Load Timer0 = 250 Reset Portc.5 Reset Portc.4 Reset Portc.3 Set Portc.0 Set Portd.4 Config Watchdog = 2048 Config Portc.5 = Output Config Portc.4 = Output Config Portc.3 = Output Config...
alias poczta darmowy alias pwm1a alias
podnosić obrót silnik drukarka laserowa kolorowa grzanie betonu
Sterowanie ramieniem dysku HDD (VCM) za pomocą Arduino Instrukcja sterownika Mattei Maestro, Concerto, Quartetto – pobieranie i obsługa