- 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
-
Teasüti
nagyúr
LOL, kicsi a világ.
A hajlik résznél kicsit ráncoltam a homlokom. Mekkora nagyságrendekről beszélünk? Század, tized milliméter? Van ennek jelentősége? Tudnál mutatni ilyen automotive előírásokat? Én csak AS szabvány szerint készítem a dolgokat, de ha volna ilyen támpontom, az biztos javítana rajta.Amúgy ahogy nézem van egy rakat ilyen mini barebone ESP. Még válogatni is tudsz.
Úgy tűnik mindnek a 8266 az alapja.
Hogy oldod meg a mutatók működését? Jó nyilván léptető motorral, de honnan tudja majd hogy áll a mutató? Mi lesz a nullpont? -
_q
addikt
válasz
Teasüti #8898 üzenetére
Foglalkozunk szimulációkkal, illetve motoron (főleg 3 hengeres) csináltunk csomó vibrációs mérést. Mi esetünkben a nyák mérete kb 5x5 cm mindenféle automotive előírásokkal. Meglepő milyen vibrációkra képes a nyák, sőt mindenféle megtámasztásokkal is próbálkoztunk. Rezonál, hajlik amit csak lehet. Persze ha csak a nyákot nézzük jobb az eredmény szemben ha a nyákot berakjuk egy házba. Na ott a ház tud csak igazán szép eredményeket mutatni (nálunk üvegszálas házban van a nyák), nagyon sokat hozzá ad a vibrációhoz. Sokkal rosszabb az eredmény mint ház nélkül. Legjobb eredmény akkor van, ha konkrétan rá lenne ragasztva a nyák motor vázra, de a gyakorlatban ez nem annyira kivitelezhető dolog a külső behatások miatt se. Mivel nálad nincs ekkora jelentősége, így valószínű minden rendben lesz. Ha még se, akkor érdemes visszatérni a vibrációra ismét.
Analóg (mutatós) óra lenne. Valami ilyen: [link]
Annyi módosítással, hogy dátumot és hőmérsékletet mutatna a kijelzőn, lenne egy kinti egység, így kinti-benti hőmérséklet látszódna. Ezt pedig valahogy feldolgoznám, hogy látszódjon minimum 1 évre visszamenőleg a hőmérséklet, esetleg valamilyen telefonos hozzáférést az adatokhoz lenne még.
ESP-01 kisebb mérete miatt lenne jobb szerinted? -
Teasüti
nagyúr
Az egy accelero + gyro szenzor. Egy gyorsulásérzékellő önmagában tényleg szar erre a felhasználásra. Eleinte a féklámpát szerettem volna működtetni vele, de megtapasztalva mennyire szarul működik más termékekben ez a koncepció éppen az általad felsorolt problémák miatt, így azt inkább a sebességszenzorból okoskodom ki. Ebben az accelero csak segéd szenzor lesz, a kettő adattal együtt már lehet érzékelni hiba nélkül az intenzív gyorsítást és lassítást. (Többek közt ezzel válik majd interaktívvá a ledszalagos világítás is.) Önmagában egyik sem ideális - előbbi a megcsúszó kerék miatt adhat fals adatot, utóbbi meg a zaj miatt.
Amúgy a nyers G erőt csak egy tengelyen olvasom, a rázkódás meg általában nem a motor hosszanti tengelyén keletkezik. Persze hatásosan lehet szűrni is a jelet.
Amúgy menet közben inkább a DMP-t fogom használni, a gyro-t meg nem zavarja a rázkódás a pontos szögelfordulásoknál. Ez wheeli és stoppie érzékeléshez, valamint dőlésszög monitorozáshoz lesz használva.
Álló helyzetben meg nincs rázkódás, ekkor a nyers szenzor adatok tökéletesek védelmi funkciókra, DIY riasztóként. Ezt megtámogatva a GPS+GSM modullal telefonra kapom majd az értesítést, ha vmi történik. Ekkor ez a szenzor megint csak fő szerepet fog játszani, hogy meg lehessen állapítani viszik-e a gépet vagy csak meglökte vki. A beavatkozás is ez alapján történik majd.Az meg hogy a nyák rezonálni fog... Azért egy tüskesor elég stabilan tud tartani. Az alaplap meg le lesz csavarozva. Ennek a merevsége meg nem is kérdéses. Főleg, hogy relatív kicsi méret és 1,6 mm vastag üvegszálas lap.
De ha nagyon megerőltetem magam, akkor olyan burkolatot nyomtatok neki, hogy a szenzor a fedlaphoz lesz hozzácsavarozva, ha muszáj.Az órához kapcsolódóan:
Gondolom NTP szerverről veszed majd a pontos időt. Ehhez nem volna célszerűbb egy ESP-01? -
_q
addikt
válasz
Teasüti #8896 üzenetére
Szuper a panel
Igazad van, hogy kész modulokból egyszerűbb meg nem feltétlen éri meg teljesen újból felépíteni egy dev modul szerűt. Én azért szeretném külön, mert tanulok is így talán belőle, érdekel is a dolog, plusz nagyon kicsibe kellene megvalósítani az egészet. Egy analóg órát szeretnék fából, amin van egy kijelző 3.5"-os. Itt hátra felé nem nagyon tud kilógni semmi, ha nem szeretném, hogy túlzottan elálljon a faltól az egész. A hátlapot lehetne kimarni nagyobb felületen. Első körben megpróbálom így ha nem megy akkor marad a moduláris megoldás. Na meg lehet 2. projektnek már nem akarok én se szívni
Így elsőre még van kedvem. Ja meg én a programozó részt nem is tenném a panelre, szintén helyet megtakarítva. azt egy USB-s modullal oldanám meg.
Ha jól látom gyorsulás érzékelő van középen. Nem tudom ennek a jelét mire szeretnéd használni, de gondolom ez is a motorodon lesz. A motoron a vibráció elég nagy, a gyorsulás érzékelő nagyon érzékeny ezekre a vibrációkra. Ha nagyon pontos számításokat szeretnél valamihez, akkor az egyoldali felfogatás nem biztos hogy a legjobb megoldás. Maga a fő nyák is középen rezonálni fog (legalább 4 felfogató pont jó lenne, de még akkor se lehet elkerülni a vibrációt), plusz a gyorsulás érzékelő még egy másik nyákon van rajta.
-
Teasüti
nagyúr
Persze, simán. Egyszerűbb beültetni egy tüskesort, mint kézzel beforrasztani azokat az oldallábakat. Na meg így megvan minden alkatrész, ami kell a működéshez. Nem kell baszakodni usb porttal, meg a QFN tokozású USB-Serial konverterrel. (Ezt reflow nélkül konkrétan fel se lehet rakni. Talán esetleg gázzal?) Meg ott van az a rakás kondi és ellenállás, ledek, reset gomb, LDO, FET-ek, stb. Mit nyerek vele? Sok szopást. Azon kívül max egy letisztultabb arculatot. Ugyanannyi helyet foglal a PCB-n a hozzá járó alkatrészek miatt, ha meg shield formátumban használom, akkor tudok pakolni egyéb dolgokat a tüskesorok közé is.
Majd ha lesz reflow kemencém, akkor elgondolkodok rajta. De addig hobbi szinten meg szerintem teljesen felesleges miniatürizálni. Ez már ipari kategória, amihez ipari eszközök kellenek.SSOP-24 chip-et se élveztem beforrasztani, abból is nagyobbat vettem volna ha van.
-
Teasüti
nagyúr
válasz
Janos250 #8891 üzenetére
EasyEDA.
Jobban mondva a JLCPCB, mivel hogy azóta külön váltak. Már a második csokor NYÁK-ot rendeltem tőlük, az igényeim 99%-ához tökéletes választás. A maradék 1% az a thermal via volna, amit nem tudnak elkészíteni. (Ezt én hővezető pasztával orvosoltam.) Illetve az alapértelmezett NYÁK opciókkal kedvező az ára, ha van vmi extra igényed, mint mondjuk 2 oz vezetőréteg vastagság, vagy 1,6 mm-től eltérő PCB vastagság, esetleg a zöldön kívül másik színben, vagy egyéb spéci dolgok, akkor már nem annyira kedvező.
Az első 5-10 db-os tételt kis méretű PCB-k esetén gyakorta megcsinálják 2 $-ért. De teljes áron sem vészes, a féklámpámat ami 168x56 mm-es egyedi formával, megcsinálták 12 $-ért /5db. A szállítás 6 $ légi postával és 24 $ DHL Express-szel (nekem).
Batch order esetén érdemes játszadozni melyik tételt rakod be először a kosárba, arra jár a 2$-os spéci ár. -
Janos250
őstag
válasz
Teasüti #8890 üzenetére
"a flash memóriának fixen le vannak fogva azok a portok, amin pl az UART2 is van."
Az UART2 (más elnevezéssel UART1, ha 0-val kezdjük, ahogy a manual is teszi) mehet a default lábakra,
de Te is megadhatod, hogy hova menjen. Tehát az UART portok (is) azon a lábakon vannak, amelyiken akarod.
Ezt szoftverből tudod megadni, de a fkash memória külön IC, tehát az definiált, hogy a modulon belül melyik lábhoz van kötve.
A perifériák irányítgatásáról (GPIO matrix) is van egy félben lévő leírásom, majd ha kész lesz, felteszem a netre az egyéb ESP32-es szösszeneteim sorába."ki honnan veszi az ESP32-ket?"
Én is mindenkinek azt javasolom, hogy az ESP-WROOM32 alapút vegye!Apropó, nyák! Úgy alakult, hogy nekem is kell sajátot csinálnom. Te egyszer leírtad, hogy hol csináltatod, de nem találom. Küldenél egy linket újra,
Kösz. -
Teasüti
nagyúr
válasz
Janos250 #8873 üzenetére
Nem egészen. Hanem, hogy a flash memóriának fixen le vannak fogva azok a portok, amin pl az UART2 is van. AZ UART3 használata adott, csak azt hittem a feladathoz kettő UART port fog kelleni külön a GPS-nek és külön a SIM-nek, plusz a programozó port ugye. De ez a 2in1 modulokkal nem játszik szerencsére.
Apropó, kinyírtam az egyik vezérlőmet fordított usb polaritással, így felmerül a kérdés ki honnan veszi az ESP32-ket? Ali-n a legolcsóbb rev1-es lap amit eddig találtam 7 font.
Mindenképp ez a WROOM32 DevKitC-vel megegyező lábkiosztás kell, vagyis a kevesebb lábú NodeMCU jellegű ESP32S lapok nem jók.
(Hmm vagyis hát már van kész nyák tervem és legyártott nyákom a DevKitC-hez, de nagyon szemezek a Wemos Lolin32-vel is, amin van Lipo akku töltő és keskenyebb is.)
Köszi! -
tibi-d
tag
Mindenben egyetértek az előttem hozzászólókkal. A megjegyzésem csak arra vonatkozott, hogy teljesen más szemlélettel kell programozni egy PLC-t, mint egy arduinot, és a váltás nem volt egyszerű. Saját tapasztalaton fizettem meg a tanulópénzt, hiába van rengeteg példa a neten.
-
tibi-d
tag
Ez nem teljesen igaz, mert a PLC utasítások között is van olyan, hogy bemenet azonnali lekérdezés. Ekkor az adott bemenetet(ket) frissíti. Vagy megszakítást lehet generálni. A korszerű PLC-k már mikroszekundumos ciklusidővel dolgoznak, és nemigen van olyan fizikai folyamat, ami igényelné az ennél rövidebb lekérdezést. A régi PLC-k a program méretétől függően akár 10-50 milliszekundumos ciklusidővel dolgoztak.
-
Teasüti
nagyúr
Nekem ez alapján úgy tűnik, hogy éppen a PLC az ami eléggé korlátolt. És ha én többször szeretnék írni/olvasni egy portot a loop() egy átfordulása alatt?
Amúgy meg nem egészen értem a dilemmát a sorrend vezérlésnél. Azt írtad nem mindegy melyik gombot milyen sorrendben olvassa be a program. Na egyrészt ez a te programodtól függ, hogy mit milyen sorrendben kezelsz, másrészt viszont (nem tudom egy PLC hogy működik) itt amíg te megnyomsz egy gombot, addig a loop() nem túl komplex programok esetén több ezerszer lefut.
Mit számít az hány nanoszekundum telik el két port írása/olvasása között??
PLC-vel amennyire én tudom általában amúgy is automatizált gépeket vezérelnek, és nem hiszem, hogy a mechanikus, pneumatikus, hidraulikus, stb. aktuátorok akár csak milliszekundomos késleltetéssel dolgoznának.
Itt max akkor lenne jelentősége a sorrendeknek, ha a program feltételes várakozással tölti az ideje nagy részét és megvárja míg a perifériák befejezik amit csinálnak. Ha ekkor ugrik a következő sorra, akkor nyilván számít mi a következő sor. Lehet olyan programot írni, aminél egy program ciklus konkrétan megegyezik az adott gép feladatának egy ismétlésével. De a lineáris programozás nem erről szól, optimális esetben nincs várakozás. Itt a loop() folyamatosan fut és csak akkor lép be a feltételekbe, ha történik vmi érdemleges. Vagyis itt amíg a gép elvégez egy feladat ciklust, addig a program ciklus több ezerszer is lefuthat. Arduinon nincs blokkolás a programban, az egy magos processzorokon még a delay() használata se követendő példa. -
-
tibi-d
tag
válasz
vargalex #8882 üzenetére
A PLC-k úgy működnek, hogy a ciklus elején a fizikai "Input" területet bemásolják egy virtuális memória területre. Ezzel a memóriával dolgoznak a ciklus végéig. A ciklus végén a belső memóriaterület kiíródik a fizikai kimenetre.
Minden bemenet megtatrja állapotát a következő ciklus elejéig, az összes kimenet megtartja állapotát a következő ciklus végéig. Az arduinónál akár programsoronként ki-be tudom kapcsolgatni a kimeneteket, vagy soronként be tudom olvasni a bemenetet. -
vargalex
félisten
Nem teljesen értem a különbséget. Nyilván, Arduino alatt megnézed egy bemenet állapotát, majd csinálsz valamit. Miért foglalkozna vele, ha közben változott, hiszen a további programkódban már nem függ tőle semmi. Ha neked mégis úgy kellene, akkor mindig nézd meg az állapotot, ahol a futás függ tőle (esetleg használj megszakításokat).
Bár ezt a ciklus elején vs. beolvasás témát kifejthetnéd...
-
tibi-d
tag
Sziasztok!
A topikot olvasva néhány szösszenet jutott eszembe. Munkám révén PLC programozás a fő profilom (OMRON, SIEMENS, stb). Arduinoval csak az utóbbi időben foglalkoztom. Nagyon nehéz volt áttérni egy olyan programozási logikáról, amikor a PLC bemenetére adott "1" a programban is "1", és a "0" az "0". A PLC a ciklus elején egyszer beolvassa, és beállítja az értékét. Az arduino ezzel szemben csak akkor foglalkozik a be/kimenetekkel, amikor a program futása oda ér. Beolvasáskor eldönti, hogy mit kell csinálni, és utána nem hoglalkozik vele tovább. Így az állapotok nem változnak, míg egy másik programrész nem foglalkozik a "témával". Így egy bemenetre adott "1" csak a beolvasás pillanatában lesz kiértékelve, és ha közben "0"-ra vált, az arduinot ez egyáltalán nem érdekli, csak ha újra beolvassuk az értéket. Ez nagyon sok galibát tud okozni a program futása során, főleg ha sorrendi vezérlést kell végezni. Pl. nem volt mindegy, hogy egy program melyik gombot olvasta be előbb, stb. A prellegés mentesítés a másik ilyen probléma, amire számos példa található a neten. Összefoglalva, nem mindíg a logikusnak gondolt megoldás a legcélravezetőbb. -
Teasüti
nagyúr
Viszont a minden periféria "erre" az mcu-ra lesz bekötve, így nem volna praktikus egy másik vezérlőre kötni a gps-t. Azon filózom kihagyom a külső akkut és inkább a jármű akkujáról oldom meg vmi programozható öntartó relével.
ESP8266 nem játszik, a wifi ide haszontalan.(#8869) Tankblock
Használatban; de nem lesz szükség a második UART portra végül. Így hogy vannak 2in1 modulok, így elég egy port is. -
RAiN91
őstag
válasz
Janos250 #8877 üzenetére
Ezeknek utána nézek. Arra én is gondoltam, hogy már bootnál érzékel. Ezért lehúztam a csatlakozóját a mozgásérzékelőnek, de így is indul a program.
De már javul a helyzet. A kék LED bootnál mindig LOW (világító) állapotba kerül. Ha a program azt látja, hogy világít, akkor 10 másodperc késleltetés, majd kikapcsolja a LED-et. Else esetben pedig fut a fő program. De még tesztelem.
-
Janos250
őstag
Elvileg az olvasással a tényleges állapotot kell olvasnia.
Próbáld a setup-ban egyszer beolvasni, Serial-re kiírni, és látod, mi van.
Ha nem a kapcsoló tényleges állapotát írja ki, akkor rosszul van bekötve a kapcsoló, vagy a mozgásérzékelő.
A mozgásérzékelő korábban kap áramot, tehát addigra már stabil? (táp ráadáskor az enyém aktív állapotba kerül) -
RAiN91
őstag
Annyira jutottam, hogy nem úgy működik, ahogy gondoltam. Ha pl. 3,3V--ra érintem az adott GPIO-t, akkor az úgy is marad, elengedés után is. Ha vissza akarom kapcsolni, akkor GND-re kell kötnöm.
Ez nem gond, nyomógombbal meg tudom oldani, de akadt még egy probléma:Bootolás után a GPIO be / kimenetek HIGH állapotba kerülnek, és egyből indítja is a programomat. Olvasgattam, hogy állítólag a GPIO 4 és 5 nem kerül HIGH-ra, de nálam igen, mindegyiken végigpróbálgattam már. (mozgásérzékelő van ide kötve, ha bootolok, egyből érzékel is és riaszt).
-
Van külső felhúzó ellenállás? Mert a beépített nincs bekapcsolva a kód alapján.
Milyen gombot használsz az 5-ös porton?
A kód alapján, ha a gomb le van nyomva, a feltétel hamis lesz (feltételezem, hogy a gomb földre húzza a bemenetet!), így a kód pont a szándékoddal ellentétesen működik szerintem. -
Janos250
őstag
Én hardver hibát gyanítok, hogy nem jól van bekötve a kapcsoló.
Írasd ki az if előtt a digitalRead értékeket!"csak VBA-s logikával próbáltam felépíteni, de szerintem nem így működik a HA függvény a HA függvényen belül."
De, ugyanaz a logika, és így működik, ahogy gondolod.
-
Janos250
őstag
válasz
Teasüti #8865 üzenetére
Erre gondoltál?
/* ESP32 3 UARTs */
// HardwareSerial Serial(0); ez nem kell, mert a HardwareSerial,cpp fájlban benne van,
// automatikusan pédányosítódik
HardwareSerial Serial1(1);
HardwareSerial Serial2(2);
// Choose two free pins
#define SERIAL1_RXPIN 12
#define SERIAL1_TXPIN 13
void setup() {
Serial.begin(115200);
Serial1.begin(9600, SERIAL_8N1, SERIAL1_RXPIN, SERIAL1_TXPIN);
Serial2.begin(4800); // pin 16=RX, pin 17=TX
}A begin-ben lehet lábat megadni.
-
RAiN91
őstag
válasz
Tankblock #8871 üzenetére
Szia
Nem indul újra, a program teljesen jól működik, ha csak a GPIO15 aktív. De az a cél, hogy csak akkor működhessen az egész program, ha GPIO14-en (vagy akármelyiken, már próbáltam többet is) egy kapcsoló be van a kapcsolva.
De a programnyelvet nem nagyon ismerem, csak VBA-s logikával próbáltam felépíteni, de szerintem nem így működik a HA függvény a HA függvényen belül.
-
RAiN91
őstag
Kérdezek egyszerűbbet:
void setup()
{
pinMode(13, INPUT);
pinMode(5, INPUT);
void loop()
}
{
if (1 == digitalRead(5)) {
if (1 == digitalRead(13)) {
.....PROGRAM....
}
}
}Ha függvényen belül szeretnék még egy HA-t, de ebben a formában nem jó. (13-as bemenet-re akkor is elindítja a programot, ha 5-ös nem igaz).
-
RAiN91
őstag
Sziasztok
Egy egyszerű és függvényt szeretnék, de nem akar működni a gyakorlatban.
void setup()
{
pinMode(13, INPUT);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(2, OUTPUT); /// D4
pinMode(14, INPUT); /// D5 kapcsoló
pinMode(12, OUTPUT); /// D6 telo hív
pinMode(15, OUTPUT); /// D8 telo lerak
}
void loop()
{
if (1 == digitalRead(13) && 0 == digitalRead(14)) {
......
}.
}ha GPIO 14-et GND-re kötöm, és ha GPIO13 igaz, akkor nyomja a programot. De GPIO14-et olyan, mintha nem is figyelné, csak a 13-at (az egy mozgásérzékelő). Próbáltam HIGH-ra is állítani, tehát nem GND-re kötöm, hanem 3,3V-ra.
Egyébként NodeMCU a hardver.
-
Teasüti
nagyúr
Jó reggelt! Szeretnék egy gps és gsm modult, viszont csak egy UART portom van szabad (minden egyes egyéb port felhasználva az ESP-n). Van ilyen 2in1 modul, ami képes egy csatornán kommunikálni mindkét egységgel?
Mondjuk esetleg ez?Illetve filózok még azon, hogy akkuval kéne megtámogatni a projektet éppen a tracking miatt (amúgy gyújtásról megy a táp), ebben tudnátok segíteni? Ez lenne az első akkus kísérletem, se hardver terén, se programozásban nem ismerem a feltételeket.
Köszönöm! -
Teasüti
nagyúr
ESP32-nél a flash-hez kapcsolódó lábak mindig minden esetben foglaltak a háttértár műveletek számára?
Az SD2, SD3 lábakon lévő UART portot nem lehet felszabadítani vhogy? Nincs vmi olyan üzemmód, amikor csak fele csatornán megy a flash memória? -
Janos250
őstag
válasz
Teasüti #8862 üzenetére
Elővettem egyet (doit , ESP32 devkit V1, mert ez van kéznél)
Van rajta egy sárga 107J tantál kondenzátor (https://www.ebay.com/itm/10PCS-6-3V-100UF-B-case-107J-10-SMD-Tantalum-Capacitors-3-5mm-2-8mm/391354380476?hash=item5b1e89f0bc:g:y5QAAOSw5dNWhitt)
Mellette két kisebb kondi felirat nélkül
Az USB csati kozelében látok egy kondit, egy fekete nemtudommit, egy csomó ellemállót, 2 db. J3Y tranyót, és két ledet.
A tokozott hibridben (ESP-WROOM-32) a kapcs. rajz alapján van több mint egy tucat kondi. -
Teasüti
nagyúr
válasz
Janos250 #8861 üzenetére
Táp szűrő kondikként is szoktak rá hivatkozni. Igen, a Vcc és GND közé rakott kondik a chip Vcc lába előtt.
Ha ezt nézem, akkor e szerint tele van bypass/táp kondikkal a devkit az LDO előtt és után, az usb-uart chip-nél és az esp modulnál.
Viszont ránézésre a kéznél lévő modulomon és a rajzon nem egyenlő számú kondit vélek felfedezni.
És be se tudom azonosítani a Vdd33-on lévő kondikat. -
Teasüti
nagyúr
ESP32 dev lapokon vannak bypass kondik, ugye?
-
tvamos
nagyúr
válasz
dangerzone #8854 üzenetére
Szerintem vedd meg, nagyon szep dolog tamogatni az alapitvanyt! En is vettem toluk nehany Uno-t, meg Leonardot.
Amugy meg kene neked par szervo, meg tobb motor, mint ami ebben van!
Ahogyan aryes is javasolja, erdemes ESP32 alapu vezerlot venni, szerintem azt a verziot, ami van kis LiIon tolto, meg OLED display is. Akkor minden megvan, ami kell, es meg a szunetmentes tap is megoldott.
-
Janos250
őstag
válasz
dangerzone #8854 üzenetére
Harmincezer?
Kellene egy "hajam égnek áll" szmájli. Ha C++-hoz valamicskét értesz, akkor én a következőt javasolom:
Keresd meg az arduino rendszerben a main.cpp-t, egyből érteni fogod, mi az a setup, és mi az a loop függvény. Aztán nézd meg, mely objektumok vannak tőled függetlenül előre definiálva (Pl. Serial), és annak az osztálynak mik a tagfüggvényei. (Pl. Serial.println() ). Nézd meg a pin kezelő függvényeket, pl digitalWrite( , ). Ha ezzel megvagy, már tudod alapszinten programozni. Ha elakadsz a programmal, ne arra gondolj, hogy "mit lehet az Arduinoban", hanem, hogy "mit, hogyan lehet a C++-ban". A hardver további programozása némileg hardver függő is, bármennyire próbálták is univerzálisra csinálni. Persze az alap dolgokat használó programok gyakorlatilag bármelyik lapon ugyanúgy mennek, mert az Arduino alapfilozófiája, hogy ha egy procit illesztenek a rendszerbe, akkor ugyanazokat az osztályokat, függvényeket kell rá kidolgozni ugyanúgy, ahogy az az eredeti Arduino lapon (Pl. UNO) van.
Lapok:
Én javasolni nem javasolok, csak szempontokat mondok:
A régebbi procikkal készült lapok feléért, harmadáért (néha kevesebbért) megvehetők, mint az újabbak. Viszont az újabbak nagyságrendileg többet tudnak, később is jók lesznek. Ellenben a neten a tutoriálok jelentős része a régi lapokat említi, bár az újakkal is általában ugyanúgy megy. -
Teasüti
nagyúr
válasz
dangerzone #8854 üzenetére
Szerintem én vagyok az egyedüli itt, aki ezzel a kezdőcsomaggal indított.
Általában Ebay-es Kit-eket szoktak ajánlani töredékáron. Az egyedüli dolog ami azokban nincs benne, az az eredeti Arduino Projekt könyv, ami végigvezet az elektronikai és programozási alapokon úgy, hogy még egy 8 éves gyerek is megértse. Valamint jól illusztrált beszédes kis tutorial-ok a dobozban található alkatrészekhez.
Ha nulla elektronikai ismeretekkel vágsz bele mint én annó, akkor ez jó kiindulópont. Én nem bántam meg, megint megvenném ha elölről kéne kezdenem.
De ha megvannak a fizikai alapok (áram, feszültség, ellenállás, Ohm törvénye, soros/párhuzamos kapcsolás, stb), akkor szerintem felesleges kiadás.Mondjuk elsőre én maradnék az Uno-nál és arra épülő bevezetőknél.
De ha bevállalósabb vagy, akkor mehet az amit (#8856) aryes írt, de ott meredekebb a tanulási görbe és azt is figyelembe kell venni, hogy az 3,3V-os lap, míg az Uno 5V-os. -
válasz
dangerzone #8854 üzenetére
Ezt és ennyiért semmiképpen.
Vegyél egy esp32 alapú vezérlőt, ott rögtön wifi és bt vezérlési lehetőséget is kapsz külön eszközök nélkül, plusz kis méretű és pl a wemos lolin32 vagy annak klónjaiba az akkus táplálás is bele van építve töltő elektronikával. Hozzá lehetőleg i2c alapú motorvezérlő, és motorok. Ha érdekel, tudok adni pár linket azokról, amiket én rendeltem (AliExpressről). -
tvamos
nagyúr
válasz
dangerzone #8854 üzenetére
Ha már Lego, akkor miért nem Mindstorms?
-
dangerzone
addikt
Sziasztok!
Szeretnék hobbiként mikrokontrollerprogramozással foglalkozni. Szeretnék olyan szintre eljutni, hogy mondjuk a régi technik lego kis autóimat el tudjam látni szenzorokkal és vezérelni őket.
Anno egyetemen még csináltam ledeket villogtató programot, de az már régen volt. Illetve a C++ hoz alapszinten értek.
Ennek fejében érdemes egy ilyen Arduino starter kit-el kezdeni kedvcsinálónak, hogy a későbbiekben mindenféle projekt gördülékenyebben menjen?
-
válasz
DrojDtroll #8851 üzenetére
A kérdésedre nem tudom a választ, de ha már úgyis mikrovezérlőhöz fogod használni, csinálj hozzá napraforgó mechanikát.
-
DrojDtroll
veterán
Sziasztok!
Használ valaki napelemes powerbankkot? Mennyire hatékonyak ezek? Napi 30Wh-t ki lehet belőle szedni?
-
AcCEsS
senior tag
Höhö! Ráadásul nem is a v3 lett volna a végleges, hanem egy külső antennás WeMos Mini Pro.
-
Teasüti
nagyúr
Ez egy 4 MB-os ESP8266 usb csatlakozóval és ch340 vezérlővel? Hmm, tetszik.
Nem találok infót, hogy miben különbözik a V2 és V3. Nem feltételezem, hogy más lenne a lábkiosztás, de azért ellenőrizd, hogy az adatbusz ugyanúgy van-e bekötve! Van másik eszköz is az adatbuszon, vagy csak a hőmérő? A felhúzó ellenállásokban talán lehet eltérés, meg kéne nézni szkóppal milyen minőségű jelet ad az egyik és a másik. Ha programozható, akkor kikapcsolnám és csak a külső felhúzókat használnám. Ha több eszköz is lóg a buszon, akkor ott lehet, hogy túl feszesek a felhúzók így együtt. Vagy pont ellenkezőleg. Mérés nélkül nem fog kiderülni.
Esetleg próbáld meg 100 kHz-en járatni a buszt! -
AcCEsS
senior tag
Ma egy érdekes jelenséggel szembesültem (még mindig az időjárás állomás). Ha a beforrasztott foglalatból kiszedem a Wemos D1 mini v2-es lapot és beteszek egyet a v3-as szériából, akkor a csatlakoztatott BME280 ökörségeket kezd küldeni. De csak a hőmérséklet infó rossz (pl -1 fok, 4 fok stb.), a többi adat helyes. A BH1750 is ok. Ha visszateszem a v2-est, jó lesz a hőmérsékleti infó is. Ez meg mi a búbánat?
Persze ugyanaz a sketch van feltöltve mindkettőre.
-
Janos250
őstag
Nem kell megijedni az IDF, freeRTOS függvények használatától arduino rendszerben, mert az is ezek felett dolgozik, általában használhatók a függvényei. (Általában, mert pl. a vTaskList() nem)
Pl.:
"The I2S peripheral supports DMA meaning it can stream sample data without requiring each sample to be read or written by the CPU."
https://espressif-docs.readthedocs-hosted.com/projects/esp-idf/en/latest/api-reference/peripherals/i2s.html -
Találkoztatok olyan ESP32 boarddal, amelyiken van USB /a könnyebb programozhatóság végett/, de le is lehet kapcsolni mindent az SoC-n kívül, ha valami low power cuccok akarok csinálni?
-
Tankblock
aktív tag
Hello
Tárolva hogy mekkora MHz működjön azt a sdkconfig-ban van.
MSYS32 ben / Linux alatt ha betallózod akkor
make menuconfig
paranccsal tudod editálni relatíve egyszerűen.Nem javaslom kezdőként hogy ehhez hozzányúljon bárki is, főleg ha 3rd party Arduino libeket futattok amik függnek az órajeltől.
DMA más kérdés Technikal reference és a példaprogramok mutatják az utat. Én az ESP-IDF drivereit használom mert ahhoz van dokumentáció, és működik a DMA is --> RTM jó példa.
-
Janos250
őstag
Én a ccountot olvastam. Mivel az 32 bites, ezért kb 17 secenként átfordul, ezért kell még egy szó.
Én nem használtam interruptot, mert párszáz nanos időzítések kellettek, addig nem érte meg másra terelni a CPU-t. Ezért egyszerűen egy ciklusban olvastam, mikor éri el a szükséges értéket.
http://arduinouser.hu/esp32/ccount/ccount.txt -
_q
addikt
-
Janos250
őstag
" a 2 mag egyben 240 MHz-e, tehát külön 120-120 MHz-en fog menni?"
Mindkettő külün-külön 240-en jár. Ez biztos, használtam.
"órajel pontosságról nincs információd?"
Sajnos nincs.
"Jó lenne ha fejlesztenék a kevésbé használt részeket is ESP32-nél."
Fejlesztegetik azt,
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
A legutóbbi májusi. Ez az ESP32-re a biblia.
RTC: 0x3FF4800C, 0x3FF48010 ? 634. oldaltól
A DMA-ról is van valami, a 115. oldaltól.
Ne feledd, hogy az AHB bus csak 80 Mhz-es! Mivel az összes periféria bármely pinhez kapcsolható, ezért egy - számomra - szokatlan megoldást használ, de ha beleéli magát az ember az ESP32 gondolkodásmódjába, elég jól használható.
Időzítésre én az órajel ciklusok számlálóját használtam, az a 240 Mhz miatt nagy felbontású. -
gyapo11
őstag
Igen, ha nincs pontos etalonod, akkor az eltérés ismeretében tudsz korrigálni. Lehet, hogy a hőfokot is figyelned kellene, de ha ki van kapcsolva, akkor az nem fog menni.
Ha lehet, akkor be kell vonni az embert, és valamikor ismert időpontban megnyomni egy gombot, ami ráhúzza az időt, nekem reggel 8 óra volt ilyen.
Vagy ha a táplálás megengedi, akkor hagyni az órát, és egy gps modult rákötni, az elég pontos. 1 perc körül szokott lenni a cold start, ha elég naponta-hetente beállítani az időt, akkor elég ennyiszer bekapcsolni, utána ki, úgy nem kajál sokat. -
_q
addikt
válasz
Janos250 #8827 üzenetére
Köszi a részletes kifejtést.
Azt nem tudod esetleg, hogy a 2 mag egyben 240 MHz-e, tehát külön 120-120 MHz-en fog menni?
Én is olvastam, hogy 32 kHz-es kristályt 2 GPIO feláldozásával hozzá lehet kötni az ESP32-höz. Viszont fórumon azt írták, hogy kicsit bugos, illetve annyira jó minta kód erre sincs. Úgy érzem el kell engednem ezt a részt
Egyébként amit meg szeretnék valósítani, annak egyik részét az óra kiíratása képezné. Mivel nekem nem kell semmilyen dátum, csak egyedül az óra, perc, másodperc kiíratás, ezért nem szeretnék külső RTC modult használni. ESP32 időzítővel generálok másodpercenként egy megszakítást és ebből számolom a percet, órát. Na és itt jön a kérdés ami miatt keresgéltem honnan veszi a CPU az órajelet és az mennyire lehet pontos (erre még mindig nem találtam sajnos választ a neten, órajel pontosságról nincs információd?
), mert a timer a CPU órajelet osztja le és generál megszakítást. Eddigi 1 napos teszt alapján másodperc alapon úgy látom, hogy pontos és nem késik. Persze 1 nap az kevés, ha mikrosec vagy kisebb késés van akkor ahhoz jóval több nap/hónap kell hogy kiderüljön.
Bizonyos részeket egyszerűbb volt STM32-vel megvalósítani, de igazad van ott is kell azért sokszor adatlapozni. Jó lenne ha fejlesztenék a kevésbé használt részeket is ESP32-nél. Vagy ha másként nem, akkor STM-el kell megvalósítani, az általánosabb dolgoknál mehet ESP32. -
Janos250
őstag
"ESP32S az melyikhez tartozik,"
Egyikhez se! 240-en megy. Az ESP32S az ESP32WROOM hibrid leánykori neve, ami tartalmazza magát a procit, + memóriát, és pár egyéb alkatrészt.
https://c.76.my/Malaysia/ai-thinker-esp32-esp-32s-wifi-wlan-bluetooth-module-varsembedded-1703-21-varsembedded@9.jpg
https://pbs.twimg.com/media/Cuf9fLzVIAEdzo_.jpg"Ha nem RTOS-t használok"
Tudtommal bárhogy is használod - extrém alacsony szintet kivéve - mindenképpen RTOS felett dolgozol, legfeljebb nem látod, de használható a teljes apparátusa.
Ha Arduino alatt használod, akkor a WiFi a 0-n megy, a saját programjaid az 1-en, de megszabhatod, mi hol menjen. Hogy a loop hol menjen, azt a main.cpp-ben állíthatod.
"DMA-val nem nagyon találtam mintákat sajnos, kíváncsiságból pedig jó lenne." Én se, pedig én is kíváncsi ember vagyok :-)
"Ezek közül jelenleg csak az órajel a kérdéses, illetve az, hogy azt honnan veszi"
Nem tudom honnan veszi, de 240Mhz. Egyik módszerrel LED meghajtásnál én ebből számoltam az időzítést, és szkóp szerint is jó lett.
"nehézkesebb egy STM32-höz képest." Így igaz! :-(
Az RTC, azt hiszem tud használni külső 32kHz-es kristályt, de az KÜLÖN PROCESSZOR,SAJÁT UTASÍTÁS KÉSZLETTEL, SAJÁT MEMÓRIÁVAL! Azt assembly szinten programozni szintén macerás.
Egyébként az STM32-nél is muszáj megnézni a manuálban a regisztereket, ha érteni akarod, hogy mit csinálsz.
A hardver manualja már az ESP32-nek is elég jó, bár messze nem teljes, sőt, hibát is találtam benne. -
_q
addikt
Nekem ESP32-nél volt hogy nem használtam 2-3 hetet. Most ismét elővettem és vagy eltűnt a drivere az USB-TTL chipnek vagy nem tudom mi történt, de újra kellett telepíteni. Igaz nálam nem volt ilyen hibaüzenet, de egy próbát megérhet az FTDI chip driver újratelepítése, ha van újabb verzió akkor azzal.
-
_q
addikt
válasz
Janos250 #8820 üzenetére
Adatlap szerint: "7-stage pipeline to support the clock frequency of up to 240 MHz (160 MHz for ESP32-S0WD and ESP32-D2WD)" Nem tudom ESP32S az melyikhez tartozik, mert így lehet 160 MHz is, illetve egyenként 160 vagy 240, esetleg a kettő együtt adja ki. Utóbbira gondolok amiből jön a következő kérdés.
Ha nem RTOS-t használok, akkor nem lehet tudni melyik cpu-t használja a program futtatására? Lehet csak egyik, de lehet akár mind a kettő is? Ezt jó lenne tudni, mert nem mindegy egy számításigényes program esetén.
DMA-val nem nagyon találtam mintákat sajnos, kíváncsiságból pedig jó lenne.Ezek közül jelenleg csak az órajel a kérdéses, illetve az, hogy azt honnan veszi. A többi csak érdekelne, mert ki tudja mikor jöhetne jól. Viszont kezd körvonalazódni, hogy a gyakori feladatokra van megírva az arduino IDE, egyébre mint a DMA vagy órajel változtatás már nehézkesebb egy STM32-höz képest. Mivel nem rég szóba került, hogy egy 2 éves hardver esetén még mindig nincs meg minden támogatottság szoftver oldalról, vagy teljesen vagy részben pl bluetotoh mesh, de most az órajel és a DMA is nekem úgy tűnik hasonló cipőmen jár, kicsit sajnálom, mert egyébként jó eszköz az ESP32.
(#8819) Tankblock
Köszi, ez így szimpatikus. Ha eljutok eddig a projektemben, akkor rá fogok nézni jobban és lehet akkor lesz majd még kérdésem. -
Beggar
csendes tag
Ha jól értem, akkor igen, így csinálom. Nem az eredeti, hanem a CH340es Atmega328as nano és FTDI232 A328 mini lapokat használok. Az a furcsa, hogy eddig gond nélkül működtek ezek a lapok. Nem használtam őket néhány hónapja, de most 2 gépről is megpróbáltam, mindkét gépen mindkét lap ugyanezt produkálja.
-
Beggar
csendes tag
Sziasztok!
Ezzel a postal kapcsolatban tud segíteni valaki? [link]Köszönöm előre is!
-
Janos250
őstag
CPU órajele 240 Mhz. Van valahol egy fájl - úgy emlékszem - ahol lehetne csökkenteni, de nem emlékszem mi, nem próbáltam.
A prifériák órajele 80 Mhz.
"Ha nem rtos-ban programozok". Tudtommal nincs kidolgozva az RTOS nélküli lehetőség ESP32-re magasabb szinten.
"DMA-t támogatja az ESP"
Úgy tudom, hogy az SPI, UART, I2S ezt használja, de mintha külön engedélyezni kellene, nem használtam.
A DMA mindenképpen csak az iRAM-ot tudja használni, tehát amit használni akarsz, oda kell helyezni.Minden, ami benne van használható, csak egyik-másik elég macerás. A Technical Refrence már elég jó, abból lehet kibogarászni, de munkás dolog regiszter szinten állítgatni az egyes biteket.
Én az RMT használatát bogarásztam ki, és tanultam meg, de bizony idő kellett hozzá. -
Tankblock
aktív tag
Hello,
Nekem is digi van,
Dynamic DNS szervert használatával ez megoldható, routeren a belső szerver portját kell kigele forwardolni és voala.
Még egy jó tanács: Kifelé ne konvencionális 80 v 8080 portot használj. Autentikáció kötelező, ja van rá energia akkor secured kapcsolat.
Sajnálatosan ezek nélkül megpróbálhatják feltörni, kolléga banana pi je áldozatul esett egy ilyennek.
-
_q
addikt
Nézegetem az órajeleket, timer-t. Kíváncsi voltam, hogy mit használ alapból a timer-hez. Adatlap szerint a cpu órajelét használja. Azt hogy a CPU mit használ elvileg be lehet állítani de arduino alatt nem találtam meg, hogyan lehet változtatni, hogy mit használjon a CPU. Ahogy néztem van egy 40 Mhz-es kristály a shield alatt. Tehát lehet belső 8 MHz, külső 40 MHz és ha külsőleg csatlakoztatni 32 kHz-es kristály.
Azt, hogy ezeket hogyan lehet beállítani, melyiket használja, ne menjen mondjuk 160 MHz-el, hanem csak 80 MHz-el a cpu arudino alatt hogyan lehet beállítani? Közben pedig még egy kérdés jutott eszembe. Ha nem rtos-ban programozok, akkor magától választja ki melyik mag dolgozza fel a kódot vagy csak egyiket használja? A 160 MHz ki van használva valahogyan?
Még egy dolog, a DMA-t támogatja az ESP, de arduinora szintén nem találtam kódot. Erre sincs példa?
Így hirtelen sok a kérdés, remélem sikerül mindre választ kapni. Egyre inkább előjön, hogy lehet még se mindenre a legjobb arduino-ban a programozás és korlátokba ütközök?
-
tibi-d
tag
válasz
gyapo11 #8814 üzenetére
Kössz a tanácsot. Nekem az a gondom, hogy a készülék nincs állandóan bekapcsolva. Így ezek szerint el kell tárolnom a kikapcsoláskori időt, majd a bekapcsoláskor ki kell számítani a külömbséget. Ekkor sejthető a késés mértéke, és ezzel az értékkel újra be kell állítani az órát. Ha pedig működik a készülék, akkor elég mondjuk óránként korrigálni. Szólj, ha rosszúl értelmeztem.
-
gyapo11
őstag
Valahogy így:
byte decToBcd(byte val)
{
return( (val/10*16) + (val%10) );
}
// sets time and date data to DS3231
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0); // set next input to start at the seconds register
Wire.write(decToBcd(second)); // set seconds
Wire.write(decToBcd(minute)); // set minutes
Wire.write(decToBcd(hour)); // set hours
Wire.write(decToBcd(dayOfWeek)); // set day of week (1=Sunday, 7=Saturday)
Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
Wire.write(decToBcd(month)); // set month
Wire.write(decToBcd(year)); // set year (0 to 99)
Wire.endTransmission();Ha tudod, hogy mennyi az eltérés, akkor kiolvasod, kivonod vagy hozzáadod a szükséges értéket, és visszaírod.
-
tvamos
nagyúr
Ebbol a LED-bol gondoltam rendelni otthoni projekthez: SK6812 RGBNW . Van pozitiv, vagy negativ tapasztalatotok? Eddig csak WS2812B-t hasznaltam. (Gond nelkul...)
Ja igen... ESP8266EX-szel hajtanam meg. -
Janos250
őstag
válasz
vargalex #8807 üzenetére
Bocs, ez Xboynak ment volna, de már nem írom át.
Elméletben a szolgáltató a saját routerén engedélyezhet port átirányítást a belső IP-re. Mondom, csak elméletben, mert nincs tapasztalatom vele, fogalmam sincs, hajlandó-e rá a Digi. Mint ahogy azt se tudom, mennyi pénzt kér saját fix IP címért, vagy ingyen megteszi. Rémlett, hogy valahol azt írták, hogy igen. Rákerestem:
"Digi internet esetén hívjuk fel a 1272-es telefonszámot és a NAT kikapcsolását kérjük a hibabejelentő menü kiválasztása után. A mai napig működő megoldás még."
[link] -
vargalex
félisten
-
tibi-d
tag
Sziasztok!
Van egy DS3231 RTC modulom. Azt vettem észre, hogy sokat késik. 24 óra alatt több mint 1 percet. Lehet-e szoftveresen a pontosságán állítani, vagy másikra kell cserélni. -
Teasüti
nagyúr
Hát ha vki webszerver-t szeretne beállítani otthon, akkor szerintem eléggé alapvető, hogy tudja mik azok a számok amikről screenshot-ot mutattál.
De fogalmazhatnék úgy is, hogy ha nem értesz hozzá, akkor ne babráld a router és a Windows hálózati beállításait!
...mert egyszer csak azt fogjuk látni, hogy xbox89 utoljára bejelentkezve 3 nappal ezelőtt.
Új hozzászólás Aktív témák
Hirdetés
- LG C3: egy középkategóriás OLED tévé tesztje
- Synology NAS
- Honda topik
- Xbox tulajok OFF topicja
- Xiaomi Mi 11 Ultra - Circus Maximus
- World of Tanks - MMO
- Hálózati / IP kamera
- One otthoni szolgáltatások (TV, internet, telefon)
- Bittorrent topik
- Magga: PLEX: multimédia az egész lakásban
- További aktív témák...
- 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ó!
- Samsung 840 SSD 120GB újszerű, 100/100
- AKCIÓ! Apple Macbook Pro 15" 2018 i9 9850HK 32GB 500GB 560X 4GB garanciával hibátlan működéssel
- REFURBISHED - HP USB-C Universal Dock G1 docking station (DisplayLink)
- Quadro FX 570 eladó
- Á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: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest