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ć...
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
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.
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.
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...
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.
(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...
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.
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...
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...
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...
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).
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...
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...
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,...
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...
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.
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...
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...
Tego typu wyświetlacz zawsze jest multipleksowany. Oznacza to, że wprowadza się do rejestru przesuwnego całą linię kolumn 7szt.x8bit(HC595), następnie ją zatrzaskuje i wysterowuje tranzystor rzędu na określony czas, regulacja jasności. Linia sobie świeci a tym czasem procesor ma czas poskładać w RAM następną linię kolumn dokonując translacji znaków...
tablica znaków tablica znaków ascii tablica znaków wyświetlacz
głośniej wyłącza przekładniki prądu podłączyć transformator schemat
25q40clsip samsung 25q40clsip samsung
Fiat Linea – jaki olej do skrzyni biegów? Tutela Technyx 75W-85, specyfikacja, pojemności Silnik diesel/benzyna gaśnie po chwili pracy – spadek obrotów, objawy, diagnostyka