-
IT café
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
-
its_grandpa
tag
Egyetértek a #13898-.ban írt véleményeddel, én is a "pucér" ESP12-es megoldást javaslom, így is építek ezt,azt.
Ennek ellenére pontosítanék mert az rx/tx esetén nem igaz, hogy köthet amit akar.
Az rx/gpio3 csak input, a tx/gpio1 csak output lehet, az adott lap pinout reference-et érdemes tanulmányozni. Az ESP-WROOM-32 gpio35-36 közötti 4 láb pl. csak input lehet.
Ha kesztió kolléga a touch modult véletlenül a gpio1-re kötné, nem fog működni neki.@kesztió - csak bátran
-
its_grandpa
tag
válasz kesztió #13911 üzenetére
Jó lenne érteni mit is szeretnél építeni, úgy könnyebb
Támogatom aryes #13913-át, mozdulj el I2C irányba, a TM1637 nem az, OLED-et találsz.
Az I2C csapdája, hogy az eszközök címét nem biztos, hogy tudod állítani.Amin van lehetőség az is csak 2. Az OLED kijelző pl. 0x78 vagy 0x7A lehet, tehát 3-at ebből sem lehet (nem igazán jó példa de 3:00 előtt keltem). A megoldás egy PCF8575 IO expander, kapsz 16 quasi-bidirectional input/output pint 2,50 $-ért.
Minek a 433Mhz ha van wifi ? -
its_grandpa
tag
válasz kesztió #13947 üzenetére
Design szempontból a nyilas,ledes verzióra szavazok de nem ez a lényeg.
Kezdjünk neki :
#13928 ..a központi egységet leszámítva .. Ugye itt az ESP chip típusára gondolsz, nem más központi egységre ?
...egy 433 MHz-es távirányítót adtak hozzá, amit klónozni fogok,...
Kaptál egy 16 gombos távirányítót ? Az SF R433D-ról nem sok mindent találtam én RFM22 és RXB6 modulokkal kísérleteztem. A 433 dekódolás nem triviális, ASK,FSK,OOK moduláció stb. kérdés mit kaptál a kínaitól. Az ESP-t nem tudtam rávenni (még), hogy együtt működjön az RXB6-al, szintillesztési gond lehet. Ugyanaz a kód arduino nanon hibátlanul fut, ESP-re fordítva,feltöltve meg nem.#13929 Van arra esélyem..... Nincs. Upload módba tudod feltölteni a programot de újra kell indítanod az ESP-t, hogy a programod fusson és debuggolhass.
#13937 ... hótt fölösleges, hogy a ház 16 szerelődobozában egy-egy USB interfész lapuljon
És pont ilyen felesleges, hogy mind a 16-on legyen SF R433D.Elég egy eszköz ami tud 433 Mhz-n kommunikálni. Ezt kell megszólítani, hogy küldje el a n sorszámú üzenetet.
Az eddigi infóid alapján azt gondolom vagy az ESPHome vagy az ESPEasy a te barátod.
Szerezz egy ESP12-t és kezdj el velük barátkozni.Kieg: ha még nem olvastad 433 témában , bitekmindenhol.blog.hu , rflink.nl
[ Szerkesztve ]
-
its_grandpa
tag
válasz kesztió #14025 üzenetére
>>3 mm plexin keresztül mintha ott se lennél
OE-TP capacitive touch, 5 db ~ 6$ és ezt ígérik -> Touch distance: less than 6mm (glass acrylic)>>9 drótot kell vezetni
a + - tápot elég egyszer a kezelőlapig elvinni a terved alapján és összekötni a touch-ok tápjait + 3 a vezérléshez = 5 -
its_grandpa
tag
válasz kesztió #14502 üzenetére
Ha fix tápod van miért kell bármilyen sleep ? Feleslegesen építed fel, bontod a wifi kapcsolatot ami miatt változik a hőmérséklet és nem tudsz egy "fix" deltát beállítani.
Egyszerűbb lenne ha tudnád, hogy az ESP melegedése miatt mindig n fokkal többet mér az SHT35. Én első menetben megpróbálnám leszigetelni egy EPS/XPS kockával, lásd kép. -
its_grandpa
tag
válasz kesztió #14539 üzenetére
aryes #14524 Ez jó volt :)
Lehet én hagynám a fenébe az átalakítást hűtőbordával+szigeteléssel.
Megoldható egy NTC és ellenállás osztóval az ADC lábra, 1 % pontosságú NTC 10 darabtól 70 huf, az ellenállás meg fillérek. Szépen megírod a kódot, kompenzálz az ESP chip aktuális hőmérsékletével, átlagolsz, satöbbi.
Egy tizedes pontosság szerintem elég, a gyári termosztátok hőmérséklet mérési pontossága ±0,5°C. -
its_grandpa
tag
válasz kesztió #14548 üzenetére
its_grandpa #14540-ben:
Nem az SHT35 cseréjére utaltam, hanem arra, hogy mérd az eszközöd hőmérsékletét, ahelyett, hogy hűtőbordát akasztanál rá.Az ESP32-nek lehet maximalizálni a CPU freq-jét (80 Mhz-ig).
Esetleg megpróbálhatnád a kódodból, bár tovább fog tartani a kommunikáció viszont nem fog pörögni.
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/power_management.html -
its_grandpa
tag
válasz kesztió #14551 üzenetére
Az én infóm szerint az ESP belső hőmérő funkciója 2019 óta deprecated mert annyi chip verzió született, ezzel ma szerintem már nem tudsz mérni. Amennyiben 1%-os eszközökkel dolgozol nem kell termosztátonként mérni csak a delta táblázatot másolni.
Változatlanul nem értem (#14552), hogy ha fix tápegységed van miért altatod az ESP-t. -
its_grandpa
tag
válasz kesztió #14554 üzenetére
Amit írtál a ..
#14493 kesztió
Direkt 3,3V-ot kap, nem használom a Wemos D1 mini ESP32 beépített tápját (még csak az hiányozna :DD ). A transzformátor ugyancsak a szerelődobozban van de jó mélyen, és be lesz „falazva” PUR-habbal.
Ha tényleg ez a megoldásod, minek a bármilyen sleep ? Mert akku esetén még megértenem de így ? -
its_grandpa
tag
válasz kesztió #14558 üzenetére
Ebben a témában utoljára:
Folyamatosan változó üzemi körülményeket generálsz a sleep-el.
Elaltatod - lehül, felébreszted - felmelegszik és ezzel nem tudsz mit kezdeni.
Ha nem altatnád és mindig 42.89764 és 48.7831 fok között lenne a hőmérséklet akkor 1% pontosságú NTC/PTC-vel kompenzálva talán egy tizedes pontosságon belül tarthatnád az "alien keltetődet" . Ez egy szoba termosztát, az emberi test hőérzete jelentősen függ a pára tartalomtól is. [Érdekesség] -
its_grandpa
tag
válasz Janos250 #14712 üzenetére
Én forrasztgatok, főleg 12F-et, csak körben kell. A modulok túl nagyok, rajtuk az usb csatlakozó meg mindenféle "felesleges" ic ami csak a kód feltöltés miatt kell.
Az ESP forrasztása nem nehéz, utolsó forrasztási küzdelmem a drónom zárlatos FET-jének cseréje volt, arra ment el idő gazdagon. A sot-32 tok mérete 1,2*2,8 mm, a 3 láb még ennél is kisebb helyen van. -
-
its_grandpa
tag
válasz vidékiürge #14802 üzenetére
Én egy RXB6-al + UNO simán veszem a jelet az rc-switch examples könyvtárában található ReceiveDemo_..... bármelyik . ino-val.
Adni még nem próbáltam de elvileg mennie kéne.
Wiring biztos OK ? -
its_grandpa
tag
válasz Janos250 #15192 üzenetére
Belenéztem a kódba kíváncsiságból. Abba most nem megyek bele mennyire szépen van megírva, én pár dolgot másképp csinálnék, pl. túl sok benne a "magic number".
A gond a delay-el van ami ebben az esetben vélhetően nem okoz gondot, azonban az ESP-n ellenjavalt ilyen hosszú delay-ek használata, számtalan helyen leírták, egy példa a sok közül: https://learn.sparkfun.com/tutorials/esp8266-thing-hookup-guide/using-the-arduino-addon
Nem kötözködésből írtam, a jobbító szándék vezérelt, peace. -
its_grandpa
tag
válasz Janos250 #15219 üzenetére
Örülök, hogy átment az "üzenet". Arra próbáltam felhívni a figyelmet,hogy eredetileg arduinóra írt c kód esp-re fordítása nem csak annyiból áll, hogy átállítjuk milyen board-ra fordítson az ide.
Ne haragudj de a magic number nem lehet szándékos, a define ingyen van
Kicsit lerövidítve a programod egy sora,hogy elférjen:SPI.transferBytes(Target_response_out, Target_response_in, 21); /magic number /
Inkább így ....
#define Target_response_len 21
.
SPI.transferBytes(Target_response_out, Target_response_in, Target_response_len);Ugye mennyivel szebb a második ?
-
its_grandpa
tag
válasz Janos250 #16434 üzenetére
Szerintem nem szép de legalább nem is jó, viszont észérvekkel meggyőzhető vagyok.
char inputChars[200];
for (int i = 0;i<5;i++){
fgets(inputChars, 199, filePointer);
printf("%s", inputChars);
} ;A költő vélhetően 5*200 karaktert szeretne olvasni
és kiírni.
Az inputChars tömb azonban nincs terminálva ( inputChars[200] mitől lenne "\0" ?) ezért vannak kétségeim.
Meg lehetne ezt szebben is, #define-al vagy sizeof()-al. -
its_grandpa
tag
C könyv, magyarul, érthetően [link]
-
its_grandpa
tag
Ha boolean visszatérési értékűre módosítod a függvényt, a hívó oldalon kell egy ellenőrzés.
Mivel Tomika86 eredeti fv-e int (nem uint), én valami ilyesmit csinálnék:int ADS7828_olvasas (int Addr_byte, byte Cmd_byte) {
byte data[2];
int adc = -1 ;
Wire.beginTransmission(Addr_byte); // I2C átvitel indítása, az adott címen
Wire.write(Cmd_byte); // Command byte küldése
Wire.endTransmission(); // I2C átvitel megállítása
Wire.requestFrom(Addr_byte, 2); // 2 byte adatra várakozás
if (Wire.available() == 2) { // Ha megérkezett a 2byte
data[0] = Wire.read(); // Első byte tömbbe írása
data[1] = Wire.read(); // Második byte tömbbe írása
delay(2); // Ciklus késleltetés
adc = ((data[0] & 0x0F) * 256) + data[1]; // Adat konvertálás 12bit-re
}
return adc;
}
Persze a hívó oldalon így is kell egy ifADS7828_olvasas
..... -
its_grandpa
tag
Egy gondolat kísérlet de az is lehet, hogy megtaláltam a piaci rést
Tegyük fel villannyal fűtök, nincs gázom. Idáig be volt állítva 21 C° de változott a világ.
Van napelem a tetőn, az inverter adatait azonban csak felhőben érem el.
A villany fűtő paneleket átállítom ~ 23-24 fokra - a ház jól szigetelt - de csak akkor működnének ha a napelemek termelése elegendő ehhez, nem akarok a XYZ művektől energiát venni.
Milyen fejlesztéssel lehetne ezt szerintetek egyszerűen, üzembiztosan megoldani ?
Már látom a válaszokat, ESP32 wifi a felhőhöz, Sonoff kapcsoló a fűtőpanelre, azonban a felhő elérése web-es programozást is igényel. PHP ?, JS ? ami (nekem) nem triviális.
Abba az irányba most ne menjünk el, hogy ha november 27.-én nem süt a nap akkor majd 16 C° -ra megyek haza, még mindig jobb min a 6 számjegyű villanyszámla.
(ebből lehet tényleg érdemes lenne terméket csinálni ? ) -
its_grandpa
tag
OK, minden számlás bevételem 10%-át megkapod
A napelem.get_termeles lehet jó, viszont a fűtőpanel(ek) max. fogyasztása ismert.
Kell egy logika ami az eltérő méretű és fogyasztású paneleket a termelés függvényében tudja kapcsolni és valamennyire figyeli a hőmérsékletet is. -
its_grandpa
tag
válasz ekkold #17853 üzenetére
És is játszottam ezzel a modullal de nekem nem volt szerencsém, a karadio nem szólal(t) meg. Az ok az első képen látható a modul alján, VS1003/VS1053, azaz AS tűréssel szerelnek (AS = ahogy sikerül). Kicsi belenyúltam az Adafruit 1053-as arduino lib-be, úgy tudtam hangot kicsikarni belőle mert "false" volt a v értéke.
uint8_t v = Adafruit_VS1053::begin();
// return (v == 4); ez a 1053
return (v > 2); ez ha a chip verzió minimum VS1003 =3
A lábak bekötésének publikációja az ESP-khez, végtelen örömmel töltene el
Lehet elővenném ismét a félrerakott projektet. -
its_grandpa
tag
válasz Krilehor #17928 üzenetére
Ez egy nagyon nehéz feladat szerintem. Számtalan rádiós protokoll van, a pontos frekvencia ismerete kevés. Próbálkoztam sokat 868 Mhz kapcsoló vezérlésével RFM22-es modullal.
Kellene egy usb-s RTL-SDR vevő és akkor az RTL_433-al talán ki lehet deríteni a kódolás módját (https://github.com/merbanan/rtl_433).
Az RFM69 (és sok más egyéb) vezérlését, protokollokat meg tudod nézni itt https://www.airspayce.com/mikem/arduino/RadioHead/index.html.Én inkább megpróbálnám kiváltani a rádiós vezérlést.
Számtalan eszköz decodere megtalálható de sajnos a tiéd (vagy ahhoz hasonló) nem.
https://triq.org/explorer/ -
its_grandpa
tag
válasz Krilehor #17940 üzenetére
Szerintem nem de még nem ittam meg a második kávémat
Ez a Canton 1200 a 868.4 Mhz-n kommunikál, gondolom azért, hogy a sokkal nagyobb számú 433 Mhz-s eszköz még véletlenül se vezérelje.
Azt kellene kiderítened milyen vezérlő IC van benne. Ezután könnyebb lenne találni hozzá valamilyen vezérlést pl. infrást (google -> diy ir remote volume control).szerk. ekkold munkásságát ismerve (és elismerve) biztos tudna valami megoldást.
[ Szerkesztve ]
-
its_grandpa
tag
válasz ViZion #17971 üzenetére
Rendben de előbb ezt a két oldalt nézd át.
https://www.letscontrolit.com/wiki/index.php/Tutorial_Rules
https://www.letscontrolit.com/wiki/index.php?title=ESPEasy_Command_ReferenceÉn ESPEasy-vel kezdtem a saját eszközök építését (kapcsoló,hőmérő).
Ma már vannak Tasmotás eszközeim is de talán az ESPEasy nekem jobban kézre áll.
Ha vége lesz a kerti szezonnak ismét neki látok. -
its_grandpa
tag
válasz ViZion #17981 üzenetére
Nem teljesen jó de kiindulási alapnak....
Kell egy dummy device name=Rel_1, és State nevü változó.on System#Boot do
Monitor GPIO,15 //Relay1_GPIO-ja
timerSet,1,600 //Set Timer 1 for the next event in 600 seconds
Rel_1#State = 0
endon
On Rules#Timer=1 do //When Timer1 expires, do
Rel_1#State = 1
endon
on GPIO#15=0 and Rel_1#State = 1 do //Relay1 low
Rel_1#State = 0
http://<espeasyip>/control?cmd=LongPulse,Relay2_GPIO,1,300 //Relay2 5 minute on
endon
A GPIO-kat és az IP-t konfigodnak megfelelően kell beállítani.
ESP nélkül írtam, nincs tesztelve. -
its_grandpa
tag
-
its_grandpa
tag
válasz ViZion #17994 üzenetére
Pedig le van írva szépen, az action plugin specifikus parancs.
Az event a rendszer által indított esemény, bizonyos esetekben feltételhez kötött.
Az on System#Boot do .. például arra jó, hogy ha áramszünet miatt újraindul az eszköz akkor be tudd állítani azt az állapotot ami neked kell (mondjuk ne kezdjen el világítani véletlenül a lámpa vagy ne induljon el a fűtés).on [heaton#state]=0 do
event,heatoff
endonén ezt fordítva csinálnám
on [heaton#state]=1 do / fűtés#állapota=1 , azaz igaz
event,heatoff // kapcsold ki a fűtést
endon -
its_grandpa
tag
válasz ViZion #18000 üzenetére
Ahhoz képest, hogy mikor és honnan indultál, rendesen összeszögelted.
A max. 90-et én biztos lejjebb venném, a vízkő kiválás 60 fok felett erősen növekszik.Ha már fűtés ....
Van egy buta de örök élet öntöttvas gázkazánom ami semmi mást nem csinál csak 60 fokos vizet ha a szoba termosztát ( programozható) azt mondja neki, hogy fűtsön.
A keringetőt meg egy 1.000.- HUF alatti digitális hőkapcsoló indítja/állítja (Ali, W3002).
Amíg a víz nincs 60 fok, a keringető nem megy.
Ha a szoba termosztát kikapcsolja a kazánt akkor sem hagyom állni a vizet, addig forgatom amíg le nem megy 40 fokig, kicsit túlfűtök ott ahol a radiátorokon nincs thermo fej (törülköző szárító, klotyó, észak keleti hálószoba).[ Szerkesztve ]
-
its_grandpa
tag
válasz Wolfram #18436 üzenetére
Infrával is lehet arduinót vezérelni (olyan távirányítót linkeltél az elején), én sem értem igazán miért bonyolítod túl - https://www.instructables.com/Arduino-IR-Remote-receiver/
Tudom wemos-t akarsz, a lényeg szempontjából mindegy, hogy ESP vagy Arduino.
A wemosra eNeS megoldása jó lehet - https://bitekmindenhol.blog.hu/2019/02/21/egyszeru_433mhz-es_vevo_modul .
Új hozzászólás Aktív témák
- HP OMEN Gaming 16-xd0009np - ÚJ 16" FHD GAMER laptop - Ryzen 7-7840HS, 16GB, 512SSD, RTX4050 (6GB)
- ARCTIC Liquid Freezer 360 II A-RGB rev.3 ( Garancia )
- NAD M25 7Ch Master Series végfok végerősítő
- Sony 55-210mm f/4.5-6.3 OSS (Sony E)
- Eladó több mint 2 év garanciával - LG OLED48C21LA / 4K/UHD/2160P/120Hz/OLED