- Xiaomi Mi 11 Ultra - Circus Maximus
- Apple iPhone 16 Pro - rutinvizsga
- Külföldi SIM-ek itthon
- Profi EKG-s óra lett a Watch Fitből
- Honor 400 - és mégis mozog a kép
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy S25 - végre van kicsi!
- Milyen okostelefont vegyek?
- Google Pixel topik
- Térerő gondok, tapasztalatok
-
Mobilarena
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
-
gyapo11
őstag
válasz
csubuka #7094 üzenetére
Kész modult nem tudok, építeni lehet a MOC3041 nullátmenet kapcsolós és valamelyik másik MOC a nem nullátmenetessel, kell még egy triak, és befelé egy optocsatoló a nullátmenet érzékeléséhez, ha a nem nullátmenetessel akarod vezérelni a triakot. Ventilátorhoz valószínűleg jobb a nem nullátmenetes vezérlés.
-
válasz
vargalex #7098 üzenetére
Köszönöm! Igen, arról van szó. Minden működik amit rendeltem, csak még egyben nem
Most a TM1638-as panellel játszottam el az időt, de csak összejött a "kitt" effekt. Kicsit primitív lett a kód, mert minden lépést kiírtam. Ezt minden leddel oda-vissza:
module.setLED(TM1638_COLOR_RED, 1);
);
delay(100);
module.setLED(TM1638_COLOR_GREEN, 1
Itt például lehetne változót is használni az 1 helyett? Akkor for ciklussal egyszerűbb lenne... Illetve azt nem tudom, hogy kell kikapcsolni a ledeket, de ez a színváltás is jó erre a célra, mivel csak pirosat tudnak. A szöveg kiíratással is el lehet tölteni az időt, bár a 7 szegmenses kijelző miatt néhány betű hiányos. -
vargalex
félisten
válasz
Victoryus #7096 üzenetére
Ha a korábban általad linkelt készletben lévő szenzorról van szó (amiről itt is raktál képeket), akkor az nem beszélget soros porton, hanem az Arduino beszél veled. A távolságot is a kód számolja az echo pin magas állapotának hosszából. A soros monitoron beállítandó baud rate pedig a lap által támogatott baud rate-októl, illetve ezek közül a Serial.begin paramétereként megadott baud rate-tól függ.
-
Megjöttek végre a jumper kábelek, így elkezdhetem a tesztelést. Azt honnan kéne tudnom, hogy az ultrahang szenzor a com porton milyen sávszélességgel kommunikál? Próbálgatom, és általában csak kérdőjeleket ír, kivéve a 115200baudot, ott rendben vannak az értékek. (annyi a példa, hogy com porton írja ki milyen távolságra van tőle akadály +/-170 fokos tartományban)
-
Vladi
nagyúr
Tankblock és Teasüti!
A rövid válaszom: köszi szépen, működik a kód! Azt csinálja amit akartam és hardver és kész állapotban van.
A hosszan kifejtett válaszom:
Teasüti:Nagyon tetszett az ötlet, hogy egy változót teszek a kódba, ezt egy vagy kapcsolással kötöm össze. Akárhány leírást átolvastam, ilyen nem jutott eszembe. Azt hiszem ehhez kell némi rutin, ami nekem nincs.
Az arduino mindkét irányba (kimenet és bemenet) opto izolálva lett. A bemeneten van egy saját készítésű opto izolátor kártya. Ezt egy kiváló, nagyszerű, elképesztő villamosmérnök ismerősöm tervezte nekem.
De a kivitelezés az én érdemem.
A relé kártya is optoizolált. A kész hardverről egy kép: link. Itt látható az izolátor kártya. A gombokba egyébként 12 voltot kötöttem. Az ardu 5 voltját nem szívesen vezetném 15-20 méterre, ipari árammal ellátott helyiségben.
A hardveres debounce itt egy beiktatott kondenzátor. Ezt teszteltem nemrég, nagyon fasza stabil.
Egyébként felhúzó üzemmódban működik.A kódodból kivettem a nekem kellő részt és a sajátomba tettem. Annyi, hogy a megszkításra LOW helyett FALLING kellett. Mert LOW-al a gombnyomás ideje alatt vagy tucatnyi vágást hajtott végre.
boss nem vagyok, az az Imre, én a drágafőni vagyok.
Hogy illeszkedik a képbe. Most is van időzítő. Egy fémtárcsa forog egy pöcökkel, ami megbillent egy kapcsolót....Ez minden, csak nem:
- pontos
- állítható.
Erről nem is mondok többet, mert a síráselfog.
De nem kell aggódnotok. Az új rendszer biztonságosabb is lesz mint a régi. Persze majd szépen felcicomázzuk kapcsolóval, meg vészgombbal meg ami kell. Majd ránéz tavasszal a villanyszerelőm, meg a munkaügyisnek úgyis megmutatom. Külsős. Úgyis csak azt nézi, hogy szigetelve legyen, meg legyen elég gomb.Tankblock
Folyamat egyszerű:
- fix időnként - ami állítható - kapcsolás.
- egyik gomb amíg nyomva van addig a folyamatot pausálja. Elenged akkor folytatja
- másik gomb azonnal kapcsol és nulláról kezdi a folyamatot.A két gomb nem nagyon tud konkurálni, fizikailag is úgy néz ki, hogy vagy egyiket éri el az ember, vagy a másikat.
-
csubuka
addikt
Sziasztok!
Esetleg ilyen-féle PWM-vezérelhető vagy legalábbis mikrokontrollerekkel könnyen házasítható dimmert nem tudtok olcsóbb forrásból? Láttam még rádiófrekvenciásan irányíthatót is.
Továbbra is a venti projekttel akarok valamit kezdeni
Nem olyan egyszerű az. Ezek talán némi kompromisszummal jók lehetnek a venti AC motorjához is.
-
Janos250
őstag
válasz
Teasüti #7092 üzenetére
"ugyanazt a hardvert használja mindkét funkció?"
Nem tudom, nálam a WiFis dolgokat végzik.Én a flash frequencyt nem állítottam - gondolom - az a flash memória elérését szabályozza.
Én a CPU sebességét se állítottam, úgy tűnt, hogy 240-en megy.
Melegedés:
Nekem picit langyos. -
Teasüti
nagyúr
válasz
Janos250 #6642 üzenetére
Köszönöm a segítséget!
Erre a válaszodra visszakanyarodva a ws2812 kapcsán:
az kézikönyvet olvasgatva nekem úgy tűnik az RMT és az Input Capture fejezetek ugyanarra a perifériára utalnak, vagyis ugyanazt a hardvert használja mindkét funkció?
Ugye van 8 csatornám, amit az infrán kívül be lehet fogni többek közt led vezérlésre is, viszont én szeretnék használni input capture-t is. Szerinted megoldható volna párhuzamosan a két különböző feladat?
Természetesen más-más csatornákon.Más: a cpu sebességet nekem kéne állítani, vagy az hardveresen van belőve kristállyal? Nem tudom mi az a flash frequency, ami 80 Mhz-re van állítva, de említést tesznek, hogy a cpu is 80-240 Mhz között állítható.
-
Janos250
őstag
válasz
Teasüti #7090 üzenetére
Téglásítani szerintem nem lehet.
Sebesség:
Nekem a 921600-on minden második harmadik feltöltés ki szokott akadni, ezért én
115200-on programozom, bár így tovább tart.
Nekem jelenleg a Node32S típus van beállítva, de használtam már Doit-ra állítva is.
Nem tapasztaltam lényegi különbséget. Ott nincs Flash Mode választási lehetőség.
Én a feltöltéseknél a "Q" (négyszeres) módot nem szoktam semmilyen lapnál használni, mindig csak a
"D" (dupla) módot használom, tulajdonképpen nem is tudom, melyik lapnál lehet, és melyiknél nemNéhány megjegyzés Neked is, és azoknak, akik ezután kezdik használni:
Az első teendők egyike: azonosítani kell, hogy a mi panelunkon melyik láb melyik GPIO, mert a panelokon többféleképpen van feliratozva.
Az ESP32 chipnek 34 GPIO lába van: (0-19, 21-23, 25-27, 32-39), de az Espressif ESP-WROOM-32 tokozásban a GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, GPIO11 ki van ugyan vezetve a 17-22 lábakra, de nem használható, mert az a memóriát kezeli.
A panelok ezeket a lábakat általában nem is vezetik tüskére.
Mivel az 1-es soros port alapból a GPIO9, GPIO10 –et használja, ezért ezeket át kell irányítani, ha az 1-es soros portot használni akarjuk.
Pl.:
#define Serial1_RXPIN 26
#define Serial1_TXPIN 27
pinMode(Serial1_RXPIN,INPUT_PULLUP);
Serial1.begin(115200, SERIAL_8N1, Serial1_RXPIN, Serial1_TXPIN) ;A Serial2-t használat előtt példányosítani is kell , a Serial-t, Serial1-et nem, azok előre példányosítva vannak, mint pl. az UNO-nál a Serial.
Egy kis plusz infó:
esp32-hal-gpio.h:
//GPIO FUNCTIONS
#define INPUT 0x0100000001
#define OUTPUT 0x0200000010
#define PULLUP 0x0400000100
#define INPUT_PULLUP 0x0500000101
#define PULLDOWN 0x0800001000
#define INPUT_PULLDOWN 0x0900001001
#define OPEN_DRAIN 0x1000010000
#define OUTPUT_OPEN_DRAIN 0x1200010010
innen látható, melyik bit mit jelenttypedef enum {
WIFI_MODE_NULL = 0, /**< null mode */
WIFI_MODE_STA, /**< WiFi station mode */
WIFI_MODE_AP, /**< WiFi soft-AP mode */
WIFI_MODE_APSTA, /**< WiFi station + soft-AP mode */
WIFI_MODE_MAX
} wifi_mode_t;Melegedést én nem néztem, de ma még megnézem.
-
Teasüti
nagyúr
válasz
Janos250 #7077 üzenetére
Szia!
ESP32 WROOM 38pin vezérlőm megérkezett a minap. Most raktam fel Arduino alá az alaplapi meghajtókat.
Viszont lett egy rakás új menüpont az Eszközök menüben. Ezeket te hogy állítottad be? Jó az alapbeállítás? El tudom rontani (téglásítani)?
Köszönöm!Illetve normális az ha melegszik a lap? Olyan 30-40 fokos lehet, pedig semmit nem csináltam még vele csak lóg az usb-n.
-
Teasüti
nagyúr
válasz
Teasüti #7088 üzenetére
A gombok bolondbiztossá tételéhez meg: a fenti kódomban a várakozás után a piros gombhoz tartozó változónak hamis értéket kell adni valamint nullázni a számlálót. Így nem fog azonnal vágni, hisz mindkét feltételt hamisnak állítottuk be, tökmindegy mi történt míg szünetelt.
Fordított esetben meg a nyissz megtörténte után fog csak szünetelni, szóval az úgy korrekt.Ui: mondjuk ezért nem használok gombhoz megszakítást... Van amikor nem akarunk tudomást venni egy gombnyomásról. Mint itt amíg szünetel a gép.
-
Teasüti
nagyúr
válasz
Tankblock #7087 üzenetére
Mármint vész stop. Nem lepődnék meg, ha emberünk jártas volna a gépek terén.
Hisz azzal dolgoznak és ő a boss ha jól emlékszem. Nem egy kisgyerekkel van dolgunk.A felvetés jogos. Volt már arról szó hogy illeszkedik a gépbe az arduino? Honnan kapja a tápot, amit vezérel az honnan kapja, az arduino az egy kiegészítése a meglévő vezérlésnek vagy inkább helyettesítése? Lehet a gépen lévő vész stop megállítja az egész hóbelevancot. Mondjuk én a pillanatálljt kapcsolóra raknám, nem gombra. Így a mikrovezérlő végtelen ciklusban várakozik. Utána nulláznám a számlálót és az azonnali szeletelés gombbal lőném be a kezdési pontot. Vagy különben a szünet után azonnal vág, ami váratlan lehet és így veszélyes. Persze nem ismerjük a gépet, így ezt neki kell eldönteni. Vagy a megbízott munkavédelmisnek, stb...
-
Tankblock
aktív tag
Hello,
Rajzold le a folyamat ábrát, mit és mikor csinálsz, hogy jutsz egyik állapotból másik állapotba milyen feltételekkel. Mi van ha konkurál a 2 gomb..
Majd ezt szépen állapotgépben implementálható.
Mivel emberi felhasználásra lesz tennék bele mindent tiltó gombot is( Nagy piros gomb)
-
Teasüti
nagyúr
Unatkoztam, remélem nem haragszol meg érte ha esetleg ez volna a megoldás!
Nem igazán emlékszem a kapcsolási rajzodra, de a bemenetek alapból Vcc-re vannak húzva és GND-re kapcsolsz, ugye? Meg hardveres prell mentesítést használsz, ugye? Mielőtt interrupt özön keletkezik egy gombnyomásra.
Hosszú idő után ez az első programom, így lehetnek benne hibák. Pár dolgot ki kellett keresnem, mert nem emlékeztem rá.
Arra figyelj, hogy szünet után azonnal nyissz lesz, ha lejárt a ciklusidő!#define vido 19890 // EZ A LENYEG! Ez a vágási idő ciklus. kb 51 az 1 mm-t jelent. millisecundum egyébként.
unsigned long currentMillis, previousMillis;
bool piros;
void nyissz() {
piros = true;
}
void setup() {
pinMode(3, INPUT); //piros
pinMode(2, INPUT); //mikro
pinMode(13, OUTPUT); //led
pinMode(6, OUTPUT); //relé
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(2), nyissz, LOW);
}
void loop() {
currentMillis = millis();
if (currentMillis - previousMillis >= vido || piros) {
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
Serial.println("Vágtam, kövi.");
previousMillis = currentMillis;
piros = false;
}
if (digitalRead(2) == LOW) {
while (digitalRead(2) == LOW);
}
} -
Tankblock
aktív tag
Hello,
Szerintem koncepcionálisan van elbökve a kód.
interruptba nem illik/ szabad kiíratást rakni.
Az interrupt kódjának illik minimálisnak lennie ha lehetne késedelm delay nélkül.....Ha az időt (previousMillis ha jól látom )kiteszed volatile unsigned longba, akkor millis fv segítségével aktualizálhatod.
Én a logikát a loopba raknám és a Interruptokba csak flageket állítanék és állapotgépeket pörgetnék a loopba, megfelelő feltételek melett, és a delay-t helyett for időkülönbséget néznék az állapogépben.....
De ez én vagyok, remélem más ad jobb tanácsokat. -
Vladi
nagyúr
Hurrá! Félig működik a kódom!
Oké egy kapcsos zárójelet rossz helyre tettem, de sikerül debugolni.
A nyissz részt még nem próbáltam. Oda egy megszakításon belüli időzítést a tavir tananyagban találtam:
for (long i=0;i<1250000;i++){
//Serial.print("6");
asm volatile ("nop"::);
}Már csak a számlálót kellene nullázni. Lécihelp!
Így fest a kód most:
const int piros = 3; //3-es pinbe dugva az azonnali vágó kapcsoló
volatile const int mikro = 2; //2-as pinbe van a hurka csináló gomb.é
volatile int alapled = 13;
volatile const int rele = 6; // a kapcsoló relé.
const long vido = 19890; // EZ A LENYEG! Ez a vágási idő ciklus. kb 51 az 1 mm-t jelent. millisecundum egyébként.
long previousMillis = 0;
void setup() {
pinMode(piros, INPUT); // a 10-es piros az bemenet lett
pinMode(mikro, INPUT); // a nyócas hurkázó is bemenet
pinMode(alapled, OUTPUT);
pinMode(rele, OUTPUT); // relé a 6-on kimenet
Serial.begin(9600);
attachInterrupt(0, fuggo, LOW);
attachInterrupt(1, nyissz, CHANGE);
}
void loop(){
unsigned long currentMillis = millis();
if(currentMillis - previousMillis >= vido) {
previousMillis = currentMillis;
// ??? e meg itt valahogy nem jó, át kell írni az időzítést és be kell gyűni az utána jövő kódot a blokkba.
digitalWrite(rele, HIGH);
delay(100);
digitalWrite(rele, LOW);
Serial.println("Vágtam, kövi.");
}
}
void fuggo(){
while (digitalRead(mikro) == LOW)
digitalWrite(alapled, HIGH);
}
void nyissz(){
digitalWrite(rele, HIGH);
for (long i=0;i<1000;i++){
Serial.print("6");
asm volatile ("nop"::);
}
digitalWrite(rele, LOW);
Serial.println("Vágtam, kövi.");
//??? itt még nullázni kellene
} -
Tankblock
aktív tag
ESP32-IDF hát ööö még bugos is, pl
ledc_set_fade_with_step fv ha a scale attribútummal oszt még akkor is ha az nulla...
eredmény győzelmi zászló.... -
Teasüti
nagyúr
válasz
Tankblock #7076 üzenetére
Lehet kellene egy ESP32 ESP-IDF topic, hogy ezt ne offoljuk szét.
Az a maréknyi ember, aki ebben járatos mind ide jár.
Aki a legtöbbet ESP-zik, ő meg Arduino alatt programoz.
Aki meg más IDF-et használ, ő meg nem ESP-zik. Így hirtelen akik eszembe jutottak.
Esetleg lehetne egy Arduino komplementer topik. Aki Arduinózik az ne kapjon szívrohamot, ha betéved ide. Minden más platform meg mehetne külön.
Amúgy necces úgy topikot nyitni, hogy nem tudok hozzátenni semmit. -
Tankblock
aktív tag
válasz
Teasüti #7069 üzenetére
Hello,
Én élvezem, hogy végre eclipse alatt tudok fordítani, és nem az Arduino IDE-be vagyok korlátozva. C nyelvet sem mostanság használtam, és van lehetőség C++ is.
Nem vagyunk egyformák, nekem a Win10 egy csalódás, és kacsingatok az új Ubuntu 17.10 után.
A dokumentáció hiányosságai okoznak fejfájást. Nem minden működik a leírtak szerint az ESP-IDF ben. Van még rajta mit csiszolni.
Az interrupt kezelést kellene megtanulnom, pont ez az ami idegesít, mert a leírtakból pont nem lehet megcsinálni amit szerettem volna --> ledc fade végén interruptban visszafele fadelni szeretném A technikai sheet szerint az összes channel tud a végén interruptot. A HW képességei lenyűgözőek. A tudásom meg igen kevés.
Feltűnö h az Arduino ideben írt villogtatás 65% lassabb --> túl nagy az overhead.
ESP-IDF ben ezek mennek eddig :
RTOS Task kezelés, Queue, Semaphore/Mutex - > binary semaphoret értem , de nem használtam
i2c scannert sikerül már írnom.
Led villogtatás is megy.
MQTT-re üzenet küldés. igaz ez kész library-t használva.
Most küzdök a ledc -vel.Lehet kellene egy ESP32 ESP-IDF topic, hogy ezt ne offoljuk szét.
-
-
Tankblock
aktív tag
válasz
JozsBiker #7072 üzenetére
Hello,
Meglehet, hogy igazad van. ESP8266 köré terveztem a projectet, ha már volt itthon. és RTC is.
Wifi-t szerettem volna mert NTP vel egyszerű a sync, és ha lesz időm akkor webservert vagy akár még MQTT vel is lehet pl riasztást beállítani. A HW ben a GPIO2 n van egy 100 Ohm ellenállás után egy buzzer is. Na az a része a softwarenek sincs még kész.
Amit élveztem eddig ebben a projectben :
- az a nyák tervezés -> előtte 0 tapasztalatom volt Eaglel és nyáktervezőt sem láttam középsuli óta.
- balzafa doboz készítés -> előtte 0 tapasztalatom volt ilyenel
- működik érzés. mégha tudom hogy félkész is.A project szigorúan itthonra készült, belegondolva, hogy mennyi időt tettem bele, és a 60 Neopixel kör sem olyan olcsó. Ez nekem csak hobby, így nem feltétlen a mindenek feletti ésszerű tervezés és kivitelezés a cél.
Ha kész lesz akkor nagyszerű karácsonyi ajándék lehet pl szülőknek egy második darab ahol az elvétett hibákat már nem követem el újra. -
JozsBiker
aktív tag
válasz
Tankblock #7057 üzenetére
Nem volna célravezetőbb DCF77 modult használni ? Nem kellene wifi kapcsolat, sem RTC, automatikusan menne az időszámítás átállás, stb. Én is az épülőfélben levő órám pontosan tartásán agyalgok, és elvben arra jutottam, hogy a dcf jó megoldás lehet. Nem tudom mennyire problémás a rádióhullámok vétele, de a társasház alagsorában levő betonfalú műhelyem mélyén egy dcf -es óra vígan működik. Így gondolom e 6 centis ferrit antennás modul számára sincs akadály:
-
Teasüti
nagyúr
válasz
Janos250 #6949 üzenetére
Tévedsz.
Atmel324p-vel én 300 db ws2812b ledet vezéreltem mindenféle gond nélkül.
A bonyolultabb effekteknél - mint mondjuk két eltérő effekt számolása + áttűnés a kettő között - az fps bezuhant kicsit, de így is értékelhető eredményt adott. Az egyszerűbb effekteknél, ahol nem kell sokat számolni, ott sok száz fps is elérhető volt. Maga a szalag frissítési ideje az nem akkora időszelet, hogy te szemmel bármilyen formában észrevedd, főleg magasabb fps-nél. Ekkor ugye nincs interrupt, szóval az idő számolása megáll arra a pár ms-ra, de nem vettem észre microstuttering-et az animációban. Pedig jó szemem van a kadenciahelyességhez.
Az meg hogy fizikailag több láncon vannak sorba fűzve a ledek, nem változtat semmit. A ledek számától függ az animáció sebessége, nem attól, hogy hány portra vannak szétszórva. Szép sorban végigmész a portokon a frissítés során. Egy kimenet helyett több kimenet van. Ennyi.
Több példányt kell csinálni abból az objektumból, amivel a led szalagot definiálod. -
Teasüti
nagyúr
válasz
Tankblock #7068 üzenetére
Érzésre esp-idf is erősen fejlesztés alatt van.
Hát mit ne mondjak, nekem eddig egy hatalmas csalódás.
Nem igaz, hogy 2017-ben az appok világában nem tudnak felhúzni egy normális frontend-et.
Neeem, e helyett csomagolj ki 20000 apró fájlt, meg parancssorból telepíts a Github repojából.
És most felraktam vmi 2 giga hangyaf.sznyi fájlocskát és még egy szövegszerkesztőt is külön rakjak fel magamnak mert azt nem tartalmaz.
Azt hittem elsőre ez vmi vicc, de sajnos teljesen komoly.
Pont ezek miatt nem használok Linux-ot se. -
Tankblock
aktív tag
válasz
Teasüti #7067 üzenetére
Hello,
Ez engem is érdekelne, amúgy se szeretném használi tovább az arduinot, és egy kicsit programozni.
Eddig csak annyit tudok amit a demokban leírtak, vagy amit a pcbreflux csatornáján lehet tanulni a youtubon.
Érzésre esp-idf is erősen fejlesztés alatt van. a esp32 forumja iszonyat lassú. A frissen regisztrálóknak a moderátor nézi és engedélyezi a hozzászólását.Referencia alapján kezdtem a küzdelmet.
-
Teasüti
nagyúr
Szép estét!
ESP-IDF kapcsán van vmi bevezető a programozásba vhol? Vagy vmi közösség, ahol vannak "howto"-k?
Szeretnék belevágni a natív programozásába (mert megőszülök, mire az Arduino Core funkcionalitása teljes körű lesz), de azon kapom magam, hogy igazából sehol nem írnak arról hogy kell programozni.
Vannak példaprogramok, meg van API referencia és hardveres referencia is. De nem találtam még kezdőknek szóló tutorialt. A legtöbb írás addig terjed, hogy hogy kell felrakni a fejlesztőkörnyezetet és hogy kell feltölteni a Hello World példaprogramot. De azt nem, hogy hogyan írjak programot.
Erre vmi útmutató?
Köszönöm! -
Vladi
nagyúr
Nos még dolgozom a projektemen.
Ott tartok, hogy a hardver kész, leteszteltem, működik. Beépítettem a végleges dobozába, még mindig működik.Kóddal bajlódtam mostanában, mindjárt mutatom mire jutottam. A feladat ugye az, hogy ketyeg egy számláló, mondjuk 20 másodperre állítva. Ha letelik az idő, akkor csinál egy kapcoslást egy relén. 100 ms-bekapcs, majd ki.
De van 2 gomb, az egyik azonnal kapcsol, majd nullázza a számlálót és kezdi elölről.
A másik gomb amíg nyomva van, addig pausálja a folyamatot.Kérdéseim:
- megszíktást használok külsőt a két gombra. Az jó -e ide? Mert más módon nem tudtam kitalálni a megoldást.
- a nyissz megszakításba kellene még egy számláló nullázás. Meg a delay helyett egy módszer. Mert úgy tudom megszakítás alatt nem használható.const int piros = 3; //3-es pinbe dugva az azonnali vágó kapcsoló
volatile const int mikro = 2; //2-as pinbe van a hurka csináló gomb.é
volatile int alapled = 13;
volatile const int rele = 6; // a kapcsoló relé.
const long vido = 19890; // EZ A LENYEG! Ez a vágási idő ciklus. kb 51 az 1 mm-t jelent. millisecundum egyébként.
long previousMillis = 0;
void setup() {
pinMode(piros, INPUT); // a 10-es piros az bemenet lett
pinMode(mikro, INPUT); // a nyócas hurkázó is bemenet
pinMode(alapled, OUTPUT);
pinMode(rele, OUTPUT); // relé a 6-on kimenet
Serial.begin(9600);
attachInterrupt(0, fuggo, LOW);
attachInterrupt(1, nyissz, CHANGE);
}
void loop(){
unsigned long currentMillis = millis();
if(currentMillis - previousMillis >= vido) {
previousMillis = currentMillis;
}// ??? e meg itt valahogy nem jó, át kell írni az időzítést és be kell gyűni az utána jövő kódot a blokkba.
digitalWrite(rele, HIGH);
delay(100);
digitalWrite(rele, LOW);
Serial.println("Vágtam, kövi.");
}
void fuggo(){
while (digitalRead(mikro) == LOW)
digitalWrite(alapled, HIGH);
}
void nyissz(){
digitalWrite(rele, HIGH);
delayMicroseconds(100000);// e lehet nem is jó :(
digitalWrite(rele, LOW);
Serial.println("Vágtam, kövi.");
//??? itt még nullázni kellene
} -
Tankblock
aktív tag
Hallo,
Valaki esetleg ESP32 programozik ESP-IDF el?
Lenne egy kérdésem,
ledc re interruptot hogy lehet hozzárakni?ledc_fade_func_install(0);
ledc_isr_register(&ledc_isr_fnc, NULL, ESP_INTR_FLAG_IRAM , NULL);setupban tovább
printf("1. LEDC fade up to duty = %d\n", LEDC_TEST_DUTY);
után amikor az interrput jönne belehal...
for (ch = 0; ch < LEDC_TEST_CH_NUM; ch++) {
ledc_set_fade_with_time(ledc_channel[ch].speed_mode,
ledc_channel[ch].channel, LEDC_TEST_DUTY, LEDC_TEST_FADE_TIME);
ledc_fade_start(ledc_channel[ch].speed_mode,
ledc_channel[ch].channel, LEDC_FADE_NO_WAIT);
}
vTaskDelay()ahol: --> itt ugye nem szabad printF használni, de ha másra cserélem akkor is megpusztul.
void IRAM_ATTR ledc_isr_fnc( void * arg) {
printf("OMG, it is works \n");
} -
bajaki
őstag
Időközben arra juttottam, hogy fut powerbankról is a kód, DE resetelni kell egyszer az Arduino-t a fizikai reset gombbal miután az áramforráshoz kötöttem. PC-n ugye ez azért nem jött elő, mert a Serial Monitor megnyitásakor resetel is egyet.
De gondolom ez nem normális működés. Power-on resetnek is működnie kellene, nem?
Hol keressem vajon a hibát? Valamilyen memóriával kapcsolatos probléma lenne?
Tudok esetleg kódból resetelni (egyszer) miután az áramforrás csatlakoztatva lett?
-
fpeter84
senior tag
válasz
H3inike #7059 üzenetére
I=P/U vagyis ~0.33A áramigénye van akkor a szivattyúnak. Relé helyett inkább egy N MOSFET-et javasolnék:
A fet mindenképpen legyen túlméretezve hogy ne legyen probléma a melegedése. TO92 tokozásban akár több amper terhelhetőségűt is kapsz és azt még rá tudod építeni levegőben a mini pro-ra... Azért tapizással ellenőrizd majd a melegedését és ha erősen melegszik akkor egy lemez hűtőfület érdemes lehet ráapplikálni...
-
H3inike
csendes tag
Sziasztok!
Egy kezdő kérdésem lenne:
Van egy 3V-os, kb 1W teljesítményű micro szivattyúm, amit egy arduino mini pro-val akarok vezérelni. Lehetőleg minél helytakarékosabb megoldás kellene. Használjak mindenképpen relét a vezérléshez, megoldható nélküle is biztonságosan?köszi
-
Tankblock
aktív tag
Hello,
Egy az egyben természetesen nem. A tervezési minta, az volt, hogy az órának nem kellene egész nap Wifi-t használni, inkább RTC kellene frissíteni alkalmanként. A másik az az állapotgépekkel működik, és ha jól emlékszen delay az szinte sehol sincs benne. Ez azért volt fontos, hogy ha lehet ne lehessen észrevenni azt hogy akadozik a másodperc mutató.
Ha kiveszed belőle WS2812b alias NeoPixel kódját és hozzáírod a "MAX7219 Dot Matrix Module 4 In One Display" kódját akkor igen,
Ha jól emlékszem MIT licences. Használd egészséggel.
-
Tankblock
aktív tag
-
A214
aktív tag
Sziasztok,
Megint ntp órával zaklatlak titeket. Most volt időátállás de nem követte.
Tudtok ebben segíteni ,hogy automatikusan átálljon.
Az eszkőz egy wemos d1 mini pro.A kód a linkelt oldal végén van. [link]
Ja, most látom ez még mp3 nyavalyával is meg van spékelve az nálam nincs.
-
gyáliSanyi
őstag
Sziasztok!
Lenne egy kezdő kérdésem.
Szóval van egy ilyen parancssor [link].
Itt a libraryM-ba már benne van a Hx711 gondolom a liquidcrystal-t is be kellene hozzá tölteni.
Hol találnék ehhez megfelelő fájlt a libraryba?
l2C 1602 LCD lenne. -
bajaki
őstag
Megtaláltam hol hasal el:
Van egy ilyenem:
SoftwareSerial mySerial(7, 8);
Itt száll el, de csak akkor ha nincs PC-re dugva:
mySerial.println(sendArray);
sendArray egy char tömb, tartalma:
"{\"latitude\":46.6163672,\"longitude\":19.2515683,\"altitude\":143.0,\"speed\":50.0}"
Így pedig lefut, tehát akkor van probléma amikor char tömböt írok a SoftwareSerial-ra.
mySerial.println("{\"latitude\":46.6163672,\"longitude\":19.2515683,\"altitude\":143.0,\"speed\":50.0}");
Valakinek ötlet a megoldásra?
-
bajaki
őstag
válasz
vargalex #7040 üzenetére
Ez is felmerült még korábban mint probléma, de erre találtam (hozzáteszem véletlen) egy megoldást. Beiktattam egy USB-s feszültség és áramerősség mérőt, mert kíváncsi voltam az átfolyó áramra és így nem kapcsol ki.
Közben debugolok... Nem a SoftwareSerial miatt van. Ráraktam egy HTTP Post parancsot most az Arduinora egy sima char tömbbel és így megy, szóval valahol máshol van a hiba.
Szívesen bemásolnám ide a kódot, hátha valaki gyorsan megtalálja, de sajnos most nem tehetem. Szakdolgozat lesz a témából ha minden jól megy.Szóval ezt most nekem kell megtalálnom.
-
bajaki
őstag
Sziasztok!
Egy korábbi ötletemen dolgozok jelenleg. (GPS alapú nyomkövető rendszer). Végül egy ilyen, Elecrow SIM808 GPRS+GPS modult szereztem be, de most kicsit elakadtam.
Odáig jutott most a dolog, hogy tudok küldeni SMS-t az eszköznek, mely ha a megfelelő szöveget tartalmazza akkor elkezdi küldeni HTTP Post segítségével a GPS koordinátákat egy webszervernek, amely letárolja adatbázisba. Ez jól is működik, nincs gond.
Azonban lehet, hogy nem gondoltam át eléggé a dolgot, illetve nem értem tökéletesen a működést.
A Shield-del a 7-es és 8-as PIN-en keresztül a SoftwareSerial könyvtár segítségével kommunikálok. Írtam egy függvényt, amelynek segítségével küldöm a Shield-re az AT parancsokat.Ma ki akartam próbálni az eszközt power bankról, azonban nem működött (nem küldött semmilyen adatot a szervernek). Ahogy említettem, nem teljesen értem a SoftwareSerial könyvtárat. Jelen elképzelésem nem megvalósítható, nem fog PC nélkül működni a kód a SoftwareSerial könyvtár miatt, vagy máshol keressem a hibát?
-
Janos250
őstag
válasz
vargalex #7023 üzenetére
És ha a CCOUNT-hoz számolod az időt, amennyit aludni szükséges?
Akkor legalább nem összegződnek a hibák. Bár nem tudom, hogy deep sleepben inkrementálódik-e, soha nem próbáltam.
Azoknak, akiket még esetleg érdekel a CCOUNT használata,de nem ismerik, ESP32-re egy minta:unsigned elozo = 0 ;
void setup() {
Serial.begin(115200) ;
Serial.println(" xthal_get_ccount() ");
}
void loop() {
unsigned a = xthal_get_ccount();
Serial.print(" xthal_get_ccount() erteke = ");
Serial.println(a);
Serial.print(" kulonbseg = ");
Serial.println(a - elozo);
elozo = a ;
delay(1000);
}kiírás:
xthal_get_ccount() erteke = 1927227995
kulonbseg = 240000000
xthal_get_ccount() erteke = 2167227995
kulonbseg = 240000000 -
JozsBiker
aktív tag
Sziasztok!
Építek egy led -es órát, és valahogy a pontos időt kellene biztosítanom. Nem saját részre lesz, így ahova kerül, nem tudom milyen adottságok lesznek, ezért wifi és gps kilőve. Ha más nem lesz maradok a DS3231 -nél, de annak is megvan a veszélye, hogy elmászik. Ezért DCF modulra gondoltam, viszont úgy látom valamiért nem olyan elterjedt mint a többi kiegészítő az Arduinohoz. Konkrétan eBay -en kínait ( értsd: olcsót :-) nem is találtam. Lehet hogy nem jól kerestem. Tudtok esetleg "kedvező" beszerzési lehetőséget ? Köszi.
-
S.Milan
csendes tag
Sziasztok,
Tudja valaki hogy Wemos D1mini-t, hogy lehet rejtett Wi-Fi hálózathoz csatlakoztatni?
Előre is köszi!
-
fpeter84
senior tag
Mi értelme ennek az RF-es túlbonyolításnak? Miért nem külső RTC ami az INT lábával adott időben ébreszti? Egy DS3231 fillérekből kijön, a fogyasztása cirka zéró, évekig elmegy egy 2032-es elemről - adott esetben az elem akár el is hagyható, a cellára közvetlenül rá lehet kötni a vbat bemenetét...
(Mondjuk ezt alapból tudnia kellene az ESP-nek a belső RTC-vel is - tartok tőle csak szoftveres oldalról nincsen meg hozzá a megfelelő támogatás)
-
gyapo11
őstag
válasz
vargalex #7023 üzenetére
Jó nagy tekercsek kellenek a passzív vevőhöz, az egész szoba körül, de elvileg megoldható. De ha van vezeték, akkor már elviheted az esp-ig, és akkor van táp, nem kell az akkus spórolás. Igazából az egész házat kellene körbekerülni a tekerccsel, és akkor akárhol lehet a mérőpont.
Viszont ha van RTC-d az esp mellett, akkor azzal nem lehet 10 percenként alarmot generálni az ébresztéshez? Vagy ha az nincs, akkor egy oszcillátor meg egy számláló cmos ic-kből. -
vargalex
félisten
Sziasztok!
Kis ötletelésre / tapasztalatra lenne szükségem.
Úgy gondoltam, hogy ledobok (még) néhány ESP8266-ot DS18B20-al a lakás különböző pontjaira. Ezek nem feltétlenül olyan helyen lennének, ahol elérhető valamilyen konnektor, így akkus táplálásra gondoltam. Ezt 18650-es cellákkal, HT7333-al fogom megvalósítani. Hőmérséklet olvasás percenként történik (akku feszültséggel együtt). A minél hosszabb akkuidő biztosítása miatt az ESP-t 2 mérés között deep sleep-be teszem, a wifi kapcsolatot csak 10 mérésenként építem fel, így a közben mért eredményeket RTC memóriában tárolom. A kódot megírtam, szépen működik minden.
Egyetlen problémám van, amivel úgy tűnik, hogy senki nem foglalkozik (legalábbis, amilyen deep sleep megoldásokat találtam). Ez pedig az, hogy az összes megvalósításban egyszerűen fix időtartamig küldik deep sleep-be az eszközt. Nekem viszont az kellene, hogy fix időközönként történjen meg a mérés és küldje a post-ot a szerverre. Ezt próbáltam megoldani úgy, hogy a szükséges deep sleep időből levonom az indulás óta eltelt időt (a micros() függvénnyel). Több kevesebb sikerrel megy, de úgy tűnik, hogy a deep sleep időzítése sem teljesen korrekt (mintha kevesebb idő telne el, mint kellene). Most éppen valamilyen korrekciós tényezővel próbálom még szorozni, de ugye a kód futása sem mindig pontosan azonos ideig tart (jellemzően a DS18B20 inicializálása és kiolvasási ideje ingadozik valamennyit).
Be lehetne még kavarni az NTP-t, de ahhoz vagy minden kiolvasásnál mégis csatlakoznom kell a wifi-hez, vagy csak 10 percenként a post-ot tudom szinkronizálni valamilyen egzakt időponthoz. Viszont a wifi folyamatos felébresztése nyilván növeli a fogyasztást (a wifi modul bekapcsolása és a nem deep sleep-ben töltött idő jelentős növekedése miatt is).Bármilyen ötletet várok.
-
válasz
Victoryus #7021 üzenetére
A Wemos D1 az direkt olyan kialakítású, mint az UNO, a shield-ek elvileg kompatibilisek, leszámítva, hogy a csatlakozósor legtöbb lába nincs bekötve, mivel ugye az esp-nek kevesebb a kimenete. Tehát csak azokat a lábakat tudod használni. Na meg persze a táp is különbözik, mert az esp-nek 3v3 kell.
-
Esp32 lappal is lehet használni a shield v5-öt meg a motorvezérlőt?
-
válasz
Victoryus #7016 üzenetére
Azt hiszem ez lesz az ami nekem kell:
A youtube-on ezt a tutorialt néztem meg:
Hát egyelőre a servo motor mozog, meg tudok ledet villogtatni. Az ultrahang szenzor nem igazán azt csinálja ami a példában van, csak kérdőjeleket ír. Az még nem tiszta, hogy mi alapján adok meg neki pint. A példa programban ez van:#define TRIG_PIN A0
#define ECHO_PIN A1
Én meg akárhogy nézem szerintem 3-4-nek kéne lenni, de úgy is kérdőjeleket ír. Az is lehet, hogy nem lett 100%-os a jumper kábelem. Illetve azt se értem teljesen, hogy is van ez. Az első képen az digitális bemenet nem? A másikon meg analógra van kötve. Az első verziót sajnos nem tudom tesztelni amíg nincs normális jumper kábelem.(pc speaker 4-es jumper van most összegányolva)
Azt viszont látom már, hogy ez a szett messze nem "kulcsrakész". Kábeleket igazán tehettek volna bele... Ha minden jól megy azok 1 héten belül ideérnek, találtam egy ebayes eladót aki angliából küldi, az alis kiegészítő csomag 40 nap alatt se ért ide. Az ultrahang szenzort se lehet felfogatni semmihez, illetve a szervo konzollal is dolgozni kell még. Ez tényleg barkács szett. Végül is nem bánom, mert elvagyok vele. -
Egy kis segítséget kérek! Guberáltam régi pc házból jumper kábelt, van egy 4 eres így. Sajnos amit rendeltem valahol bolyong még mindig... Szóval nekiálltam összerakni, de elakadtam a 2 kerekes robotommal. Youtube videókból én nem tudtam értelmezni, hogy is kéne összekötni a sensor shield v5-öt meg a L298n motorvezérlőt. Illetve abban se vagyok biztos, hogy csak a 4 tüske kéne a motorvezérlőről, mert van ott mellette még 2 jumper. Rajzoltam egy vázlatot:
-
gyapo11
őstag
válasz
csubuka #7012 üzenetére
Valami jó kis szervomotor, ami tekergeti a potmétert, meg körbe valami szenzor, hogy mindig tudd a potméter állását.
Tudni kellene, hogy a potméteres áramkör mi is, fázishasító, pwm, frekiváltó vagy mi. Aztán hogy milyen jel van a potméteren, és utána lehetne törpölni, hogy mi lenne a megoldás. -
DigitXT
félisten
Bár nem ismerem a fejlesztőkörnyezetet, de általában meg kell adni a path-t,
ha csak ilyen kacsacsőrök közé rakod a headert, azt az alap helyen keresi.Minimum idézőjelbe kéne tenni (HA a forrásfájl mellett van), vagy konkrétan a
könyvtárat is megadni. De mint mondtam, ez csak az "általános tapasztalat". -
Dalee
aktív tag
Probálkoztam ESP8266-on time server használatával (NPT client library). A könyvtár csak az időt, illetve az epoch időt szolgáltatja. A dátum megállapításához szükséges, hogy az epoch idő átalakításra kerüljön év, hónap, napra. Ehhez találtam egy könyvtárt, mely több forrásfájlt tartalmaz (Time.h, Time.cpp, TimeLib,stb...).
A sketch/library-ban létrehozva Time könyvtárt, az include <TimeLib.h> nem találja a TimeLib.h-t.
Hogy lehet a program számáta láthatóvá tenni egy könyvtár különböző nevű, a könyvtár nevével nem egyező fájlokat?
-
csubuka
addikt
válasz
fpeter84 #7011 üzenetére
Köszönöm szépen a részletes válaszod!
Remekül hangzik, utánanézek akkor a megkívánt alkatrészeknek.
Ugyanakkor sajnos ma mélyebben beleásódva kideürlt, hogy tévhitben éltem és az EC DC motoros venti helyett valami hagyományos AC motoros venti van (valaki erősen spórolt), szóval az ötletem részben át kell, hogy alakuljon.
Van hozzá egy potméteres fali fordulatszám szabályzó. Vagy abban kell az analóg potméter helyére bekötni egy digitálisat vagy kikötni az analóg potmétert és egy az Arduino-ból kiadott PWM-jelből csinált analóg feszültséget kell betáplálni a poti helyére vagy ilyesmi. Bekavarodtam
Teljesen ujjáépíteni kár volna tán az AC motor szabályzóját. Csak a kézi csavargatás helyett az Arduino "csavargatná" a digi potit.
-
fpeter84
senior tag
válasz
csubuka #7010 üzenetére
Kapcsrajz tervező programtól függően van ahol rejtett módon van bekötve a vonatkozó táp ágra - látni nem látod alapból - vagy a 2-4 opamp-ot tartalmazó toknál csak az elsőn van ábrázolva, vagy külön mozgatható elemként pl... Természetesen a gyakorlatban mindig kell neki tápot adni...
Ha single supply / rail-to-rail típussal építed akkor tökéletes lesz, pl MCP6H01-2-4. Ha 3.3-5V-ból akarsz 10-12-t akkor 1 opamp fokozat is tökéletes, ha 10-20x faktornál nagyobb erősítésre van szükség akkor már több lépcsőt szoktak használni.
Vagy egy jóval egyszerűbb verzió - talán kevésbé precíz, picit nagyobb a torzítása de ez leginkább csak műszerrel mutatható ki, még primitív audio célra is jó lehet: PWM analóggá filterezése, kiegészítve egy félvezetővel ami a nagyobb tápfeszt kapcsolja...
-
csubuka
addikt
válasz
gyapo11 #7009 üzenetére
Értem köszönöm!
Tehát akkor végeredményben a képen mutatott op amp IC nem teljesen jól van rajzolva mert a táp nem volt mutatva rajta. Helyesen így lenne:
De elvileg akkor jól megválasztott IC-vel, ha a 12V-ot kötöm rá a VIN-ről a táp bemenetére az IC-nek akkor jó leszek elvileg....?
-
gyapo11
őstag
válasz
csubuka #7008 üzenetére
Rail to rail az ic, ha táptól tápig tudja a kimenetét mozgatni. Tehát pl. 12 V-os táppal 0-tól 12 V-ig.
Ha nem ilyen, akkor maradék feszültségek miatt a kimenet nem éri el az alsó és/vagy a fölső határt. Ilyenkor a megkívánt fölsőnél nagyobb, és az alsónál kisebb tápot kell adni neki, pl. 20 V-ot, de úgy, hogy a föld alatt legyen a negatív oldal pl. -5 V, és 15 V-on a pozitív. Ekkor a 0-tól 12-ig menni fog neki a kimenetén. -
csubuka
addikt
válasz
gyapo11 #7004 üzenetére
Köszönöm szépen!
Keresgéltem egy jót. Nem nagyon van ilyen készen. Az ipar nemigen megy házibarkács felé, mindenki bevált nagy márkák, lepapírozott termékeit nyomja (telhjesen érthetően, az én mókolásomnak nem lesz semmilyen certifikátja, may leég az iroda
), szóval nem olyan népszerű ez a 0-10V-os kimenet a barkács szegmensben
A szerencsém az, hogy így, hogy jó a 10V PWM is (1-10 kHz között kell legyen a frekije ahogy láttam, nem 25 kHz körül, amit a PC ventik kérnek... 1mA áram fog ott folyni amúgy), legalább nem kell R-C szűréssel, akármivel analóg jellé okosítani a kimenetet. Szóval azt barkácsolnom kell. Az ellenállások megvannak, van szép gyűjteményem, de tranyót vennem kell majd akkor.
A PWM bementet akkor elfelejtem, meg lehet anélkül is úszni.
Ez korrekt lenne a kimenetre, valami "op-amp" lenne benne?
-
-
gyapo11
őstag
válasz
csubuka #7003 üzenetére
Nem tudom van-e ilyen szintáttevő áramkör, de 3 ellenállás és két tranzisztor, ha mégis megcsinálnád akkor lerajzolom. Bemeneti oldalon meg sokkal könnyebb az analóg feszültséget lemérni, mint pwm kitöltési tényezőt, szóval ha van analóg jel, akkor azt mérd meg az egyik a/d lábon.
-
csubuka
addikt
válasz
csubuka #7002 üzenetére
Az elején tesztüzemben amúgy egy sima DS18B20 hőmérséklet szenzor alapján akarom változtatni a fordulatot, azt könnyen tudom ellenőrizni a való életben akár kézbe vétellel.
Ámde amin agyaltam, hogy ez a 0-10V PWM vagy analóg kimenet szabályzásra elég gyakori. Ventik meg LED akármiknek is ilyen kell. Nincsen erre egy már kész panel, ami rámegy az Arduino 5V PWM kimenetére vagy az ESP3.3V-os PWM kimenetére és az alapján előállítja a kimenő jelet a kívánt 0-10V sávban?
*Nem abszolút célom elmerülni az elektronika részében, bár kétségkívül érdekes ez és hasznos. De limitál az idő és a fontos a működő rendszer és a sikerélmény lenne
-
csubuka
addikt
válasz
gyapo11 #7001 üzenetére
Köszönöm szépen válaszod!
A bemenő PWM jelszint okés, 3.3V-os. Azzal nincs gond. A frekije kérdéses.
A kimenet PWM feszültségszintjének növeléséhez viszont akkor utána kell néznem, hogy mi kell.
(#6998) aryes: Valóban ez így a ki-be kapcsolást megoldaná kellemesen, de azért azzal is lehet spórolni, hogyha mindig a kellő intenzitással kapcsol be a rendszer és nem maxira pörgetve. Maxin kicsit túl nagy sebeséggel jön a friss levegő amúgy, szóval az nem teljesen kellemes.
Főleg ha csak pár ember kerül be, akkor kicsit túltolná a maxi fordulattal a dolgokat a szellőzés. De az totálisan igaz, hogy így mondjuk éjszakára leállhatna a rendszer szépen, szóval a vezérlésben nem árt ennek is szerepet adni. Mondjuk ugyanakkor ha nincs bent ember, akkor szépen beállítja a megfelelő CO2 szintet és mivel nem lesz mi eltolja ezért magától lekapcsol.
(#7000) Gergosz2: Természetesen, három szenzor opció van.
1) Az első CO2, ami képes 0-4V analóg jelet is szolgáltatni (UAET és PWM mellett). Arduino-val ez lehet, hogy okésabb. A PWM jel feldolgozása akár nehezebb is lehet, mint ezé. De az ESP csak 0-1V között tud analóg-digitális konverziót aszsem, szóval az nem adja, komplikáltabbá tenné a dolgot feleslegesen.
2) CO2, ami UART vagy PWM jelet tud kiadni. A PWM frekije számíthat a dolog egyszerű vagy bonyolult megítélésében. Ugyanakkor lehet az UART lenne a legkorrektebb megoldás.
3) Mindenféle gáz érzékelő (VOC), I2C kapcsolattal. Bár ilyen szűk helyen sok embernél a CO2 lenne a leginkább releváns "szennyező". Ennyi erővel akár páratartalomra is rá lehetne menni, csak érdemesebb a legrelevánsabbra vagy a legolcsóbbra, de azért nem olyan egetverő összegek ezek
-
gyapo11
őstag
válasz
csubuka #6997 üzenetére
Ha nem akarsz külső áramköröket forrasztani, akkor a co2 szenzor pwm frekijétől függően akár meg is tudod mérni az arduinoval az arányt. Ha mondjuk 1 kHz környékén van, akkor szerintem jó eséllyel mérhető. Esetleg szintillesztést kell csinálni, hogy 0-5 V tartományba essen a feszültség.
Kifelé az 5 V-os pwm-ből kell 10 V-osat csinálni, ide is kell azért pár alkatrész, táp.
Új hozzászólás Aktív témák
Hirdetés
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Új Apple iPhone 16 Pro 128GB, Kártyafüggetlen, 3 Év Garanciával
- Honor Magic7 Lite 512GB, Kártyafüggetlen, 1 Év Garanciával
- Honor 400 lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- HP Prodesk 600G4 SFF - i5-8500, 16GB DDR4, 512GB NVMe SSD, ATI R5 430 2GB eladó!
- AKCIÓ! AMD Ryzen 9 3900X 12 mag 24 szál processzor garanciával hibátlan működéssel
- PS3 Játékok 1500Ft/db - RÉSZLETEK A LEÍRÁSBAN
- ASUS Radeon RX 7600 V2 Dual OC 8Gb - Aqua gari 26.12.12 ig
- Dell és HP szerver HDD caddy keretek, adapterek. Több száz darab készleten, szállítás akár másnapra
- MacBook felvásárlás!! Macbook, Macbook Air, Macbook Pro
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged