- Milyen házat vegyek?
- Fejhallgató erősítő és DAC topik
- Milyen videókártyát?
- Azonnali notebookos kérdések órája
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD Navi Radeon™ RX 9xxx sorozat
- Projektor topic
- Milyen billentyűzetet vegyek?
- Nvidia GPU-k jövője - amit tudni vélünk
- Milyen egeret válasszak?
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
cog777
senior tag
válasz
Tankblock #22696 üzenetére
Termeszetesen a TCP socket sajat Task-ban mukodik, mikozben mas thread/task ugyanugy hivja a malloc-ot. A C library malloc _NEM_ thread safe. Ez a problema. Tehat barmilyen ket Task, amibol malloc van hivva egyszerre, az problemas.
"Kérdés embedded környezetben miért szeretnél folymatosan memóriát foglalni"
Azert, mert szamtalan kulso library dinamikusan memoriat foglal memoriat, pl TCP socket vagy ArduinoJSON. Ez ellen nem lehet mit csinalni, hacsak nem lesznek megirva statikus allokaciora, ezt pedig a ceg altalaban nem fogja megengedni mert rengeteg ido, hacsak nem szuper kritikus helyen, nagyon celzottan keszul a rendszer, ahol a Misra C-nek megfelelo szabvanyt kovet a fejlesztes. Ami draga lesz. -
válasz
DarkByte #22690 üzenetére
vi. = Vietnámi aloldal. Gondolom helyi raktárakat, helyi árszabást listáz.
Valamikor pár éve elkezdett terjedni itt a fórumon, mert ha vki így linkelte az oldalt, miután rákattintasz, a böngésződ a vietnámi oldalon lokalizálódik, onnantól kezdve ez van, amit írtál. Terjed, mint a vírus, de valójában ártalmatlan dolog, a fenti jelenséget leszámítva. Bosszantó, mert oda kell figyelni, mire kattintok, bár az amúgy sem árt.
Jó lenne, ha eltűnne végre ez a hülyeség, ha mindenki odafigyelne mit linkel... -
Tankblock
aktív tag
válasz
cog777 #22695 üzenetére
Json és a TCP socket - rakd egy egy külön threadbe és Queue keresztül kommunikálj vele mint egy driverrel, nem fog összeakadni.
Emlékeim szerint stack külön van szálanként kezelve --> FreeRTOSKérdés embedded környezetben miért szeretnél folymatosan memóriát foglalni... az pont a legnagyobb pocsékolás. std::vector és egyébb tároló társai tudnak olyat h initkor lefoglalnak egyben nagyobb helyet és akkor nem emgy folyamatosan a memória foglalás sem....
std::vector<int> v; v.reserve(110); // Not required, but improves initial loading performance
lehet méretezni, meg lehet fix tömböt is használni..... -
cog777
senior tag
válasz
Tankblock #22694 üzenetére
Hat, azert van par library ami biztosab dinamikus memoria allokaciot hasznal, pl. ArduinoJson, TCP socket stb, siman hasznalnak malloc-okat parhuzamosan, amig a hardvert en kezelem manualisan, gyakorlatilag minden hardveren egy azt mukodteto forraskod/task/driver ul es az fel van keszitve a tobbszalas eleresre.
Atomic jo otlet, nem jutott eszembe, hogy mar azt is lehet hasznalni...Amugy kivancsi vagyok, hogy a memoria toredezettseg nagy problema-e, mert hozzaszoktam a johoz desktop-on
pl optional-ba csomagolt variant ertekeket kuldok at a queue-on egyik task-bol a masikba ...
-
Tankblock
aktív tag
válasz
cog777 #22693 üzenetére
Szerintem a Thread Safe probléma nem a memória foglalásnál lesz a legnagyobb probléma sokkal inkább azon erőforrásokkal (i2c, SPI) /memória területekkel amiket egyszerre szeretne több szál is elérni. ezeket mutexel, semaphorral,.... és megfelelő arhitektúra tervezéssel lehet kiküszöbölni. std::atomic erre kiváló megoldás lehet....
libek használatakor érdemes belenézni először a dokumentációba (megemlíti e a kívánt viselkedést vagy az ellenkezőjét), majd utána a kódba is, legtöbbször statikusan le van foglalva a kellő hely.
-
cog777
senior tag
válasz
Tankblock #22689 üzenetére
Ha az ember hasznal egy csomo library-t, akkor azok valoszinuleg hasznalnak dinamikus memoria allokaciot. Ha csak a sajat kodot kellene lekezelni, akkor egyszerubb lenne, de ugye az ember probal idot sporolni es felhasznalni mas lib-eket. Mas megoldast annyira nem ismerek mint megcsinalni a malloc-ot es a free-t thread safe-re.
-
DarkByte
addikt
Hmm, de. Desktop-on még nem csináltam meg az átállítást és ott vi.aliexpress.com volt. Hiába írom át www.aliexpress.com-ra akkor is redirect-elt a vi.aliexpress.com-ra.
Amint váltottam currency-t HUF-ra jó lett. Utána ha visszaállítom megint EUR-ra, továbbra is jó és a Choice-os item-eket is be tudom tenni checkout-ba, immár Euróban.
Akkor itt valami érdekesen beragadt párunknál session-be, ismerősöm is halál ugyanezt tapasztalta.Már kezdtem azt hinni direkt csinálják, mert így az Ali vált valutát és azon van némi extra hasznuk, de ezek szerint egyszerűbb a megoldás.
Amúgy mi ez a vi.aliexpress.com? Mit rövidít a vi?
Köszi a tippet!
-
Tankblock
aktív tag
válasz
cog777 #22684 üzenetére
Az a kérdésem mire szeretnéd használni ezt.
HA szálakból szeretnél folyamatosan memóriát foglalni akkor azt lehet mutex segítségévrl kölcsönösen kizárni h a new(), delete(), malloc, free, függvények ne akadjanak össze. Azt azért gondold át hogy ez a megközelítés kell e neked, mert van sok másik megoldás is.
-
-
cog777
senior tag
Hasznal valaki FreeRTOS alatt thread safe memoria allokaciot? Valamit modositani kell hogy thread safe legyen, azt probalom kiokoskodni.
Itt olvastam, ez eleg?extern "C" void __malloc_lock(struct _reent *REENT)
{
vTaskSuspendAll();
}
extern "C" void __malloc_unlock(struct _reent *REENT)
{
xTaskResumeAll();
}
Irnak vallami newLib-rol is, nem tudom ez kell-e? -
ViZion
félisten
válasz
Wolfram #22679 üzenetére
Nálam 30 cm-re van egy fullra járatott 4 antennás routertől, beamforming meg minden bekapcsolva...
Viszont lehetett ott nem stabil táp, vagy rossz kód, stb...DarkByte: kb. 2-3 hetente rendelek vmit... nem volt még ilyen, h nem szállítanak. Milyen cuccok ezek, beállítások jók? Néhányan ilyen vietnámra állított linkeket osztanak, lehet az a baj?
-
DarkByte
addikt
Sziasztok!
Aliexpress-ről egyre nehezebb bármit is rendelni, mert a legtöbb tételt nem szállítják EU-ba, főleg a Choice-osokat.
Van még esetleg DIY kínai elektronikai kütyükből nagyobb kínálat valahol, ahol érdemes nézelődni?eBay-en szoktam még keresgélni. Banggood elég limitált és drága is.
ViZion: simán keresőből, akármilyen találat aminél a "choice" címke ott van "This product can't be shipped to your address. Select another product or address."
Látszólag nem egyedi eset. És a találatok nagy többsége choice egy ideje.Újraregisztrálást olvastam mint trükk, de még nem próbáltam ki.
-
válasz
cog777 #22676 üzenetére
Nem biztos! Mivel ezek passzív IR szenzort tartalmaznak, amik az emberi test "hőjelére" aktiválódnak, nem mindegy az se, hogy hol, milyen környezetben, milyen körülmények között használod! Ha a háttérben erős napsugárzás van, vagy ha télen vastagon fel vagy öltözve, az elfedi a hőjelet, és a szenzor nem fog látni téged. Ez nem a szenzor hibája, hanem korlát.
-
cog777
senior tag
Ismer valaki mozgas detektalast segito library-t vagy algoritmust ami ESP32-on mukodik? Az ArduCam kamera kepet szeretnem felhasznalni. Gondolom valamennyi pixel valtozast eszlelnek.
Ha nincs semmi otlet, akkor a kovetkezot probalom meg:
kis felbontasban (VGA) eltarolom az elso kepet, majd a kovetkezot osszehasonlitom az elozovel mennyi pixel valtozast eszlelt. Lehetne pl a pixelvaltozast is hangolni, pl RGB ertekeknel csak ha 10 feletti a valtozas, az jelenti az igazi pixelvaltozast, kulonben figyelmenkivul hagyom.
A kis PIR-em nem igazan megbizhato, volt hogy semmit nem erzekelt. Mikrohullamuhoz mozgaserzekeleshez most jelenleg nincs idom.
A kameras mozgaserekelesnek a nagyobb energiafogyasztas a hatranya a PIR-hez kepest... -
ViZion
félisten
Valaki itt ajánlotta az ESP32-C3 Supermini-t (Pick 3-ban csak 743 Ft). Ezután már a Wemos is hatalmas... egy UNO már múlt századi technikának hat. OK, analóg pinek meg mittomén, de nem tudnék akkora MCU-val mit kezdeni. Egy Supermini már kipróbálva, beüzemelve ESPHome-al, jön az újabb.
-
Undoroid
őstag
válasz
Arabiata #22665 üzenetére
Egy kicsit furán hangzik a kérdésed! Most, akkor mit szeretnél? Milyen elektronika van az UNO után? Milyen áramfelvétellel? Az egész, így egy kissé ködös!
Ha eleve dobálva lesz a cucc vagy elázhat vagy akármi, akkor lehet, hogy egy jobb minőségű szárazelemmel jobban járnál és "csak" egy normális csomagolással túlélhetne mindent...
Mi lenne ez a célja a cuccnak, amihez UNO szükséges egy airsoft játékhoz?
-
Arabiata
újonc
Sziasztok, Uno Rev.3-hoz milyen biztosítékot tegyek egy 7.4 V / 1300mA táphoz? Köszi
-
Postas99
senior tag
válasz
JulianSinulf #22659 üzenetére
Nagyon köszönöm!
a HA-n már találtam valakit aki nulláról képes elkészíteni az ötletemet. Felveszem vele a kapcsolatot.Igen sejtem, hogy elsőre valószínüleg nem biztos, hogy minden stimmelni fog.
-
JulianSinulf
őstag
válasz
Postas99 #22658 üzenetére
A "3D nyomtatás" témában hamarabb lelsz valakire, aki segít. Illetve van is írva ott valahol, hogy hol kell keresni a megfelelő embert.
Én is szívesen segítenék, de szerintem elég messze vagy innen a Chiemsee mellől. És elsőre nem mindig szokott minden klappolni vagy jön még egy-két ötlet, észrevétel a dologgal kapcsolatban. Szóval általában több példány is kell. Hacsak nem valami bejáratott dologról van szó.
-
Postas99
senior tag
Még valami, hogy elakadtam a szemenkétni kutyatáp adagoló és nedvesítóvel.
A fizikai kivitelezés ezen része számomra nehezen megy. A szoftver kész.
Ugye nem szeretnék a fillérb@szó indiai megoldásokat előnyben részesíteni és cipősdobozból felépíteni az egészet mégis csak egy 6 Kg-os kutya fog felállni rá támaszkodva. és precízen megkéne oldani hogy minden illeszkedjen.Még mindig keresek fizetős 3d nyomtatási megoldást.
-
Postas99
senior tag
válasz
Undoroid #22655 üzenetére
Szia!
Nem, nem, nem az enyém az oldal... tavaly itt már javasoltam, hogy érdemes ott is olvasgatni... az ott levő leírás végett vettem elször a CH552-ből néhány darabot egy szellem hangot adtam ki vele és egy vibra motort rezegtettem meg villogtattam 2 ledet vele. Ez egy lepedő szellem volt egy rugós állványon... A keresztfiammal együtt raktuk össze, halloweenre.
Majd innen vettem ötletet arra, hogy kipróbáljam az LGT8F328P-t ez pedig egy atmel 328 klón ami annyival másabb (nem mondanám hogy több de van fejlesztett funkció benne) hogy van 80mA-es kimenete meg egyéb extrák.
Minden szart szeretek kipróbálni, max 1-2 darabot vezek belőle, ha nem jó semmire akkor megy az asztal fiókba, valamikor meg előveszem.
Visszatérve a terrárium vezérlőre:
Nem LVGL9-et használom, így kicsit barchoba volt az egész, majd a V3 már azzal készül, ez jelenleg a V2 a V1 pedig a szöveges volt.
Minden kép amit benne van a kódban az 565 kódolással van és az összes PROGMEM-ben van.
A font amit használok a páratartalom és a hőmérséklet kijelzésre egy FreeSansBold24pt7b, sajna ennél nagyobb nincs és nem is találtam másikat.
A hold mint éjszakai üzemmód egy 64x64-es kép, a nagy képek 64x64-esek, az állatok és az alsó sorban levő működés jelzők balról jobbra - világítás, fűtés, párásítás, szellőztetés. Ezeknek a beállításához külön menük vannak, éjszakai-nappali üzemmód, minimum maximum hőmérséklet és páratartlom beállítás, és a szellőztetés 5 különböző időpontban ki be kapcsolással és engedélyezéssel.
Az állatok: kaméleon, iguána és kígyó, az állatok ikonja teljesen felesleges csak díszitő elem, ki is kapcsolom mert zavaró sok infó a kijelzőn.Udoroid:"Az alsó sorban levő ikonokat annyira változtatnám meg, hogy ha aktív, akkor van szín, ha nem, akkor szín nélküli és halványabb lenne! Így nem kellene mellé kiírni semmit és több hely maradna." --- Ez nagyon jó ötlet, mert akkor a mértüket is nagyobbra lehet venni és nem kell olvasgatni hogy mi történik.
A hold ikont arébb teszem mert tényleg vizuálisan nem jó helyen van.ViZion:A Gauge-ot valőszínüleg a V3-ba beteszem, ezt a V2-t lezárom. Amióta mutogattam, hogy most épp mit csinálok már a harmadik ember kérte hogy rakjak neki össze egy ilyet, mindenkitől jött egy ki plusz ötlet, hogy ő mit szeretne. Eddig minden benne van. A jelenlegi kijelző egy 2,4 collos méret 240x320 nem nagy, de ma megérkezett egy 3.2-es méret, az már eléggé olvasható oda elég lesz 2 gauge, meg az előbb említett szükés szines megoldás a vezérlésről.
Azért zárom le, mert akkor ha elkészülök a V3-al addigra mindenki továbbadja az infót és majd lesznek mások is.
Pont ma elkezdtem a halloween-i cuccokat összekészíteni.
Ma szét vágtam egy mozgó szemű (alvós) baba szemgolyó tartóját, megvan hogy hogy működik, a szem tetejébe kissé átlátszó tehát lehet bele piros ledet tenni ami az íriszen keresztül tud majd világítani, plusz a szervó motor majd tudja nyitni csukni a szemét is.
Meg valami creepy éneket is fog énekelni.. rendeltem még plusz szemeket is azokat csak random fogom mozgatni a sötétben, sárgás szemvilágítással.
plusz most loptam ötletet egy bányászlámpa lidércfény megoldásra is.
Az ötletek megvannak..
Csak végre lenne időm mindenre... -
ViZion
félisten
válasz
Postas99 #22654 üzenetére
Teljesen szubjektíven, a saját tapasztalataim alapján...
Gyakorlatilag két fontos infó van, azokat emelném ki. Gauge megfelelőbb, mert azt máshogy dolgozzuk fel, a számszerű érték csak akkor érdekes, ha a zöld tartományon kívül van. Csak mintaként egy netes bármi:
A kezdeti lelkesedés után senkit nem fognak érdekelni az ikonok, senki nem olvassa le az adatokat... ami baj a kis jószágoknak...
Viszont egy mutatóra egy hónap múlva is ha csak rápillantasz, már látod, h OK-e. Ezt lehet kombinálni Undoroid villogós javaslatával.
Pár saját kép, h ami fontos, azt ki kell emelni, lényegteleneknek meg kb. mindegy egy hét után...
-
Undoroid
őstag
válasz
Postas99 #22654 üzenetére
Próbálok (magamnak is) segíteni mindenkinek, aki még csak ízleli a dolgokat. Ez a link akár belekerülhetne a Téma összefoglalóba!
" Valamiért én már ismertem ezt az oldalt. " Ez a mondatod úgy hangzik, mintha a Te oldalad lenne...
...ami a Te írásaidat és tapasztalataidat tartalmazza! Neked írtam egy rövid visszajelzést ott?
" Adjatok kérlek egy visszajelzést " Szerintem erre nem nagyon van szükség, mert mindenkinek más az ízlése! Teljesen jól néz ki, nem kevés munkád lehet benne!Ha már kérdezted, akkor legyen:
- Az első sor, bal ikonja (hold) lehetne egy pár pixellel nagyobb.
- Mellette jobbra a páratartalom szintjének 'négyes' száma egy kicsit különbözik a többitől! A mértékegységek jelölése pedig nagynak tűnik...
- A három hüllő alig ismerhető fel! Az első (balról) egy kaméleon, a második nemtommi', a harmadik pedig egy kígyónak tűnik. A funkcióik számomra nem világosak!
- Az alsó sorban levő ikonokat annyira változtatnám meg, hogy ha aktív, akkor van szín, ha nem, akkor szín nélküli és halványabb lenne! Így nem kellene mellé kiírni semmit és több hely maradna.Amin még módosítanék:
- A két mért érték, ha nem megfelelő, akkor pirossal lenne jelölve vagy villogna, hogy nagyon hamar be kellene avatkozni!
- Ha minden érték rendben van, akkor x idő után levenne minden kijelzett feliratot a kijelzőről és csak az idő lenne látható középen, minimálisan megvilágítva. (Akár egy LDR-el szabályozva a fényerejét!)Természetesen visszatérne minden a normál helyzetbe az első kijelzőérintésre!
-
Postas99
senior tag
válasz
Undoroid #22653 üzenetére
Köszi mindenki nevében!!
Valamiért én már ismertem ezt az oldalt.
Végére értem a terrárium vezérlőnek is.
[ilyen lett]Meguntam, hogy kvázi szöveges a kijelzőn megjelenő összes infó, inkább nekiálltam grafikusan is megoldani a dolgokat. Vadásztam egy halom ikont hozzá.
A télapó easter egg lesz. Majd csak adott napon fog megjelenni, addig ott nincs semmi.
Nem csak télapó van hanem egyéb is.
A hüllők grafikája valószínűleg már sok a képre és zavaró is. (számomra nem), de most látom hogy túlzsúfolt lett.
Adjatok kérlek egy visszajelzést, hogy inkább anélkül vagy hüllő grafikával lenne átláthatóbb. Nem szükségszerű megjeleníteni.
A többi ikont is próbáljátok felismerni. Csak azért kérem, hogy elsőre értelmezhetőek-e az ikonok.
Minden kritikát szívesen fogadok. -
Undoroid
őstag
Sziasztok!
Újabb hasznos oldalt találtam! Használjátok egészséggel: STARDUINO Arduino főleg kezdőknek...
Itt is köszönöm Bagi Zoltánnak azt, hogy megosztotta a hasznos tapasztalatait!Nálam egy kicsit furán működik az az oldal, mert nem látszanak a menüpontok (fehéren - fehérrel jeleníti meg őket) de a megfelelő helyre irányított egérrel szerencsére kiírja!
-
cog777
senior tag
Na, mukodik az ArduCam Mini OV2640 kepkeszites, erdemes az Arducam Mini LowPowerMode peldat megnezni. Egesz jo kepet keszit! Orulok ennek a kameranak.
Telegram-ra feltolteshez pedig egy olyan peldat erdemes nezni ahol 1KB-onkent tolti fel a telegramra. A beepitett pelda nekem crash-t okoz.
A ket peldat ossze kellett mixelnem, mert az utobbi telegrammos nem hasznalja az SPI-t.
Problemak voltak:
- Arduino Nano ESP32 bootloader nelkul jott (1.5 het, kabel problemat gyanitottam)
- telegrammos peldaban nem zartam le az atvitelt, igy nem is erkezett meg egy beepitett pelda kep
- soros porton atvitelkor az egy szamjegyu ertekek hexaban ervenytelenek voltak pl 0x00 helyett csak 0x0 lett atkuldve, igy a konvertalo progi ami lementette binarisban ervenytelen kepet mentett le.
- teszt kep meretet hasznaltam fel a rendes kamera kep merete helyett.Na, kb 3 het utan el kezdett mukodni
Fejlesztem tovabb FreeRTOS alapokon az okos otthoni rendszeremet. -
cog777
senior tag
Valakinek mukodik a kep kiolvasasa az ArduCam Mini-bol? OV2640-os modul van meg.
Valamilyen adathalmaz jon ha elinditom a kiolvasast, de az nem JPEG kep.UHhh, bena vagyok. Valaki mondja meg hogyan kell a programkod formazast hasznalni?
A kivalasztom es beillesztem modszer nem mukodik.
Inicializalas:myCAM.set_format(JPEG); myCAM.InitCAM(); myCAM.OV2640_set_JPEG_size(OV2640_1600x1200); delay(1000); myCAM.clear_fifo_flag(); Serial.println(F("Camera initialized."));
Capture inditasa:
// Start capture myCAM.flush_fifo(); myCAM.clear_fifo_flag(); vTaskDelay(1000 / portTICK_PERIOD_MS); myCAM.start_capture(); vTaskDelay(1000 / portTICK_PERIOD_MS); while (!myCAM.get_bit(ARDUCHIP_TRIG, CAP_DONE_MASK)) { vTaskDelay(100 / portTICK_PERIOD_MS); }
uint32_t length = myCAM.read_fifo_length(); image_size = length; Serial.print(F("Captured image size: ")); Serial.println(String(length)); image_buffer = (unsigned char *)ps_malloc(length * sizeof(unsigned char)); myCAM.set_fifo_burst(); uint8_t temp = 0, temp_last = 0; int idx = 0; myCAM.set_bit(ARDUCHIP_GPIO, GPIO_PWDN_MASK); vTaskDelay(100 / portTICK_PERIOD_MS);
while ((temp != 0xD9) | (temp_last != 0xFF)) { temp_last = temp; temp = myCAM.read_fifo(); Serial.print(String(temp, HEX)); image_buffer[idx++] = temp; delayMicroseconds(10); }
myCAM.clear_fifo_flag(); -
JohnnyX
őstag
Hali!
Jelenleg gmail-t használom értesítés küldésre időnként az arduinóval, ami szolgáltatás ha jól értesültem róla, szeptemberben megszűnik a harmadik féltől származó program használata. Outlook.com-tól is kaptam már levelet erről. Lesz erre majd megoldás?
-
Postas99
senior tag
Sziasztok!
Szokta it valaki használni a Preferences opciót ESP32 esetén?
Felettéb jól működik -
cog777
senior tag
válasz
cog777 #22640 üzenetére
Na mit szivtam... mar a vegere rajottem hogyan kell feltolteni egy programot, de zavart hogy ki-be kellett huzkodni a csatlakozot, reset gombot nyomogatni stb hogy feltoltsek barmit.
Egyszer csak bevillant, toltsem fel a BOOTLOADER-t! Es voala, el kezdett mukodni a debugger is, nem csak a feltoltes es futtatas.
Almomban sem gondoltam hogy bootloader nelkul jon
Most tokeletesen mukodik! -
daninet
veterán
válasz
JulianSinulf #22638 üzenetére
Köszi, holnap ránézek. Ez egy master-slave dugalj kapcsoló, csak annyit kell megmérnem, hogy 0.1A-nél több fogyasztás van-e rajta aztán kattintom a relét. Igazából ha nagyon szeretném már az analóg kiolvasott értékből ezt ki tudnám találni, megterhelem és beállítom. De saját lelki békém miatt jó lenne ha a matek is rendben lenne
-
JulianSinulf
őstag
válasz
daninet #22631 üzenetére
Szia!
Anno foglalkozgattam a témával.
Ez eleve nem olyan pontos, kell neki egy szoftveres korrekció is, akkor pontosabb lesz.
Az 5V vs. 3V3 még torzít is, ott eleve be kell állítani egy korrekciót a feszültségosztó miatt.
És az ESP ADC-je sem olyan jó, az arduinoké jobb.
A fogyasztás méréséhez a feszültséget is mérni kellene, ami egy plusz áramkör lenne.
Inkább vettem pár Sonoff S60TPF konnektort. Ez is ESP-s de nem nekem kellett bíbelődnöm vele.
A szórás az ilyen mérőknél meg akkora, hogy egyikkel sem akarok tizedwattokat mérni. Sőt, még 10W léptékben is pontatlanok egymáshoz képest. A terheléssel a különbség meg csak nő.Nálad a programban most az van, hogy megméred a szenzor osztott feszültségét, amiből kivonsz 2,5-öt, majd megszorzod tízzel.
0A terhelés esetén a modul kimenetén 2,5V-nak kellene lennie. A feszültségosztó miatt ez eltolódik, így nem számolhatsz 2,5-tel. Vagyis az ACS_Offset értéke hibás.
1,667V körül kellene lennie az A0 lábon terheletlenül, ha a modul kimenetén 2,5V van és tényleg 1k(felső a rajzon) és 2k(alsó a rajzon) az osztóellenállások értéke.
Ha a modul kimenetén 5V van, akkor az A0 lábon 3,33333V-nak kellene megjelennie. Vagyis a VREF inkább 3,333V, nem 5V.
És szerintem az áram számításánál egy osztás kellene a zárójeles műveletek közé, nem szorzás. Nem légből kapom, hanem egy példaprogramot nézek.
És úgy jobban is közelít az 5W/230V izzó áramfelvételéhez az érték. -
válasz
cog777 #22634 üzenetére
Na most néztem már utána, mi ez a nano esp. Ez egy esp32 s3 chip, natív usb-vel, nincs rajta usb-ttl chip. Valami usb-otg beállítást kell módosítani, hogy működjön a serial port, de most nem jut eszembe mi az.
szerk: ez: [kép]
Esetleg válaszd ki a generic esp32-s3 lapot a nano helyett és próbáld úgy.
Amúgy a debug lehet, hogy csak a tx1-ről fog működni külső usb-ttl adapterrel, bár nem akarok hülyeséget mondani. -
cog777
senior tag
válasz
Janos250 #22629 üzenetére
Kozben tortent elorelepes: ha ESP32 board-okbol valasztom ki az Arduino Nano ESP32-t akkor lefordul, de nincs debug. Ha Arduino Boardok kozul valasztom ki, akkor egy csomo error-t ir ki a warningok miatt az ArduCam library-ra. pl ez miatt: -Wno-error=unused-variable
Lehet modositani a platform.txt-t?Esetleg hasznalom az altalanos ESP32-t es akkor nem hasznalom a debug-ot ...
"Lehet, csak újabb verzióval kellene fordítani, azaz az Arduino keretrendszer újabb verzióját használni!"
Hm, hogyan tudom upgradelni?
**************
Mas problema. Eredeti Arduino Nano ESP32-ot hasznalva nem mukodik a soros port. Nem ertem. Ha mindenfele szinben villog a mikrokontroller LED-je, akkor nincs soros port a Windows alatt, ha dupla reset gomb megnyomasaval csak zolden, akkor fel tudom tolteni a firmware-t, de nem mukodik a mikrokontroller.
NAGYON furcsa, mert egy klon Lilygo ESP32-vel nem volt ilyen keveres, egybol mukodott feltoltes utan a soros port, igaz - linux alatt probaltam. Most Windows alatt nem mukodik. Azt hiszem, telepithetek linuxot kiprobalni hogy ott mukodik-e. -
JozsBiker
aktív tag
válasz
daninet #22631 üzenetére
Próbálkoztam régebben hasonlóval áramkörrel, de a részletek sajnos már nem maradtak meg. Az ACS712 nemtom ilyen szempontból hogyan áll, én ZMCT103C -vel szerettem volna megoldani, de kiderült hogy már a kapcsolástechnikájából következően nem lehet tőle várni számottevő pontosságot. A kimenetén ugye le kellene képeznie a bemenő jelalakot, nos a ZMCT103C erre nem volt képes maradéktalanul. Azt javasolnám hogy ha még nem tetted próbáld megnézni szkóppal a ACS712 kimenetét.
Az is fontos, hogy ha az Arduino program nem trueRMS -es csak ohmikus terheléssel próbálkozz ( izzós lámpa, régi forrasztópáka ), különben elvisz az erdőbe.Néhány hasznos link:
230Voltos készülékek fogyasztás mérése
Measure Any AC Current up to 30A with ACS712 and Arduino
AC Power Theory - Arduino Maths -
daninet
veterán
Sziasztok!
Segítsetek ACS712 20A szenzorral és ESP8266-al.Összedrótoztam így:
Egyelőre a relét ignorálom, az nagyon egyszerű ha már valamennyire pontos a mérés.
Az ACS szenzor 5V-os, a wemos 3v3. Wemos előtt van egy step down modul.Próbáltam sok féle mintakódot, tele van vele a net, de egyik sem az igazi. Maradok a legegyszerűbbnél és ebből kiindulva talán rájövünk. A gond az, hogy a mérések nagyon rosszak.
#define CURRENT_SENSOR_PIN A0
// ACS712
const float VREF = 5; // Referencia fesz (Vcc)
const float ADC_RESOLUTION = 1024.0; // 10-bit ADC
// ACS712 kimenete Vcc/2 terhelés nélkül (?)
const float ACS_OFFSET = VREF / 2;
const float MV_PER_AMP = 100; // 20A ACS712, 100mV per A
void setup() {
Serial.begin(115200); // Start serial
pinMode(CURRENT_SENSOR_PIN, INPUT);
}
void loop() {
// kiolvas
int analogValue = analogRead(CURRENT_SENSOR_PIN);
// konvertál
float sensorVoltage = analogValue * (VREF / ADC_RESOLUTION);
// számol
float current = (sensorVoltage - ACS_OFFSET) * (1000 / MV_PER_AMP);
// Print
Serial.print("Analog Value: ");
Serial.print(analogValue);
Serial.print(" | Voltage: ");
Serial.print(sensorVoltage, 3);
Serial.print("V | Current: ");
Serial.print(current, 3);
Serial.println("A");
delay(1000);
}
Terhelés nélkül az alábbit olvasom ki:
Analog Value: 13 | Voltage: 0.063V | Current: -24.365A5W próbalámpával:
Analog Value: 548 | Voltage: 2.676V | Current: 1.758AMultiméterrel rámérve az A0 lábra 1.65V-ot mérek mikor világít a próbalámpa.
Szóval valami nemjó és nem tudom mi lehet az. -
Janos250
őstag
-
cog777
senior tag
Megcsinaltam a programomat, kivalasztottam az Arduino esp32 board-ot, engedelyeztem a c++17-et, letoltottem az Arducam library-t, majd kaptam egy csomo forditasi hibat a konyvtaron pl inicializalatlan valtozo stb. Valahogy nem szereti az Arducam konyvtar a c++17-et, igy viszont irhatom at a progimat. Lehet bizonyos konyvtarakra letiltani warning-okat Arduino Ide-t hasznalva?
-
válasz
its_grandpa #22624 üzenetére
felesleges ">=" feltételt
Addig gondolod csak feleslegesnek, amíg egyszer végtelen ciklusba nem futsz egy == miatt.
Jó, persze itt valóban felesleges, de ha nem integerrel dolgozik az ember, könnyen előfordulhat, hogy nem teljesül a feltétel, ezért nálam már évtizedes beidegződés, hogy így használom. Fordítás szempontjából meg mindegy. -
Postas99
senior tag
Ez van sajnos, tényleg jó lett volna. Nem baj majd a kollegámnak megcsinálom.
A kérésének megfelelően bele tettem még 5 kapcsolható időpontot a szellőztetésre, és PWM vezérelt ventillátor szabályzást is, nehogy kirepüljön a terráriumból a gyík.
Amúgy tényleg nem loptam öteletet, de ez tegnap jött velem szembe:[itt]
Zavar, hogy most olybá tűnik mintha lenyúltam volna az egészet. Mondjuk az enyém nem grafikus, bár tényleg terveztem, hogy majd átszabom az LVGL cuccra. De itt is csak egy Rotary kapcsoló van ahogy látom, nem bonyolították ők sem túl. -
válasz
its_grandpa #22616 üzenetére
Köszi
De két kiegészítés hozzá, mert így igazából nem csinál semmit:
#define BUTTON_PIN 4
void setup()
{
RADIO_FREQ freqs []= {9500, 9700, 10190, 10700};
int freqNum = sizeof(freqs) / sizeof(freqs[0]); // csatornák száma kiszámolva
int currentFreq = 0;
// hangolás
radio.setBandFrequency(FIX_BAND, freqs[currentFreq]);
// gomb figyelés beállítása
pinMode(BUTTON_PIN, INPUT_PULLUP);
.
.
.
.
}
void loop()
{
byte buttonState = digitalRead(BUTTON_PIN);
if (buttonState == LOW) { // gomb megnyomva
currentFreq++;
if (currentFreq = freqNum) currentFreq=0;
radio.setBandFrequency(FIX_BAND, freqs[currentFreq]); // léptetés a következő csatornára
delay (1000); // enélkül csak egy sorsolás lesz a gombnyomás ;)
} // button state
.
.
.
.
.
} // loopA delay értéke végülis nem lényeges, így a gombot nyomva tartva másodpercenként léptet egy csatornát, és a pergésmentesítést is kiváltja, amit amúgy ha mást is csinál a program, nem így szoktunk megoldani, de itt megteszi.
-
its_grandpa
tag
#define BUTTON_PIN 4
void setup()
{
RADIO_FREQ freqs []= {9500, 9700, 10190, 10700};
int freqNum = sizeof(freqs) / sizeof(freqs[0]); // csatornák száma kiszámolva
int currentFreq = 0;
// hangolás
radio.setBandFrequency(FIX_BAND, freqs[currentFreq]);
// gomb figyelés beállítása
pinMode(BUTTON_PIN, INPUT_PULLUP);
.
.
.
.
}
void loop()
{
byte buttonState = digitalRead(BUTTON_PIN);
if (buttonState == LOW) { // gomb megnyomva
currentFreq++;
if (currentFreq = freqNum) currentFreq=0;
} // button state
.
.
.
.
.
} // loop
-
Undoroid
őstag
Szia Aryes!
" megnéztem a library " Hol van ez?
Az a megoldás is pont jó lesz!
" biztos egyedül is meg tudsz írni " Sajnos nem, de köszönöm a segítséget! Jelenleg a próbafeladatok alkalmazásaiból tanulok, ha megértem azt, hogy mit - miért?! A lelkesedésem sokkal nagyobb a mostani tudásomnál!
-
válasz
Undoroid #22611 üzenetére
Mielőtt leprogramozná valaki amit szeretnél, megnéztem a library-t és van benne olyan, hogy
radio.seekUp();
radio.seekDown();
Vagyis automata keresés. Ezzel eggyel egyszerűbb lenne megoldani, amit szeretnél, kivéve, ha ragaszkodsz ahhoz a négy csatornához.Közben pár sor, amit beilleszthetsz a kódba, ebben nincs benne a gombnyomogató rész, amit biztos egyedül is meg tudsz írni.
// kód elejére
RADIO_FREQ freqs []= {9500, 9700, 10190, 10700};
int freqNum = 4; // csatornák száma az előző sorban
int currentFreq = 0;
// hangolás
radio.setBandFrequency(FIX_BAND, freqs[currentFreq]);
// léptetés
currentFreq++;
if (currentFreq >=freqNum) currentFreq=0; -
Undoroid
őstag
válasz
Undoroid #22571 üzenetére
Sziasztok szakik!
Ismét a segítségeteket szeretném kérni EBBEN az ügyben! Miért is lenne úgy jó valami, amit valaki már egyszer kitalált?
Amin változtatni szeretnék: ez egy előre beprogramozott frekvencia vételére alkalmas. Viszont a freki váltását csak teljes újraprogramozással lenne lehetőség.
Ezen szeretnék változtatni úgy, hogy beiktatnák egy zárókontaktust (gombot) és egyszeri megnyomásra a programban a következő előre beprogramozott frekire ugorna! Így lenne mondjuk 3-4 beprogramozott freki, amik között váltani lehetne...Ha az utolsónál megnyomnám a gombot, akkor visszaállna az első frekire! ( 1 - 2 - 3 - 4 majd a következő gombnyomással visszaugrana az elsőre )
A példafeladataim között még csak hasonlót sem találtam, ezért kérném a segítségeteket!
Az eredeti leírásban UNO szerepel, de NANO-ra fogom cserélni, de ez nem nagy feladat! A nagyobb feladat az az lenne, hogy a példában be kell iktatni egy feltételt és annak a függvényében három+ elágazást. A programozási oldala lenne számomra a kemény dió!
Az lényegtelen lenne, hogy a következő indításkor melyikről indulna! Nincs jelentősége! Indikálni sem kellene azt, hogy éppen melyik szól!
Megköszönném, ha ebben a Vasárnapi hőségben foglalkozna valaki ezzel a kérdésemmel!
-
válasz
Postas99 #22609 üzenetére
Én még csak a linkelt gombokat használtam ilyen célból, de úgy tudom egy csupasz vezetékdarab is megteszi, tehát a fóliát elég csak rácelluxozni a vezetékre, erősítő gyanánt. Vagy amit írtam, egy darab nyáklap, az forrasztható. Mikor hallottam, hogy van ilyen lehetőség, kicsit játszogattam vele, de még projektben így nem használtam.
1-2mm vastag doboz elvileg nem jelent akadályt, de mivel ez egy analóg megoldás, tudod finomhangolni az érzékenységet. Egymás melletti gombok szerintem nem zavarják egymást.
Próbáld ki, egy jumper kábel is elég hozzá! -
Postas99
senior tag
Tehát rajzoljak egy keretet a felületére filccel vagy akármivel, és a doboz fedele alá tegyek be alufóliát, mert a hogy látom valamiféle kapacitív megoldással működik.
Milyen messze kell lennie ezeknek a fólia daraboknak egymástól, az áthallás végett kérdezem? Mennyire érzékeny dobozon belül felszerelve, úgy hogy az ujjadat "kvázi ráteszed?"
A legdurvább kérdés hogyan forrasztok alufóliára vezetéket? Talán ez itt a legnagyobb problémám... majd utána nézek.Azért "élvezetes karakter" mert élvezet olvasni, hogy nem csak az angol abc 26 fixált karakteréből íratok ki valamit a kijelzőre. Bár csak a lelkivlágomnak kellett, mert e nélkül is értelmezhető a felirat lényege.
Akik nyomtatnak 3D-ben, hozzájuk lenne kérdésem. Nem igyen hanem megfizetve a munkadíjat és mindent, lenne-e kedve valakinek 2 féle dolgot elkészíteni számomra.
Nem nagy cuccokról beszélünk, de számomra az egyik életmentő lenne (egy kallantyút -meghúzó műanyag darabot kellene lemásolni az eredeti darabról), a másik meg itthoni projekt amit még nem fejeztem be, ez egy tölcsér lenne aminek a kimenetén lenne alulról egy elzáról műanyag korong ez a korong egy szervó motor által 45 forkban elfordul. Ami a szükség lenne, az az hogy hozzákéne egy olyan profil szerűséget is gyártani, hogy a szervóhoz egy bölcsőt is kéne a tölcsérrel együtt egyben legyártani, hogy amikor a szervó a helyén van akkor a szervóra szerelt korong pont a tölcsér kimeneti részéhez érjen ezáltal elzárva az útját a kieső benne lévő tárgynak. -
-
válasz
JulianSinulf #22605 üzenetére
*Thingiverse
A készen letölthető terveket pedig a tinkercad-ben szoktam módosítani, például nagyobb kijelzőnek nagyobb lyukat "fúrni" meg hasonlók. A többi 3D tervező nekem túl bonyi.
-
Postas99
senior tag
válasz
JulianSinulf #22605 üzenetére
Meg van a doboz is
Dremmel -el.majd ki kell vágnom a megfelelő lyukat neki. Itt jön a kérdés hogy inkább rotary kapcsolót tegyek a nyomogombok helyére, mert valójában csak 3 gombot használok amivel a menüben léphegetek és a +, - értékeket állítom be. Ehhez viszont elég lenne egy rotary kapcsoló is , és akkor csak egy lyukat kellene a doboz tetejére fúrni.Az ékezeteket megoldottam, szóval az is pipa.
Igaz így egy kicsit bénább néhány szöveg.
-
JulianSinulf
őstag
válasz
ViZion #22603 üzenetére
Sok oldal van, ahol ingyen letölthető tervek vannak. Printables, thinkverse a kettő legnagyobb, amiről tudok. A bambulab-os MakerWorld-öt még nem nézegettem, így nem tudom, mennyire ingyenes vagy mennyire hasznos. Porfogókat nem szeretek nyomtatni.
Az a baj az ilyennel, hogy pl. Postas99-nek elég specifikus doboz kell. Nagyon nagy szerencse kell, hogy olyat találjon. Egy sima dobozt gyártani meg tényleg nem feltétlen éri meg, ha nincs nyomtató. Sima dobozokat én sem szoktam nyomtatni. Csak olyat, ami specifikus, nem kapható boltban, a majdnem jókat meg macerás átalakítani.
Bérnyomtatás meg eszembe sem jutna ilyenre. Igyekszem elsőre jóra tervezni, de nem mindig sikerül, így van egy-két próbadarab. A kritikus pontokra általában külön idő és anyagspórolós tervdarabot nyomtatok.
Utoljára RPi 4B házat nyomtattam. Igaz, még csak az alja van meg. A tetejét még meg kell terveznem.A legelső hasznos dobozom egy annyira kicsi doboz volt, amibe pont belement egy kapcsoló. Ezt ügyesen felragasztottam a pult aljára, szinte észrevehetetlen. Ez kapcsolja a konyhaasztal világítását. Most ezt akarom áttervezni úgy, hogy egy sonoff kapcsolókonnektor elektronikája lesz a kapcsoló. A nyomógomb kivezetése még kérdéses. Le kell mérnem a panelt a felfogatási pontokkal. Ez utóbbi a nehezebb. Körétervezni a dobozt már nem nagy dolog. De ilyenkor kellhet egy-két próba, hogy tényleg jól mértem e le azokat a lyukakat. Fontos, hogy kézzel könnyen kapcsolható legyen, de, ha úgy marad és mindenki leült, akkor kanapéról telóval is egyszerűen le lehet kapcsolni.
Nem annyira energiatakarékos, mint a mostani megoldás, de az okosotthon lényege nem is ez. -
Postas99
senior tag
Köszönöm mindenkinek az öteleteket. Nem jutott eszembe hogy valójában ezek is használhatók.
ViZion: Valami egyszerűbb kötődoboz lesz.
-
ViZion
félisten
válasz
JulianSinulf #22602 üzenetére
erről beugrott,h vki mondta, h egy bigyóra keressek rá, van oldal, ahol free 3d print tervek vannak. azt meg hazai nyomtató céghez feltölteni, kész. végül kb. annyi lett volna, mint a bolti...
rajzra angolul, pl electronics case 3d print model . kiterjesztése keresni? hátha van kb. megfelelő. -
JulianSinulf
őstag
válasz
Postas99 #22598 üzenetére
Szia!
Én is elsősorban a 3D nyomtatást javaslom. Főleg, ha van nyomtató is hozzá.
Amúgy meg bármilyen a célnak megfelelő ételes doboz. Régen a 100 forintosban vettem őket. Ma meg már inkább nyomtatok. Nem olyan ördöngős megtervezni sem.Illetve még régen elektronikai boltban vettem direkt műszerész dobozt. Technikusi vizsgamunkára mégsem akartam mikrózható/fagyasztható műanyag dobozt használni. De már akkor is drágának találtam őket. Ma meg nem is nézegetem. De gondolom sok webshopban találni. Conrad, Ali, ebay, amazon, reichelt. Csak, hogy néhányat említsek.
Új hozzászólás Aktív témák
Hirdetés
- AKCIÓ! ASUS MAXIMUS VIII HERO Z170 chipset alaplap garanciával hibátlan működéssel
- Csere-Beszámítás! Asztali számítógép játékra! I5 14400F / RX 6900 XT 16GB / 32GB DDR5 / 1TB SSD
- Csere-Beszámítás! Asztali számítógép PC Játékra. I5 12400F / RTX 3070 / 32GB DDR4 / 1TB SSD
- BESZÁMÍTÁS! Gigabyte A620M R5 7500F 32GB DDR5 512GB SSD RTX3070 8GB ZALMAN S2 TG Enermax 750W
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged