#retrocomputing #sbc #ciekawostki #arduino
#arduino
Zaloguj się aby komentować
Zaloguj się aby komentować
Elo mordziaki, jak ludzie potrzebują pomocy z #elektryka to zgłaszają się do #konstruktorelektrykamator
No to teraz sprawa się odwraca. Ja potrzebuję pomocy, pośrednio związanej z #elektronika. A dokładniej to #programowanie #arduino
Do rzeczy. Mam pestkę DS1971+F5 (PDF), komunikacja po 1Wire. Wewnątrz siedzi między innymi pamięć DS2430A (PDF).
Udało mi się odczytać adres tej pestki oraz zawartość pamięci.
Data: B9 39 0 1 1 70 3 9B 10 77 0 0 0 0 39 7
R=2 79 2 79 0 C1 0 0 0 0 3E F4 80 FF [... dużo znaków ...] F 10 1 41 56 52 20 49
Użyłem do tego kodu znalezionego gdzieś w czeluściach internetu.
#include <OneWire.h>
OneWire ds(2); // OneWire bus on digital pin 2
void setup() {
Serial.begin (115200);
}
void loop() {
byte i; // This is for the for loops
boolean present; // device present var
byte data[16]; // container for the data from device
byte addr[64]; // adress
present = ds.reset(); // OneWire bus reset, always needed to start operation on the bus, returns a 1/TRUE if there's a device present.
ds.skip(); // Skip ROM search
if (present != 0){ // We only try to read the data if there's a device present
//Serial.println("DS1971 device present");
ds.write(0xF0,1); // Read data command, leave ghost power on
ds.write(0x00,1); // LSB starting address, leave ghost power on
ds.write(0x00,1); // MSB starting address, leave ghost power on
Serial.print("Data: "); // For the printout of the data
for ( i = 0; i < 16; i++) { // Now it's time to read the EEPROM data itself, each page is 32 bytes so we need 32 read commands
data[i] = ds.read(); // we store each read byte to a different position in the data array
Serial.print(data[i], HEX); // printout in ASCII
Serial.print(" "); // blank space
}
Serial.println();
Serial.print("R=");
for( i = 0; i < 64; i++) {
Serial.print(addr[i], HEX);
Serial.print(" ");
}
Serial.println();
delay(1000); // Delay so we don't saturate the serial output
}
else { // Nothing is connected in the bus
//Serial.println("Non connesso");
delay(1000);
}
}
I teraz jest sprawa do ludzi bardziej obcykanych w programowaniu. Co zrobić by zmienić zawartość poszczególnych komórek pamięci?
Niby biblioteka OneWire.h ma komendę ds.write_bytes ale jak bym nie kombinował to albo błąd kompilacji albo nic się nie dzieje.
Ktoś ma pomysł jak to zrobić?
piorun dla zasiegu
Wszystko masz napisane w https://www.analog.com/media/en/technical-documentation/data-sheets/DS2430A.pdf
Najpierw piszesz do scratchpada 0x0F, podajesz adres zapisu, a potem lecisz z kolejnymi bajtami danych. Układ sam sobie inkrementuje wskaźnik swojej pamięci. Jak zapiszesz za dużo danych to się zapętli i będzie pisał od początku. Potem master, czyli Ty wysyła reset (czyli pewnie sygnał końca transmisji). A potem przepisujesz dane ze scratchpada do pamięci - copy scratchpad 0x55.
Tylko wciąż mam problem. Bo dane niby się zapisują. Ale w czasie odczytu zmieniaja się tylko dwa przedostatnie bajty. Może to jest suma kontrolna?
Mimo że wgram np 0x34, 0x65, 0x65, 0x60, 0x30 to nigdzie później w ciągu odczytanych danych nie ma takich wartości.
Zaloguj się aby komentować
Klient do mnie napisał że program się przestał kompilować. Okazało się że to przez ostatnią aktualizacje Blynka do wersji 1.3. Dodali czeka kompilacji który sprawdza czy zahardkodowano BLYNK_TEMPLATE_ID , BLYNK_TEMPLATE_NAME i od teraz nie mozna ustalać tych wartości podczas runtime ( nie żeby wcześniej było można ale przynajmniej tego nie sprawdzali i wszystko działało). Jak macie ten sam problem na zakomentujcie linijki ze zdjęcia w BlunkApi.h.
Btw nienawidzę tej liby. Jest koszmarnie zaprojektowana. Przypomina mi projekt grupowy robiony na odwal się.
#esp32 #arduino #programowanie #elektronika #embeded

Dużo rzeczy w embedded jest na odpierdol, byle szybciej, bez myślenia o przyszłości i najlepiej z użyciem przestarzałych technologii. Strasznie mnie to irytuje i jeśli kolejna moja praca to będzie rzeźba to się zacznę przebranżawiać
A dlaczego tych stałych po prostu nie zdefiniować na poziomie toolchaina (globalnie w cmake/makefile)?
To nie poprawi sprawy. Bo nie będziesz mógł ich zmienić w trakcie działania programu
Zaloguj się aby komentować
#arduino #diy
Zrobilem sobie spluczke do pisuaru na arduino + czujnik odleglosci
dzialalo dobrze ale czujnik padl po 2 miesiacach, zmienilem na nowy
nowy wytrzymal niewiele dluzej
prawdopodobnie zbyt czesto sie odpala 24/7 w petli co 5 sekund
Ktos ma jakis pomysl co dac zamiast tego czujnika? odleglosc badana do 50cm

Myślałeś może żeby zamiast 24/7 to aktywować czujnik przyciskiem? Mógłbyś go umieścić gdzieś nad pisuarem i naciskać żeby aktywować sensor ( ͡° ͜ʖ ͡°)
@bucz Wzbudzaj go fotorezystorem to nie będziesz musiał tyle próbkować
@pozdrawiam_was_ciule chlop z nudow za⁎⁎⁎al automat do splukiwania a ty mu radzisz wlaczanie go przyciskiem xD to czym by sie to roznilo od recznego splukiwania?
Zaloguj się aby komentować
Robiem co mogę aby ułatwiać ludziom wejście do świata espidf ale czasami ręce mi opadają. Niektóre rzeczy, takie jak zmiana IP, serwery DNS można zrobić za pomocą jednej linijki w #arduino IDE, za to w esp-idf wymaga to wielkiego zachodu. W dodatku na Internecie brak jest przykładów, a dokumentacja jest niewystarczająco czytelna. Podzielę się z wami jak obsłużyć CORS - czyli to z czym będziecie musieli się zmagać, jak zaczniecie używać swojego #esp32 jako serwera http, czyli jakby się wydawało bardzo pospolity use-case. Aż dziwne że nie ma do tego przykładów.
Czym jest CORS?
CORS (Cross-Origin Resource Sharing) to mechanizm, który umożliwia bezpieczne udostępnianie zasobów między stronami internetowymi pochodzącymi z różnych domen.
Należy pamiętać że 192.168.0.1/ oraz 192.168.0.1/endpoint to dwie różne domeny i po próbie wysłania czegoś z klienta(przeglądarki) na endpoint serwera(esp-ka) napotkacie się na błąd CORS.
W nomenklaturze frameworku Arduino problem ten można rozwiązać po prostu wywołując na instancji serwera metodę server.enableCORS(true), przed jego uruchomieniem(co wygooglujecie w minutę). Zauważycie wtedy że lecą jakieś dziwne requesty HTTP_OPTIONS, serwer odpowie jakimiś dziwnymi nagłówkami ale to zignorujecie bo wszystko będzie działać. I dobrze.
W esp-idf musicie te wszystkie rzeczy obsłużyć sami. Przed próbą wysłania HTTP_POST na serwer, przeglądarka wyśle na Wasz endpoint 192.168.0.1/endpoint zapytanie HTTP_OPTIONS na które musicie odpowiedzieć. Wystarczy umieścić w odpowiedzi 3 headery. Przykładowy handler obsługujący corsa.
static esp_err_t cors_handler(httpd_req_t *req)
{
ESP_LOGI(TAG,"OPTIONS cors handler");
httpd_resp_set_hdr(req,"Access-Control-Allow-Headers","*");
httpd_resp_set_hdr(req,"Access-Control-Allow-Origin","*");
httpd_resp_set_hdr(req,"Access-Control-Allow-Methods","*");
httpd_resp_send(req,"",HTTPD_RESP_USE_STRLEN);
return ESP_OK;
}
<br />
Dopiero po tej odpowiedzi przyjdzie właściwe zapytanie typu POST z danymi, które chcecie obsłużyć. Jak pod wpisem będzie 5 piorunów do napisze minimalistyczną apke(przykład) która będzie hostowała jakąś stronkę zbierającą dane i wysyłającą je do esp-ka
#programowanie #elektronika #raspberrypi

Można tagować #embedded
@Gitler Nie zgodziłbym się że server http na esp to pospolity use-case. Pospolitym use-casem jest to że esp jest klientem i przesyła dane na serwer, albo że esp jest serwerem i komunikuje się z klientem za pomocą socketów TCP/UDP. Serwer http to jakiś overkill na zasadzie prześlemy obrazek z kamerki, ale i tak nie podłączy się pod to więcej niż jedna osoba w tym samym momencie.
@Gitler dawaj wincy tego mięsa o esp32
Zaloguj się aby komentować
Czasami popadam w haule zakupowe i kupuje jak po⁎⁎⁎⁎ny. Kupiłem sobie nowe płyteczki #esp32 . Konkretnie esp32d esp32-s3-n8 i esp32-s3-n16. S3 jeszcze nie mam w swojej kolekcji także je sobie zostawię. Natomiast tych 32d mam od cholery dlatego egzemplarze zaznaczone szczałką zostaną umieszczone w skrytkach #geocaching na terenie #wroclaw .
Są tu jakieś osoby nieprogramujące/nietechniczne, które chciały by zobaczyć tutorial, krok po kroku jak zbudować sobie stacje pogodową/czytnik kart sd lub inne urządzenie ?
#arduino #programowanie #elektronika #rozdajo

Mam kilka płytek esp32 i chętnie bym z nich zrobił stację pogody z twoją pomocą
@Gitler oczywiście, że tak! Trzymam kciuki i chętnie skorzystam z materiałów!
Zaloguj się aby komentować
Wreszcie k@#%%! Udało mi się zaprzęgnąć wyświetlacz. Parę godzin się męczyłem, później dopiero zajarzyłem że na płytce LCD są zworki w postaci rezystorów SMD by ustawić tryb komunikacji... np na 4spi.
Wreszcie, jedna część z mojego projektu przetestowana. #elektronika #esp32 #raspberrypipico #arduino #micropython

@Klopsztanga Zostaw tak jak jest. Już nie kombinuj więcej.
@klopsztanga co ma byc efektem koncowym projektu?
@Klopsztanga jak długo renderuje ten obraz? Ekran to podświetlany e-ink?
Zaloguj się aby komentować
#elektronika #arduino potrzebuję czip typu rfid/nfc, który nie wymaga zasilania i byłby wykrywany z odległości 30/40cm, czy istnieje coś takiego?
@LM317T zwykły rfid 125kHz ma chyba zasięg 40 cm przy odpowiednim rozmiarze i mocy anteny czytnika
https://www.electrodragon.com/product/125khz-rfid-long-distance-module-40cm-serial/
Zrób otwieranie kodem i każdego kota naucz wpisywać inne hasło
@LM317T biorąc pod uwagę twoje komentarze, prostszą opcją może być brelok BLE, czytanie i filtrowanie siły sygnału (RSSI) po stronie podajnika. możesz do tego użyć dowolnego breloka BLE założonego na kota i ESP-WROOM32 w nadajniku (popatrz dobrze, bo są WiFi lub BLE+WIFi). z RFID może być ciężko, moim zdaniem nie tędy droga. Zastanowiłbym się też czy nie jest to wspomniany wyżej XY problem
https://allegro.pl/oferta/esp-32s-esp-wroom-32-esp32-wifi-bluetooth-nodemcu-8687383629
Zaloguj się aby komentować
Znalazłem super kanał o mikroprockach. W dodatku jest polski. Fajnie w końcu znaleźć jakiś quality content z tej dziedziny od rodaków.
https://www.youtube.com/@ELEKTRON1/videos
#elektronika #programowanie #arduino #esp32
Komentarz usunięty
Komentarz usunięty
Do kompletu: https://www.youtube.com/@_MINT/videos
HEJTO JEST SKURWIAŁE I NIE UMIE DODAWAĆ GUPICH LINKÓW K⁎⁎WA MAC
Zaloguj się aby komentować
Wziąłem się dzisiaj za implementacje libki wifiManagera pod esp-idf. Robię to bo jedyna sensowna czyli od tzapu nie działa na esp-idf tylko na arduino frameworku. Jest jeszcze libka od tonyp, którą nawet udało mi się uruchomić ale zawiera ona sporo błędów i od dawna nie jest rozwijana. Pytania:
-
Co oprócz łączenia z wifi i zbierania jakiś custom parametrów powinien zawierać wifiManager z którego chcielibyście korzystać ?
-
Czy po uzyskania połączenia z siecią web portal z konfiguracją wifiManagera powinien być dostępny czy powinien zniknąć ?
-
Czy zależy Wam na ładnym wyglądzie stronki wifiManagera czy wolicie prostą i toporną ale za to zajmującą mało miejsca
#esp32 #esp8266 #elektronika #arduino #programowanie

@Gitler arduino możesz jako moduł do esp-idf użyć, polecam, bo goście od espressif nad tym pracują i przechodzą powoli na licencje apache
@sorek skąd info?
@Gitler znam ludzi z espressifa którzy nad tym pracują
Zaloguj się aby komentować
Co to za gówno od chińczyka? Ktoś kojarzy ten mikrokontroler? Kamerka a9 here

usb dla skali. Chyba to jakiś bk7231t

A jaki jest problem?
wygląda podobnie

Zaloguj się aby komentować

Szybka analiza o się zmieniło w nowszych wersjach esp32
Podsyłam ciekawy filmik gdzie goścu porównuje starsze wersje esp od nowszych ( głownie s3). A czy wy macie jakieś ciekawe alternatywy dla esp32? Czy prograujecie w czystem c, c++, c++ arduino ide version czy może w micropythonie ? Zapraszam do dyskusji
#esp32 #esp8266 #micropython #embeded...
Dzien dobry.
Mam programik w arduino, ktoremu zmieniam argument funkcji delay (500-3600000) i wgrywam komputerem. Jak chce zmienic podlaczam sie pod kompa i ponownie wgrywam i tak w kółko.
Chcialbym aby ten parametr byl wprowadzany z ukladu i ewentualnie wyswietlany na ekranie, ale to drugorzedna funkcjonalnosc. Najwazniejsze kryterium to łatwość imlementacji (czyli nie wiem, na przyklad biblioteki standardowe). Łatwośc obsługi jest drugorzedna. Poradzi ktoś coś?
#arduino
@7502-6038 podłącz sobie potencjometr i reguluj delay za pomocą funkcji analogRead.
EDIT: tutaj przykład https://www.youtube.com/watch?v=4iuJ9g_Bf0w kodzik w opisie filmu
... albo wczytuj przez RS-232 - zależy, co Ci łatwiej. Przykłady w samej dokumentacji Arduino.
Swoją drogą - tak długi delay()? To się powinno załatwiać inaczej (na czas delay() mikrokontroler jest zatrzymany, a mógłby robić coś innego), np. poprzez różnicę dwóch millis().
@size
Fajnie, zaczynam ogladac. Widze, ze bede potrzebowal do tego wyswietlacz, zeby widziec, na ile sie ustawilo. Wyglada obiecujaco
@REXus
Istotnie, jak znajde drugie zastosowanie w miedzyczasie to bedzie to problem. Swoja droga i tak mam cos nie tak z czasem, bo jest czterokrotnie dluzszy niz zadany :). Pewnie mam board z innym taktowaniem wybrany, ale nic innego nie dziala niz ten co mam.
Zaloguj się aby komentować
Witam xD
Mam pośród moich elektronicznych śmieci wyświetlacz TFT coś koło 2,4” z Samsunga Solid.
Zaczalem się zastanawiać czy dałoby się to wykorzystać do jakichś projektow z #esp32 #esp8266 lub #stm #arduino .. Czy są jakieś adaptery do tego złącza? Jak obczaic takie rzeczy? Ktoś może ma doswiadczenie w tym? #elektronika #diy #kiciochpyta #embedded




@kajak98 Jak masz resztę telefonu, to najprościej byłoby się wpiąć analizatorem stanów logicznych i podsłuchać co się tam dzieje.
Patrząc na taśmę podłączeniową widzę 14 cienkich linii - może to jest standardowy DSI? 5 par przewodów (4 data + clock) rozdzielone ścieżką masy by się zgadzało.
https://en.wikipedia.org/wiki/Display_Serial_Interface
https://www.winstar.com.tw/pl/products/tft-lcd/ips-tft/mipi-display.html
https://www.mixdown.ca/redmine/attachments/download/290/MIPI_DSI_Specification_v1b_8320061508.pdf
@cec No właśnie nie mam analizatora, ale tak chętnie bym to kupił, telefon co prawda rozebrałem, ale mógłbym go poskładać xD Czy polecisz jakiś sprzęt? Bo nie powiem że kiedyś się mocno zastanawiałem nad kupnem tego, ale uznałem "że ah... rzucę to w kąt, nie będę z tego korzystał" a tak mi się zadaje, że wiele rzeczy łatwiej byłoby mi też tym debugować - zerkać np. co się dzieje w danym miejscu w układzie... Zastanawiałem się nad Saleae 8 kanałowym z alledrogo, chyba że coś innego polecisz? Tam jest jakaś sprytna aplikacja do tego, czy trzeba kombinować z jakimiś gównianymi chińskimi apkami?
@kajak98 mam takie coś https://nettigo.pl/products/analizator-stanow-logicznych-zgodny-z-saleae-8-kanalow i jest ok, da się tym podsłuchać np. transmisję SPI czy I2C i jak ustawisz w programie co na jakiej linii leci to Ci pokaże jakie bajty tam latają. Program Saleae Logic 2. Może jest jakaś wtyczka do DSI? Nie wiem co to jest: https://github.com/stawiski/Saleae-MIPI-DSI-LP-Analyzer
Pytanie tylko, czy ten analizator nie będzie za wolny dla tego wyświetlacza.
Zaloguj się aby komentować
Aktualizacja do mojego loggera/wyświetlacza Gauge.S - nowa wersja Standalone pozwala na zamocowanie jej gdziekolwiek oraz podłączenie do OBD2 przez CAN (jeśli samochód to wspiera).
Oznacza to, że teraz można ją podpiąć do dowolnego samochodu wyprodukowanego po 2007 roku (a i sporo wcześniejszych będzie współpracować!).
Nowa obudowa pozwala również na wykorzystanie ekranu w 100% bez ucięcia jakie było konieczne w wypadku modelu do #e36
Na dniach przygotuje film, który będzie opisywał możliwości oraz montaż tego urządzenia!
Pozostańcie stuningowani!
#bmw #samochody #chwalesie #elektronika #arduino #esp32 #programowanie

@zjemcimatke chyba jakiś ficzur do auta
@zjemcimatke https://www.youtube.com/watch?v=v5P81D6qujs
Logger/wyświetlacz do samochodu. Mocno pomaga przy tuningu lub analizie jazdy na torze
@sorek zawołaj jak będzie filmik
Zaloguj się aby komentować

Rosjanie używają popularnego mikrokontrolera zabawki do konstrukcji pułapek.
Widoczny na obrazku mikrokontroler to zabawka nazywająca się Arduino Mega. Specyfikacja tecjniczna:
Napięcie zasilania: 7 V do 12 V
Mikrokontroler: ATmega 2560
Maksymalna częstotliwość zegara: 16 MHz
Pamięć SRAM: 8 kB
Pamięć Flash: 256 kB (8 kB zarezerwowane dla bootloadera)
Pamięć EEPROM: 4...
#elektronika #arduino #esp32 #esp8266 #majsterkowanie #diy
Jaki czujnik Ph polecicie. Czujnik ma mierzyć Ph wody. Najlepiej jakby miał na wyjściu sygnał cyfrowy ale nie jest to warunek konieczny
@markxvyarov Dzięki za odpowiedź ale jest dla mnie ona zbyt ogólna, chodziło mi o konkretny model. Na razie mam od DFRobot ale szukam czegoś lepszego. Najlepiej jakby działał na 3.3V. Interfejs nie jest ważny. Czy to będzie I2C czy jaiś inny uart nie robi to dla mnie różnicy. Jedynie wolałbym żeby nie był analogowy tylko cyfrowy. Cena do 10k
Zaloguj się aby komentować
Dorwałem na złomie koło 20 starych kontaktronów jakoś z rok może dwa temu. Niedawno przeglądając internety trafiłem na wzmiankę o ekspanderze i²c i tak pomyślałem żeby wykorzystać Arduino do czegos więcej jak epapierosa #pdk
I tak powstanie chyba druga stacja pogodowa z tym że ta będzie bez wysyłania danych do internetu w porównaniu do mojej pierwszej.
Płytkę do ekspandera sam zaprojektowałem w eaglu. Potem wytrawilem, polutowalem i pokryłem cienka warstwą kalafonii rozpuszczonej w spirytusie a teraz zrobiłem bieda program do sprawdzenia czy będzie działać tak jak wymyśliłem kiedyś.
Jeszcze zostało zaprojektować we FreeCad ewentualnie zrobić z "przydasi" skrzydło które będzie się przekręcało wraz z podmuchem wiatru a magnes będzie zamykał na chwilę dany obwód od kierunku wiatru.
Zaloguj się aby komentować
![125Khz RFID Long Distance Reader Module, 40CM, UART [Kit] - ElectroDragon](https://s5.electrodragon.com/wp-content/uploads/2017/07/125Khz-RFID-Long-Distance-Module-40CM-Serial-02.jpg)



