Autorze, dałem Ci gotowe rozwiązanie, ale nie czytałeś mojego postu uważnie. Nie czytałeś też dokumentacji ( MojaPolskieZnaki18_Bitmaps . Aby wyświetlić tekst funkcją MojaPolskieZnaki18_Glyphs 90(*) wiersz, gdyż tam znajdują się informacje o tym, gdzie w pliku MojaPolskieZnaki18_Bitmaps znajduje się obraz literki "Z". * - 90 wiersz, a właściwie, to...
https://obrazki.elektroda.pl/9290552300_... Witajcie moi drodzy. Zapraszam na kolejną część mojego tutoriala PIC18F2550 i kompilatora SDCC . W tej części poznamy sterownik wyświetlacza LED MM5450, połączymy go z PIC18F2550 i napiszemy od 0 implementację ich komunikacji. Docelowo użyjemy MM5450 do wysterowania wyświetlacza LED 5 na...
https://obrazki.elektroda.pl/3570276400_... Pokażę tutaj jak przyśpieszyłem programową komunikację SPI służącą do obsługi pamięci Flash. Sprawdzę jak dużo kodu może kryć się za warstwą abstrakcji GPIO BK7231 a potem spróbuję operacje na pinach zredukować tak, by działały bezpośrednio na rejestrach. Ile cykli procesora tracone jest...
Napisz w P5.js emulator wyświetlacza HD44780 Emulacja wyświetlacza HD44780 w P5.js wymaga zbudowania interfejsu, który symuluje zachowanie fizycznego wyświetlacza, włącznie z obsługą charakterystycznej siatki znaków oraz metod sterujących takich jak zapisanie tekstu na wyświetlaczu. Poniżej przedstawiam podstawowy przykład implementacji takiego emulatora....
Początek mam.... #include <Keypad.h> // Biblioteka obsługi klawiatury matrycowej. const byte kolumny = 4; // Ilość kolumn. const byte wiersze = 4; // Ilość wierszy. char znaki[wiersze][kolumny] = { // Tablica znaków klawiatury. {'A', 'B', 'C', 'D'}, {'E', 'F', 'G', 'H'}, {'I', 'J', 'K', 'L'}, {'M', 'N', 'O', 'P'} }; byte portyKolumn[kolumny] =...
Witam, mam taką trudność, odczytuję znaki nadchodzące z UART i zapisuję je do tablicy znaków zdefiniowanej jako char wartosc , tablica przechowuje takie wartości jak napięcie, prąd oraz moc. Znaków w tablicy jest zawsze 9, po 3 dla każdej z podanych wielkości. Chcę w jeszcze mi nieznany sposób wyjąć po 3 znaki z tej tablicy i przekonwertować je na zmienną...
Witajcie. Mam poniższy kod. Dodano po 3 Spróbuję dopisać. Mamy dwie zmienne int o wartościach 13 i 45. W pętli chciałbym mieć pojedyńcze baty z tych intów. char[0] 1 char[1] 3 char[2] 4 i char[4] 5
Witam. Posiadam wyświetlacz WC1602A0 zgodny z hd44780 i chciałbym wiedzieć w jaki sposób można zdefiniować polskie znaki...wiem że jest możliwość dopisania 8 własnych znaków (np. polskich znaków diakrytycznych) w pamięci CG Ram. Chciałbym się dowiedzieć w jaki sposób można dostać się do tej pamięci aby dopisać polskie znaki :)??? Z góry dziękuje za...
Witam chciałem wyświetlić pojedynczy znak z tablicy i nie wiem jak to zrobić może pokaże na przykładzie : [syntax=c] char PROGMEM tab1[] = {"FLASH"}; char tab2[]={"AVR ATMEL"}; lcd_str_P(tab1[2]); //znak A lcd_str(tab2[2]); //znak R [/syntax] Wyświetlacz LCD to hd44780 biblioteka do obsługi lcd pochodzi z książki od mirekk36 niestety po skompilowaniu...
Witam. Ostatnio analizuję kodzik z tej stronki: http://hobbyelektronik.org/Elo/AVR/3510i... Zastanawiająca jest tu tablica znaków. Mianowicie zapis nie wygląda tak jak standardowo, czyli dla każdego znaku jest np zapis ośmio-bajtowy, tak że nawet rzędy pikseli o wartości 0x00 są zapisywane do tablicy, przez co jest marnowane miejsce. Tu wygląda...
Zastanawiam się dlaczego deklarując w Arduino ciag znaków za pomocą kodu: [syntax=c] char a[6] = "12345"; [/syntax] Muszę zadeklarować rozmiar o jeden większy niż ciągu. Co ten dodatkowy bit przechowuje? Czyżby w bicie [0] był przechowywany rozmiar ciągu?
Kiedy uzywasz zmiennej rezerwuje ona, aż 256bajtow pamięci RAM wiec tu oszczędzaj. Jeśli piszę duże aplikacje, działam na małych plikach zapisanych we Fleshu. Wyniki zapisuje też w osobnym pliku. Warto też pamiętać, by tablica nie miała więcej niż 255 znaków bo potrafi ESP się resetować. Unikać gotowych modułow zwłaszcza string, bin, math, gpio, kradną...
https://obrazki.elektroda.pl/4538383200_... Dziś kontynuujemy przygodę z modułem ESP32 + wyświetlacz dotykowy w wersji ESP32-2432S028R. W tej części poćwiczymy interakcje z wyświetlaczem za pomocą ekranu dotykowego. W tym celu napiszemy tutaj kilka prostych, interaktywnych programów, takich jak mierzenie czasu reakcji użytkownika,...
Sprawa rozwiązana. Moje oko nie dostrzegło, ale miernik na zwarcia tak- zwarcie pomiędzy dwiema nogami Xmegi SMD. Po przeskrobaniu układ ruszył i teraz mogę podzielić się wersją na Xmega. W stosunku do wersji na AVR AtMega, zmiany są takie: Procedura setup() jest następująca: [syntax=c] void setup(void) { OSC.CTRL=OSC_RC32MEN_bm; // włączenie oscylatora...
https://obrazki.elektroda.pl/7723770300_... Witajcie moi drodzy. Przedstawię tutaj sposób w jaki zautomatyzowałem i zoptymalizowałem proces pisania kodu, kompilacji wsadu oraz jego wgrywanie na platformę XR809/XR3. Trochę zabawy z tym było, a nowy workflow opiera się zarówno na skryptach wsadowych Windowsa jak i Linuxa a dodatkowo...
Tak jeżeli twój terminal obsługuje znaki sterujące. Kompletne polecenie wysłania wiadomości SMS wygląda następująco: AT+CMGS="+48XXXXXXXXX" <CR> Tekst wiadomości <CTRL+Z> <CR> - „Carriage Return” w tablicy ASCII ma numer 13 (0x0D). W terminalu ten kod będzie wysyłany po naciśnięciu klawisza [Enter]. <CTRL+Z> - "Substitute"...
Wydaje mi się, że chodzi o to, że cyfry temperatury wyświetlają się zbyt często (na wszystkich pozycjach). Należy je wyświetlać tylko w pozycji com==0 i com==1 zamiast: [syntax=c] konwersja(&myTemperature, &tablica[3], &tablica[2], &tablica[0], &tablica[1]); temperatura[0] = tablica[0]; temperatura[1] = tablica[1]; for (int j = 0;...
Po prostu zrób tak by sprawdzał np. if (c=='g') else if (c=='d') i to wystarczy by określi czy ma być z góry na dół (g) czy z dołu do góry (d),nie możesz porównywać używając znaku "=" (bo jeden do tego nie służy) lub używając dwóch liter w zmiennej mieszczącej 1 literkę, 'dg' jest bez sensu, albo 'd', albo "dg", a porównywania napisów nie robi się używając...
po to jest extern , zeby kompilator nie sypał takimi błędami! Chyba, że świat arduino rządzi się swoimi prawami, ale wydawałoby się, że C to C.... Nie redefiniuj tablicy znak w pliku projekt.cpp. Jesli masz kompilator c++, zmien rosszerzenie pliku test.c na test.cpp Ciekawe jest to: d:/programy/arduino/hardware/tools/avr/b...
1. Spróbuj pozbyć się tej bibioteki - zapisz ręcznie kilkanaście bajtów, potem je odczytaj i np. przy każdym starcie programu zwiększ. 2. Jeśli kiedykolwiek zapisywałeś coś w pętli z dużą szybkością to mogłeś uszkodzić pamięć. 3. jako rozmiar podaje się maksymalny rozmiar danych, które chcesz zapisać, w Twoim przypadku powinno być to co najmniej sizeof(str_dane)....
Czy Kolega słyszał o tablicach i pętlach? to [syntax=c]String zm22; String zm23; String zm24; String zm25; String zm26; String zm27; String zm28; String zm29; String zm30; String zm31; String zm32; String zm33; String zm34; String zm35; String zm36; String zm37; String zm38; String zm39; String zm40; String zm41; String zm42; String zm43; String zm44;...
Macie jakiś łatwy przykład w którym zamieniamy zdefiniowany znaczek na inny również zdefiniowany. Wydaje mi się, że nie zaglądałeś w linki, które sam dałeś. Wystarczy zdefiniować tablicę znaków, np uint8_t Znak0a[8]={wzor znaku}; uint8_t Znak0b[8]={wzor znaku}; Załadować do CGRAM znak a: lcd.createChar(0, Znak0a);...
Wystarczy dodać zmienną int i wszystko zostanie obcięte do całkowitych liczb: int lcdint=DHT.temperature; lcd.println(lcdint); Dodaj to czyszczenie linii spacjami lub lcd.clear();. Znaki specjalne nie zawsze są w tym samym zestawie, można sobie zrobić pętle i wydrukować wszystkie, by sprawdzić co jest w pamięci wyświetlacza do dyspozycji, lub zrobić...
Jeśli źle umieściłem temat to bardzo proszę o przeniesienie. Kod który wklejam : http://obrazki.elektroda.pl/7428430100_1...
Nie do końca rozumię tą linijkę: Zadeklarowany 500 znaków, w tym pierwsze dwa zainicjowane na '{', '\0' Ponieważ to jest w obszarze pamięci statycznej, dodatkowo wszystko te obszary są z mocy standardu wypełnione zerami, czyli dalej tez są zera (ale z innej zasady) Dodano po 3 Ta linijka: bingo
Nie, to drugie wyśle kody ASCII tych cyfr, a pierwsze wyśle znaki specjalne o kodach 5, 6 i 7, poza tym domyślam się, że każdy każdy println() wysyła jeszcze na koniec znak końca linii.
AVR ma mało RAMu i należy go szanować. Jeśli fragmenty są jasno wydzielone znakami terminującymi to nie ma sensu najpierw zapełniać cały bufor, a potem go ciąć, lepiej reagować bieżąco i od razu dopisywać kolejne znaki do właściwych "łańcuchów". O ile to możliwe radzę nie używać typu String, a wszystkie operacje wykonywać na tablicach znaków.
W linkach które podeslales nie ma nic o c_stringach. Wiedza ktora tam jest opisana jest podstawowa i ja posiadam. Masz rację wiedza ta jest podstawowa, aczkolwiek jej nie posiadasz.C-string jest to po prostu tablica znaków char , która reprezentuje ciąg znaków. [url=https://www.youtube.com/watch?v=ZGt... jest to w miarę dobrze opisane. Ostatnio...
Dawno w programowanie się nie bawiłem, zresztą to było w Bascom. Idea stosowana niezależnie od języka programowania, musisz zdefiniować tablicę znaków(fontów). A najlepiej własną bibliotekę do obsługi napisać z fontami. Wtedy wyświetlanie mogłoby wyglądać tak; wywołanie procedury, pozycja, znak. Nie musiałbyś za każdym razem definiować tablicy znaków...
(at)ElektrodaBot jak dodać większą czcionkę np. font16x16 do biblioteki arduino TVout? Bezpośrednia odpowiedź na pytanie - Aby dodać większą czcionkę (np. 16×16) do biblioteki Arduino TVout, należy przygotować własną tablicę danych (bitmapę) dla poszczególnych znaków i zaimportować ją do biblioteki jako czcionkę w formacie PROGMEM. - Następnie w plikach...
Ale przez to strobe 1-3 są połączone ze sobą, 4-6 również. Strobe aktywuje wzmacniacze wyjściowe dla poszczególnych grup grzałek i wykorzystuje się je do np. zmniejszenia poboru prądu. Dane wysyłasz szeregowo (384bity- 48 bajtów) i zatrzaskujesz je sygnałem Latch. Następnie aktywujesz Strobe na czas podany w DS i wyłączasz Strobe. Silnikiem przesuwasz...
Chodziło mi o to żeby to była jedna liczba, a nie każdy znak osobno. Nie wiem jak nazywa się taki zapis. Postać finalna 10922.
Kupiłem kilka Tuya IRC03, które służą zarówno jako odbiornik, jak i nadajnik podczerwieni. Moją intencją było wysłanie sygnałów do zestawu stereo Denon, aby można go było obudzić i przełączyć na właściwe wejście z innego pomieszczenia. Dane przychodzące z pilota wyglądają następująco: Przycisk ZAWIESZ: Informacje:IR:IR IR_Kaseikyo_Denon 0x314 0x0 0...
To nie ma prwa działać... dlaczego ten drugi plik czytasz inaczej niż pierwszy? Zastanów się co robisz... jaki sens ma to: ir[i] += bufor; Dlaczego dodajesz znak do znaku (to jest pojedynczy znak)? Char i byte/uint8_t to to samo. Czyli dodajesz kody ASCII tych znaków.
Dodaj na końcu wysyłanego napisu znak CR lub NL i w programie odbierającym czytaj napis do znaku który wysłałeś. Nie scala tego w liczbę 123 tylko w napis "123", możesz też zamiast robić "print" użyć "write" w Arduino, w jednej paczce wysłać zestaw różnych danych - liczby, napisy, tablice, CRC, jakąś strukturę danych po prostu, i w odbiorniku sobie...
W mikrokontrolerach jest wymagane właśnie dodanie znaku końca tablicy NULL czyli wcześniej wspomnianego "\0" kiedy piszemy program pod PC kompilator zazwyczaj dodaje ten właśnie znak automatycznie! Trzeba właśnie o tym pamiętać tworząc tablice mające przechowywać ciąg znaków o określonej długości...zawsze należy zarezerwować jeden znak więcej aby kompilator...
Czy korzystasz z tej biblioteki? https://github.com/coryjfowler/MCP_CAN_l... Tak, używam tej biblioteki. Nie ogarniam tych tablic char. Czy ktoś mógł by mi wytłumaczyć tak na chłopski rozum? Wszystkie kursy jakie znalazłem, operują na pojedynczych literach, i to rozumiem. Mam zmienną np: [syntax=arduino] char daneRx[8]; [/syntax] mogę do niej wpisać...
O widzisz wreszcie konkret 😀 Tak ale czy da się je przechwycić poprzez Arduino. PulseIn wychwytuje podobno od 10us tak piszą na stronie Arduino https://www.arduino.cc/reference/en/lang... Pilot to ja mam więc nadajnik posiadam tylko teraz chodzi o to by procesor rozróżniał złapane sygnały. U mnie przebieg jest zanegowany...
Sprawdzenie czy ciąg jest pusty powinno się odbyć jeszcze przed jakąkolwiek operacją na tym ciągu. Sprawdzanie tego za każdym razem mija się z celem. Poza tym używanie funkcji strlen do sprawdzenia czy coś jest w tej tablicy jest wysoce nieefektywne w przypadku długich nazw. Wystarczy if(*ssid).
W przykładzie wbudowanym w Arduino jest SerialEvent, w nim dowiesz się jak odebrać linię tekstu, czyli zakończenie w terminalu ma być znakiem końca linii i początek wiersza (standardowo). Taką linię tekstu parsujesz, zamiast tak jak jest w przykładzie odesłać odebrany tekst z powrotem. Deklarujesz dwie zmienne, przypisujesz do nich wynik parsowania,...
Teraz powinno być dobrze. Nie mam aktualnie za bardzo czasu, ale jak będzie trzeba, to opiszę zmiany przeze mnie wprowadzone. [syntax=cpp]#include <VirtualWire.h> #include <Wire.h> #include <LCD.h> #include <LiquidCrystal_I2C.h> #include <OneWire.h> #include <DallasTemperature.h> #define BACKLIGHT_PIN 3 #define ONE_WIRE_BUS...
Czy jakbym zrobił to w ten sposób, miałoby to sens? Nie ma sensu! Czemu służy "delay(3);"? Para ma iść w gwizdek? W ten sposób to nie wiadomo jak szybki będzie uC, delay "zabije" jego prędkość. Zmienna (tablica) "readString " ma jakiś rozmiar, tajemnicą jest jaki, ale większość Arduino ma 2kB (2048) RAM. Stos (ok20 bajtów zależnie od skomplikowania...
Problem jest taki, że diody "pokazują" dźwięk z 3-4 sekundowym opóźnieniem. Na początek przełóż strip.show(); za wewnętrzną pętlę for. Nie ma po prostu sensu wielokrotnie wywoływać przesył (który swoje trwa) dla jednej wartości height. A w pętli zostaną tylko mało czasochłonne operacje wpisu do tablicy w RAM (setPixelColor). Operacje w pętli loop,...
Nigdzie nie można znaleźć szkicu z polskimi fontami. W zasadzie to nie jest jakiś wielki problem z polskimi znakami. Jeśli masz jakikolwiek szkic działający w konfiguracji sprzętowej Twojego projektu, a nie ma on polskich znaków to najczęściej dorobienie ich obsługi nie jest trudne. Po prostu biblioteki od tego matrixa mają w sobie tablicę pikseli...
Kolega za jakiś czas sobie sam poradzi z parserem jak tylko zacznie więcej szukać w necie i analizować znalezione przykłady - będzie miał większą satysfakcję. Bufory nie są najlepsze, ale do prostych testów jak najbardziej wystarczą. W miarę zdobywania wiedzy znajdzie lepsze rozwiązania. W mojej ocenie jest na początku przygody. Swoja drogą można w...
1. Funkcję konwersji do hex-a możnaby zrobić w oparciu o LUTa (stablicowane wartości). Poniżej prosty przykład na PC-ta dla testów ale łatwo zaadoptować do arduino: [syntax=cpp]#include <iostream> using namespace std; void tohex(unsigned long val, char* buf) { const char* const lut16 = "0123456789ABCDEF"; // tablicę można przenieś do FLASH for...
Wyszukiwanie ręczne znaku z tablicy jest powolne. Nie rozumiem o czym piszesz. Coś całkowicie mieszasz i nie rozumiesz i próbujesz na chybił trafił coś sklecić (tak jak to w Arduino jest przyjęte). Dlatego nie lubię arduino a nie ze względu na sprzęt czy IDE.
Witam, Mam pytanie odnośnie "filozofii" wysyłania komend AT przez UART do urządzania obsługującego te komendy (w moim przypadku modemu G510). Jeśli wysyłam stringa "AT+CCLK?" to czy jeśli taki napis traktuję jako tablice charów, a następnie wysyłam pojedynczo każdy element tej tablicy, to będzie to funkcjonować ? Wiem że komendę powinno się...
Z racji tego, że z tablicami jest problem zmieniałem troszkę koncepcję. Czy jest możliwość mając np 3 Stringi : Tak, taka możliwośc istnieje ; te twoje stringi jak założyłeś w pytaniu; będą stałymi (z góry znane) i rezydowac w pamięci ROM. Utworzysz ‘array of arrays ’.. Jeżeli zechcesz je ‘uzmiennic’ i trzymac w RAM - to tego...
Proponuję format który sam z powodzeniem od wielu lat stosuje u siebie. Są to bajty oddzielone jakimś znakiem specjalnym - u mnie jest to dwukropek. dla wygody przy uruchomieniu początek komunikatu można uzupełnić o jakiś inny znak używany tylko raz. koniec komunikatu to standardowy dla arduino \n binarki sklejaj w bajty lub wordy jak ci wygodnie. Pamiętaj...
Nawet bez tych powyzej omawianych optymalizacji mamy do 45KiB danych do przeslania z ESP do przegladarki. Raczej nie sa to duze ilosci danych. Nie grzebałem dużo w zaawansowanym Javascripcie i nie jestem na topie z tego języka, ale ja raczej myślałem że do przeglądarki pomiary już idą jako tekst, a nie jako dane binarne. Czyli przykładowo taka Javascriptowa...
Teraz pytanie trudniejsze. Chciałbym, żeby SMS wysyłał się na kilka numerów telefonów. Proszę o podpowiedź jak zmodyfikować kod. Najłatwiej to powielić funkcję sendSMS, dodać jej kolejny numer oraz numer telefonu na który ma wysłać SMS-a. [syntax=c] void loop() { if(digitalRead(przycisk)==LOW) { sendSMS(); Serial.println("wysylanie SMS a "); delay(6000);...
Kod podany przez Ciebie działa. Jeszcze muszę potestować czy nie ma jakichś awarii bo teoretycznie w pliku tekstowym to mogą być tylko znaki ASCII. Jednak udało mi sie przez framework Symfony 2 odczytać szesnastkowy zapis tego przesyłanego pliku. I widzę że jak na razie nie ma problemu z bitami spoza tablicy ASCII. Klikam w pełni zasłużenie przycisk...
tablica znaków tablica znaków ascii tablica znaków wyświetlacz
sterownik bramek mosfet akumulator wózek melex komunikacja radiowa
zg40c zwrotnica zg40c zwrotnica
Opinie o prostowniku IDEA Sprint 20 Pro - funkcje i wady Transformator obniżający napięcie 10-20 kV: Wybór i parametry