- Motorola Edge 40 - jó bőr
- Megjelent a Moondrop audio-fókuszú telefonja Kínában, lesz globális verzió is
- Sony Xperia 10 IV - műanyag újracsomagolás
- Indiában startolt a Poco X6 és X6 Pro
- Apple AirPods Pro (2. generáció) - csiszolt almaságok
- Vodafone mobilszolgáltatások
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy A53 5G - kevesebbet többért
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi 14 Ultra - Leica hercegnő
Hirdetés
-
Übergyors Samsungnak próbál látszani egy hamisított NVMe SSD
ph A kissé megtévesztő külsejű, M.2-es modell valóságtól elrugaszkodott árral, illetve sebességgel kecsegtet.
-
3 évre zárnák börtönbe a legnagyobb kriptotőzsde korábbi vezetőjét
it Az amerikai ügyészek keményebb, 3 éves börtönbüntetést akarnak elérni, miután Changpeng Zhao, a Binance korábbi vezérigazgatója bűnösnek vallotta magát a pénzmosásellenes törvények megszegésében.
-
Hosszabb bemutatót kapott a Steel Seed
gp A PC-re és konzolokra szánt teljes kiadás valamikor idén debütál, pontos dátumot még nem kaptunk.
-
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
-
Tankblock
aktív tag
Hello,
Akkor megosztom hát mindenkivel, de felelősséget nem vállalok. Ez egy futó projectem
Ez ugrott amikor kell. minden nap hajnali 3:01 kor sync, de sajna megcsinálja vagy 15x 1 perc alatt. ezen van még mit csinálni.
Animációk is kezdetlegesek.....Release the Beast....
-
Tankblock
aktív tag
-
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.
[ Szerkesztve ]
Release the Beast....
-
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
-
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...
-
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?
[ Szerkesztve ]
-
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");
}Release the Beast....
-
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
}Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!
-
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![ Szerkesztve ]
-
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.
Release the Beast....
-
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.[ Szerkesztve ]
-
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. -
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:
[ Szerkesztve ]
-
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.Release the Beast....
-
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.
Release the Beast....
-
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.[ Szerkesztve ]
-
-
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ó....Release the Beast....
-
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
}[ Szerkesztve ]
Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!
-
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.[ Szerkesztve ]
Release the Beast....
-
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);
}
}[ Szerkesztve ]
-
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)
[ Szerkesztve ]
Release the Beast....
-
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...
[ Szerkesztve ]
-
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.
[ Szerkesztve ]
-
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.
[ Szerkesztve ]
-
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.
[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
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ó.
[ Szerkesztve ]
-
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.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
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.
[ Szerkesztve ]
-
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.
Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!
-
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)
[ Szerkesztve ]
Eladó Lego: 42139 All terrain vehicle
-
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.
[ Szerkesztve ]
Alex
-
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.Eladó Lego: 42139 All terrain vehicle
-
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.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet