-
GAMEPOD.hu
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
-
Janos250
őstag
Srácok! Nálam okosabbak segítsetek lsz!
Mi a fene a stdout az ESP32-nél.
Hova ír ki az alábbi program?//#include <stdio.h>
#include <iostream>
using namespace std;void setup() {
delay(2000);
cout << "proba kiiras";
uint8_t i = 5 ;
std::cout << "i: " << i << std::endl;
}void loop() {
}A freeRTOS-ben sem találom, hogy tudnám kijelölni
Másként ki lehet íratni persze, de én a cout-ra és a cin-re lennék kíváncsi.
[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
válasz fecske13 #8050 üzenetére
"az egyiknek 8-al több lába van"
Hú, az sok!
Most nincs előttem a két lap, de akkor azért itt kell szólni az alábbiakról:
AZ ESP-WROOM-32 kivezeti azokat a lábakat is, amit mi nem használhatunk, mert az ESP32-nek ezek a lábai a flash memória címzését szolgálják, mi - normál esetben - nem használhatjuk. Ezt egyes lapok kivezetik pinre, mások nem. Lehet ez az oka, de majd egyszer kinyomtatom a két lap képét és átbogarászom.
Nem kompatibilisek?
Ha azt értjük a kompatibilitás alatt, hogy ugyanott vannak a kivezetett GPIO-k, akkor messze nem kompatibilisek. Bizony meg kell keresni az adott lapon, hogy az adott GPIO hova van kivezetve.
Egyébiránt meg teljesen kompatibilisek.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
_q
addikt
válasz Teasüti #8053 üzenetére
Én is hasonlóra gondoltam. Arduino IDE nem tartalmaz ilyen ablakot, így hiába is fut le a kód, nincs hová kiírni az eredményt.
Asszem visual studio-ban is lehet programozni az ESP-t, ott pedig ha jól emlékszek van ilyen kiírató ablak, talán azzal működne.[ Szerkesztve ]
-
Janos250
őstag
válasz Teasüti #8053 üzenetére
Köszi, ezek C++ kiírások, csak azt nem tudtam, hova megy. Úgy látszik, hogy ha megnyitjuk a Serial-t, akkor oda. Ez azért továbbra sem tiszta, hogy tudom máshova áttenni, meg ilyesmik.
Így viszont a Serial ablakba ír://#include <stdio.h>
#include <iostream>
using namespace std;void setup() {
Serial.begin(115200) ;
delay(2000);
cout << "proba kiiras ";
std::cout << std::endl;
uint8_t i = 5 ;
std::cout << "i: " ;
// std::cout << i ;
std::cout << std::endl;
cout << "proba kiiras2 ";
std::cout << std::endl;
}void loop() {
}Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Valahogy, valahol, csak ki kéne lehessen jelölni, mi a std kimenet, bemenet.
Pl. ha egy másik serialt akarok erre használni (Az ESP32-nek 3 van). Vagy ha egy fájlt akarok standard kimenetnek. A file műveletek működnek, de hogy irányítom rá az stdout-ot?Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
-
Janos250
őstag
Ezt elsődlegesen az oprendszernek kellene tudni, mert pl:
cplusplusprogramom > eredmeny.txt
átirányítja a konzolt az eredneny.txt fájlba.
Itt a freeRTOS valószínűleg tudja valahogy, de egyelőre fogalmam sincs, hogyan.
Vagy programban az
freopen("eredmeny.txt","w",stdout);
Na, ezt még majd bogozom, de hogyan irányítok mondjuk egy Serial-re, arról gőzöm sincs, mert stream ugyan, de valahogy mégse passzol.
A windows ilyen szempontból nemigen ad információt.
Isten nem ver bottal, csak windows-zal.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
I2C buszra próbált már vki felfűzni egynél több eszközt?
Egyszer egy gyors próba erejéig próbáltam még Uno-val, de plug&play nem működött. Akkoriban nem tudtam diagnosztizálni, így elfelejtődött. Most viszont nem kevesebb, mint 4 modult tervezek használni és érdekelne hogyan kell összerakni, hogy jó is legyen. 3,3V-os lesz a busz, bár még meg kell bizonyosodnom a modulokról is, ha megérkeznek (MPU-6050, 128x32 OLED, PCF8575C GPIO expander, SI1145 optikai szenzor).
A külső felhúzó ellenállásokat szkóppal fogom belőni. A busz meg 1 méteres lesz max.
Kell még figyelnem vmire?
Szoktak rakni vmilyen védelmet a buszra?
Felhúzó ellenállásokat mindkét végére illik rakni, vagy az mindegy?[ Szerkesztve ]
-
Janos250
őstag
Na, megvan a console átirányítás az ESP32-n (a legkézenfekvőbb, de ki gondolta, hogy működik)
freopen("/dev/uart/0", "w", stdout);
Persze a 0 helyett az aktuálisAz amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Apropó! Ha már itt tartunk, hogy az ESP32 arduinoja ismeri a szabvány C++ zömét, akkor már mutatok a 11-nek más tulajdonságára is példát.
Nem feltétlenül kell a több task esetén a freeRTOS task kezelését használni, lehet az oskolában C++ órán tanultakat is:#include <iostream>
#include <thread>
//#include <mutex>
using namespace std;
void helloWorld1() {
for (uint8_t i = 0 ; i < 10 ; i++){
cout << " Hello World1 ! " << endl;
delay(1000) ;
} ;
} ;
void helloWorld2() {
for (uint8_t i = 0 ; i < 10 ; i++){
cout << " Hello World2 ! " << endl;
delay(2000) ;
} ;
} ;
void setup() {
Serial.begin(115200) ;
delay(2000);
thread szal1(helloWorld1);
thread szal2(helloWorld2);
szal1.join();
szal2.join();
}
void loop() {
}Egyre több minden szól az ESP32 mellett
[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
válasz Teasüti #8064 üzenetére
Mivel demo céljából a setupba tettem, és amikor a ciklus lejár, akkor kilép, így csak egyszer.
De akárhányszor lehet a join-t újra hívni.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
_q
addikt
válasz Teasüti #8061 üzenetére
I2C megfelelő konfigurálására és a címzésre kell figyelni, illetve utána kéne nézni a távolsággal kapcsolatban, hogy mekkorát támogat. Nekem úgy rémlik 10 cm körül mint az SPI, ha 1 métereset szeretnél akkor szerintem kelleni fog közbeiktatva pár ellenállás, hog meg legyen a jelszint az utolsó szenzornál is. Gondolom "kicsi távon kezdenéd tesztelni". Nézd meg 10cm vagy kisebb vezetékkel 2 eszközzel, ha az megy próbáld meg mekkora vezetéknél működik még. Majd bővítsd tovább a bus-t. Ha 3v3 minden eszköz akkor nem hiszem hogy kell védelem, ha nagyobb feszültségen dolgozik valamelyik eszköz akkor kell valamilyen galvanikus leválasztás.
(#8063) Janos250
Tök jó, viszont ez ha jól értem csak érdekesség képpen készül, nem azért mert csak így tudsz megvalósítani valamit?Update:
Pár találat alapján vannak I2C buffer IC-k, lehet ilyen fog kelleni neked, mert sima ellenállásokkal nem lesz meg a jelszint 1 méteren.[ Szerkesztve ]
-
Janos250
őstag
Eléggé sztochasztikusan.
Az elsőt a core0-ra teszi, a másodikat a core1-re, a többit meg hasraütésszerűen.
Az xTaskCreate mindenképpen rugalmasabb, mert tudsz stack méretet, prioritást adni."Tök jó, viszont ez ha jól értem csak érdekességképpen készül, nem azért mert csak így tudsz megvalósítani valamit?"
Igen, az xTaskCreate-el ugyanezt meg lehet valósítani, mert ő is ezzel oldja meg.
Viszont a szállal az szabványos, máshol megírt program is futtatható, illetve az itteni átvihető máshova is, míg az xTaskCreate csak a freeRTOS-t használó rendszeren van. A szabványosság miatt kerestem a konzolra írást (cout) is.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
-
Janos250
őstag
válasz Tankblock #8069 üzenetére
A try - catch -et egyszer régen próbáltam és nem ment, de szerintem azt még nem ESP32-n próbáltam, de kipróbálom majd. Vagy ha valakinek van ingerenciája, próbálja ki, és írja ide, okulásunk céljából!
Tudod, én már elég öreg vagyok ahhoz, hogy számos alkalommal megtapasztaltam a spéci dolgok hátrányait. Már ifjú koromban, amikor az Algol60 programot át kellett tenni Fortranra, vagy a Cobolban írtat egy minibol nevű csodára. Aztán később a Basicről már nem is beszélve.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
mhegedusmh
újonc
válasz Janos250 #8026 üzenetére
Kedves Janos250! Koszonom a gyors valaszt, de nem egeszen ertem ez hogyan segitene rajtam.. Nem tudok semmilyen prg-ot feltolteni sajna..
Hello Tankblock! A tipust irtam, bootkor a GPIO0 lebegtetve van a ChipEna 3.3V-on.., azt irjak igy kell.. Barmilyen firmware jo (pl. wifi webserver, de AT-s firmwarek ujabb valtozatat is probaltam...)
Hello Chaka! Kosz a tippet, alkalmasint kiprobalom majd..
Marci -
Janos250
őstag
válasz mhegedusmh #8071 üzenetére
"nem egeszen ertem ez hogyan segitene rajtam"
Azt hittem, ő is jár még erre, és ellát tanáccsal, mivel neki van tapasztalata.
Ha esetleg egy privát üzenetet küldesz neki?Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Vasgabi
csendes tag
Üdv! Segítséget szeretnék kérni.
Analóg kéziféket építettem szimulátorhoz, egy G25 gázpedálból. 10K-s poti van benne, sikerült is beállítanom az értékeket a progival, de a mechanika pontatlansága miatt és a viszonylag rövid csúszka használat miatt a két végpontot nem tudom tökéletesre állítani, mert vagy túlfut, vagy nem megy vissza 0 értékig.
Hogyan tudnám a küszöbértékeket meghatározni, hogy a 0 akkor is 0 legyen, ha esetleg negatívba menne a poti?https://github.com/AM-STUDIO/Analog-E-Brake
https://www.youtube.com/watch?v=kv0FTpRLFMY&feature=youtu.beInnen puskáztam, de nem találtam küszöbértékre vonatkozó infót.
Megköszönve a segítséget üdvözlettel:
FémÚr
Vasgabi
-
Teasüti
nagyúr
-
Vasgabi
csendes tag
Eddig nekem is kapcsolón volt, de pl Richard Burds Rallyban a hátsó kerék hajtású autóknál nem szerencsés a kapcsolóüzem, mert sokszor csak épp meg kell lassítani a hátulját, hogy beforduljon szépen, míg ha leblokkol a két hátsó kerék le is fullad az autó, mint az közismert. vagy ki kell kuplungolnom, h ne fulladjon, de az meg időveszteség, és ezt a sportot időre nyomjuk.
[ Szerkesztve ]
Vasgabi
-
Vasgabi
csendes tag
// Analog eBrake-Handbrake
// PIN A0 to 10k pot output - Throttle Axis
// Use with Arduino ProMicro.
// Tested and working in DiRT RALLY + ASSETTO CORSA
// by AMSTUDIO
// 20.1.2017#include <Joystick.h>
void setup()
{pinMode(A0, INPUT);
Joystick.begin();}const int pinToButtonMap = A0;
void loop()
{int pot = analogRead(A0);
int mapped = map(pot,343,860,0,255);
{Joystick.setThrottle(mapped);}}jelenleg így működik, hova kell beillesztenem az általad küldött scriptet?
[ Szerkesztve ]
Vasgabi
-
dew28
aktív tag
válasz Vasgabi #8080 üzenetére
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}int mapped = map(pot,343,860,0,255); sor utan beirod hogy
if (mapped<=0) {
mapped = 0;
} else if (mapped>=255) mapped = 255;[ Szerkesztve ]
[ Szerkesztve ]
-
-
JozsBiker
aktív tag
Sziasztok !
Azt hittem ilyen "alap" problémába már nem fogok belefutni, de most mégis elakadtam.
Van ITT egy egész jó szájbarágós leírás a DCF77 modul kezelésére, de már ott elakadok, amikor a példaprogramot le akarom fordítani ( 1.8.3 verziójú az IDE ). A szükséges könyvtárakat - ahogy a leírásban is szerepel - INNEN töltöttem le és másoltam fel. Fordításkor már a 9. sorban elakad "'time_t time' redeclared as different kind of symbol" üzenettel. De jön még ezen kívül is egy csomó hibaüzenet amit nem értek. Gondolom valami a könyvtárakkal nem stimmelhet, de nem tudom mi. Megköszönném ha valaki tudna segíteni.
Szerk.:
Még annyit, hogy ITT találtam egy magyarázatot, csak nem értem :-/[ Szerkesztve ]
-
-
mprrpm
tag
válasz JozsBiker #8087 üzenetére
Arduino progiba könyvtárak kezelése majd keresés: dcf77.
Többet is kidob, felteszed, mindegyik működik.
Szerintem sok értelme már nincs mert kicsid drága pontos idő ez. (DCF77 vevő csak a Conradnál 4000FT)
Én is csak egyszer használtam templomharangnál mert nem volt könnyen megoldható akkor még az internet (NTP). (Akkoriban kb. 5-6 éve még PLC-re programoztam le a dcf77 vételt....mai napig pontosan szól a harang )[ Szerkesztve ]
MPETYA
-
_q
addikt
Van valakinek tapasztalata Arduino Zero-val? Arduino Uno kódot kéne átportolni Zero-ra, SoftwareSerial.h viszont folyamatosan hibát dobál. Mire kellene figyelni nagyon más a programozása az ARM processzor miatt vagy a függvények a háttérben lekezelik?
-
Janos250
őstag
Miért kell neked SoftwareSerial, miért nem jó a sima Serial?
void helloWorld() {
Serial.println(" helloWorld ");
} ;A SoftwareSerial a régi idők serialje.
"nagyon más a programozása az ARM processzor miatt?"
A C++ elvileg ugyanaz minden processzorra, csak a periféria kezelő rutinok lehetnek mások, de a Serial minden portolásnál alap.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
_q
addikt
válasz Janos250 #8091 üzenetére
Mintakódot néztem, ott használták a SoftwareSerial.h fájlt. Ezért gondoltam használni, de folyton hibát dob, hogy a header fileban nem jó valami. Megpróbálom a hardvereset akkor. Egyébként mi a különbség a kettő között?
(#8092) Teasüti
Nem akarok hülyeséget mondani, most sajnos nem találom erről a pontos adatot. De ilyen "ökölszabály" szerű dolog ez tudtommal. Van egy limit a távolságot illetően ami nem túl hosszú. Régebben volt negatív tapasztalás ezzel és akkor kellett plusz ellenállás, hogy áthidalható legyen a távolság.[ Szerkesztve ]
-
Janos250
őstag
A szoftveres a GPIO időzített billegetésével állítja elő, ezért a nagyon régi hardveren is megy. A hardveres meg odaadja a hardvernek, és az elintézi. Gyorsabb, biztosabb, viszont kontrollerenként külön meg kellett rá írni a drivert.
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
JozsBiker
aktív tag
Valóban nem túl olcsó egy dcf77 modul ( bár nem gondolnám hogy a Conrad -os árakat kellene alapul venni ), viszont az óra amit készítek nem tudom hogy olyan helyre kerül-e, ahol van net. Itt wifi -s illetve madzagos netre gondolok, hiszen mobilosat valószínűleg meg lehetne oldani, de az összességében szerintem bonyolultabb volna mint a dcf.
Ha már így szóba került: ha van wifi hálózat, de nincs hozzá jogosultságom, attól még a pontos időt ki tudnám valahogy nyerni ?
-
Xpod
addikt
Hurrá, ma megjött a WS2812B LED szalagom.
Lehet játszani a hosszú hétvégén.
Fura így elsőre, hogy csak 3 érintkezője van, kíváncsi vagyok, hogy kell használni.[ Szerkesztve ]
Most kezdődjék a tánc! - mondta a papagáj és berepült a ventilátorba.
Új hozzászólás Aktív témák
- Eladó WHARFEDALE EVO 4.3
- -61% Samsung Galaxy Book2 Pro 13:i5 1240P,8GB,256GB,13.3" AMOLED,400nit 100%sRGB,WiFi 6E,csupán 870g
- Amazfit GTS 2 új! (nem a mini)
- -62% HP EliteBook 845 G7 (840 G7):Ryzen 5 4650U,16GB,512GB SSD,vilI.MAGYAR bill.,Bang&Ol.,Win11ProHU
- Több db HP Thunderbolt dock 230W G2 230W -os töltővel MONITORCENTER