#arduino

10
54
psalek

Ja preferuję jednak kulki. W różnych wydaniach.


Kiedyś w pracy handlowcy narzekali na ekrany dotykowe w jednym z naszych produktów. Dorzuciłem więc własne kulki, które można było uruchomić tajną kombinacją w GUI.

Pograli, pobawili się i okazało się, że przestali narzekać na ekran dotykowy

sierzant_armii_12_malp

@Shagwest Kiedyś napisałem swoją Galagę. Serio, Arkanoida też muszę?

Basement-Chad

Czy programista w ogóle ma prawo nazywać siebie mężczyzną?

Zaloguj się aby komentować

Wstałem rano, wypiłem kawę i stwierdziłem, że skoro i tak kupiłem od razu dwa MSGEQ7, to trzeba zmontować stereo. Kilka chwil drutowania, później parę zmian w kodzie i cyk, można robić dyskotekę.

Muszę sobie kupić szpule odpowiednich drucików do breadboardów i samemu powycinać odpowiednie długości, bo z gotowców nie da się nic estetycznego ułożyć. Trzeba rzeźbić z tego, co się ma, ani to kolorami zgrupować, ani sensownie poprowadzić. A nie chce tego zamykać w pudełku, bo podoba mi się taka widoczna elektronika.

https://youtu.be/_tA1uIFurLo

#arduino #esp32 #programowanie #muzyka
f18e49f3-1342-46ab-82be-102cae09eb7d
0

Zaloguj się aby komentować

Planuje dać #arduino do kuchni żeby robiło mi śniadanie (kiedys widzialem goscia z inteligentnym przedłużaczem do którego był wpięty toster i czajnik, że sie odpalały 6 rano)

Jakie przepisy jeszcze byłyby proste w przygotowaniu, które ogarne z arduino? Bo płatki z mlekiem bedzie trudno
10
entropy_

@redve możesz ugotować jajka w czajniku

Pirazy

@redve powaznie do wlaczenia czajnika i tostera potrzebne ci arduino? Kup sobie smart switcha albo smart wtyczke za 40zl i z poziomu telefonu ustawisz sobie o ktorej ma sie wlaczac i wylaczac, nawet zaleznie od pogody czy tego czy jestes na chacie czy nie

Zaloguj się aby komentować

Ja wiem, że nic wielkiego, ale jaram się jak dziecko

Zawsze chciałem podpiąć sobie spectrum analyzer pod gramofon, bo po prostu lubię ten efekt. Ale nie na tyle, by kupować jakieś cudaki. Co innego samemu zbudować. Prosty układzik na MSGEQ7, teraz tylko dopracować, zamknąć w obudowie, zmienić ekran na większy, podpiąć i jakoś fajnie zsynchronizować listwę LED i zapraszam na dicho

#esp32 #arduino #muzyka #diy

https://youtu.be/ImUbdEwjToQ?si=RjFGFUVXuT64eKBi
9
Zapster

Dobra nuta przy okazji

wombatDaiquiri

@Shagwest fajne, a jaki sprzęt grający wariacie?

GitHub

@Shagwest gratki! Daj znać jak się projekt rozwinie :)

Zaloguj się aby komentować

No więc jestem poważnym programistą wykonującym poważne projekty

https://youtu.be/NE0OFeCpsDM

Od jakiegoś czasu szukam sobie relaksującego hobby na zimę i wymyśliłem #programowanie. Przeszedłem od podstaw assemblera 6502 przez podstawy grafiki 2d i 3d, następnie podstawy pisania shaderów dochodząc do #arduino i #esp32 . Tu zdecydowanie zostanę na dłużej, bo zabawa jest przednia, a w domu już zaczynają się walać różne mikrokontrolery i układy. A i w pracy udało się wdrożyć banalny projekt. Polecam.

#atari rlz
5
szczekoscisk

Z fajnych bajerów jest ESP-MESH czyli espki tworzą swoją sieć mesh i komunikują się bezpośrednio z pominięciem routera.

Też możesz sprawdzić ESP-HOME. Odbiega to trochę od programowania bo tutaj generujesz soft na podstawie konfiguracji. Używany do automatyzacji domu, współpracuje z popularnym Home Assistant. I masz gotowe OTA (programowanie przez wifi)

Zaloguj się aby komentować

WifiManager status update

Udało mi się naprawić pare bugów i dodać do servera obsługę przez web socket. Dodalem funkcjonalność listowania dostępnych sieci wifi na stronce i aktualnie wygląda to jak na zdjeciu. Niestety się to nie ładuje po pierwszym wczytaniu strony a dopiero po kliknięciu przycisku "refresh". Problemem jest to że frameork twierdzi że podaje mu zły uchwyt do serwera i nie może znaleźć deskryptora soketu, który jest z nim powiązany. Dziwne ... Wiem, że w requeście, odpowiedzialny za inicjaliwoanie handshaku, który przychodzi od klienta(przeglądarki) jest uchwyt jakiegoś serwera ale zakładałem że jest to tem sam uchwyt, który został mi zwrócony jak tworzyłem instancje serwera? Czyżby to był bug frameworku ? Nie wiem. Dokumentacji do tego nie ma i zostaje mi tylko analiza kodu bibliotecznego
Następnymi krokami będą:

  • dodanie obsługi "custom parametrów" ( na wzór tego co oferuje wifiManager od tzapu)
  • minifikacja stronki ( ogólnie liba zajmuje ponad 1mb i musze to zoptymaliwoać pamięciowo ale na początek zaczne od tego)
  • dodanie logera na stronce ( taki bonus bo inne wifiManagery tego nie mają)

Jakie inne funkcjonalności moge jeszcze dodać ? Co ma konkurencja, lub czego nie ma a powinna mieć? Na koniec ankieta.

#esp32 #arduino #embedded #programowanie #diy
4869febb-eae6-4f7b-b109-dd6ddaca7e20

Czy w przypadku esp32(4mb flashu) 1mb zajęte przez wifiManagera to ZA dużo

18 Głosów
0

Zaloguj się aby komentować

#majsterkowanie #elektronika #elektryka #arduino
Jakie elementy polecicie do zabawy z arduino żeby sie pobawić jakimiś elementarnymi układami? Mam na myśli jakieś silniczki, układy cyfrowe, ale też tranzystory, ledy etc.
Coś na czym dam radę zmontować jakieś ciekawe zabawki / układy
8
Hejka naklejka

Zrobiłem libke do łączenia się z wifi na #esp32 . Jest to marna(narazie) podróba wifiManagera od tzapu. Zrobiłem ją tylko dlatego, że tamta działa tylko na arduino-esp32 a moja arduino-esp32 i na czysym espidf framweroku (oraz przez platformio). Narazie mam

  • Odpalanie wifi w trybie AP
  • Serer http ze stroną do podania loginu i hasła do wifi
  • Captive portal ( działa na linux i android, na innych platformach nie testowałem)
  • Zapis i odczy credentiali z pamięci Flash
  • Przejście do trubu STA lub AP_STA ( do wyboru przez uzytkownika)

Moje założenia to:

  • libka ma działać na zasadzie plug and play ( co jest trudne ze względu na kolejny punkt)
  • libka ma być niezależna od frameworku/IDE (nie ważne czy ktoś używa arduino, platformIO czy czystego espidf)

Pytanie:
Jakie dodatkowe funkcjonalności powinienem dodać ? Myślałem nad umożliwieniem dodawania przez użytkownika innych parametrów oprócz SSID i hasła do wifi do stronki i ich zapis. I jeszcze dodać na stonce logger. Czyli okienko gdzie bedą wyświetlać się logi z wykonywania programu bo czasami ktoś może nie mieć dostępu do portu szeregowego żeby je czytać jak urzadzenie gdzieś stoi.

#programowanie #arduino #elektronika #cpp
88ffa8f0-a80c-449c-af94-88c1a5c76a9d
7
fitoplankton

Nie znam się na ESP, ale czy ten kompilator nie ma stla? Czemu nie korzystasz tutaj z veców i Smart ptrów?

Zaloguj się aby komentować

Jak to jest rozwiązane w #arduino framework, że przed użyciem SIFFS nie trzeba tworzyć partycji spiffs za pomcą jakiś osobnych narzędzi ? Domyślam się że ardu robi jakąś statyczną analize kodu i jesli jest nagłówek od SPIFFS to automatycznie tworzy partycje ale to tylko moje domysły. Badał to ktoś? W espidf trzeba robić to ręcznie. Robie biblioteke pod espidf, która używa SPIFFS i jest to spora wada bo nie będzie działała na zasadzie plug and play. Jakieś pomysły jak to obejść ?

#programowanie #esp32 #esp8266
0

Zaloguj się aby komentować

Zauważyłem, że najczęściej zmieniam pracę tuż przed urlopem ( ͡° ͜ʖ ͡°)

Dzisiaj złożyłem wypowiedzenie w mojej firmie, w której pracowało mi się bardzo dobrze z inżynierami, niestety problemy firmy przejętej przez duże korpo - procesy, drabinka managementu, brak komunikacji i dziwne procesy..

Gwoździem do trumny były ostatnie milion mailów na temat zmiany słów "master" i "slave" na bardziej poiltpoprawne xD

Tymczasem zmiana na lepsze, podobna kasa ale za pół roku pracy! Tak, contracting - coś o czym marzyłem od dawna. Coś nowego też - rolety przeciwpożarowe - i to na mikroczipie PIC o którym wiedzę mam.. nie zerową (⌐ ͡■ ͜ʖ ͡■)

Nowy rozdział w życiu, w końcu zarejestrowana firma LTD i dużo niepewności. Ale jak to mawiają - kto nie ryzykuje ten nie je!

I pomyśleć że niecałe 5 lat temu zaczynałem od prostego #arduino :D

PS: Jak ktoś ma dobrego księgowego w UK (albo jest dobrym księgowym) to bardzo chętnie przyjmę rekomendacje

#programista15k #programowanie #uk #sorekabbey #chwalesie #elektronika
5363e6f0-03fc-4041-bca5-9831d5fbb003
14
Fox

A co to daje przed urlopem?? Straciłeś dni wolne za które by ci musieli zapłacić czy nie?

konrad1

Przyjemnie się czytało jakaś energię czuć, najlepszego

MrMareX

Ważne, że zmiana na lepsze i to na Twoich warunkach. Życzę powodzenia‼️

Zaloguj się aby komentować

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ć?
myoniwy userbar
8
cec

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.

myoniwy

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
94c8aa21-addc-4dc3-8be9-5e7280080f2b
5
ZohanTSW

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ć

cec

A dlaczego tych stałych po prostu nie zdefiniować na poziomie toolchaina (globalnie w cmake/makefile)?

Gitler

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
64ba18f4-0c9b-4724-9071-ab38ea755b90
19
pozdrawiam_was_ciule

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 ( ͡° ͜ʖ ͡°)

WolandWspanialy

@bucz Wzbudzaj go fotorezystorem to nie będziesz musiał tyle próbkować

Pirazy

@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
23991c85-70cd-4ada-8c47-7064673c0e33
20
ZohanTSW

Można tagować #embedded

Vuaaas

@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.

SUQ-MADIQ

@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
98c4a4b7-4d6c-450b-95c9-b643da2a52ff
11
Mario5508

Mam kilka płytek esp32 i chętnie bym z nich zrobił stację pogody z twoją pomocą

quagmire_rod

@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
1fd14fa3-e1e3-47f7-af1b-11a04506dc18
5
Darmozjad

@Klopsztanga Zostaw tak jak jest. Już nie kombinuj więcej.

bucz

@klopsztanga co ma byc efektem koncowym projektu?

Klopsztanga

@bucz radio-odtwarzacz do mojego mustanga. Chcę przerobić stare radio na nowoczesne, trzymając retro-styl na zewnątrz

aleextra

@Klopsztanga jak długo renderuje ten obraz? Ekran to podświetlany e-ink?

Klopsztanga

@aleextra To zwykły monochromatyczny LCD, który idealnie pasuje jako front do tego.


Renderowanie? Zależy od mikrokontrolera. W raspberry pico dosyć szybko ładuje assety, ale plan jest taki by podłączyc to pod raspberry pi zero w 2

6bcf43b3-5108-49ef-8b89-bca1237dd03a

Zaloguj się aby komentować

HolenderskiWafel

Zrób otwieranie kodem i każdego kota naucz wpisywać inne hasło

LM317T

@HolenderskiWafel albo każdemu założę obrożę w innym kolorze i może na tej podstawie wytrenowałbym ai

HolenderskiWafel

No ale po co trenować AI jak możesz wytrenować koty. Przecież każdy z nich ma w mózgu gigantyczna sieć neuronowa 🙂

kkdawid

@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ć