-
Fototrend
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
-
-
-
-
-
-
-
-
-
-
válasz
its_grandpa #17627 üzenetére
if( napelem.get_termeles() > futopanel.get_max_fogyasztas() )
{
futopanel.on();
}Majd kérek részesedést
-
-
-
-
-
-
-
válasz
its_grandpa #17248 üzenetére
Igen, ez így valszeg jobb.
-
válasz
Tomika86 #17245 üzenetére
De, az egy rohadt nagy probléma. Én valami ilyesmit csinálnék:
bool ADS7828_olvasas (int Addr_byte, byte Cmd_byte, int *adc) {
byte data[2];
Wire.beginTransmission(Addr_byte); // I2C átvitel indítása, az adott címen
Wire.write(Cmd_byte); // Command byte küldése
Wire.endTransmission(); // I2C átvitel megállítása
Wire.requestFrom(Addr_byte, 2); // 2 byte adatra várakozás
if (Wire.available() == 2) { // Ha megérkezett a 2byte
data[0] = Wire.read(); // Első byte tömbbe írása
data[1] = Wire.read(); // Második byte tömbbe írása
delay(2); // Ciklus késleltetés
*adc = ((data[0] & 0x0F) * 256) + data[1]; // Adat konvertálás 12bit-re
return true;
}
return false;
}De nem ismerem az egész kódot, lehet megoldható szebben.
-
válasz
Janos250 #17242 üzenetére
Mint múltkor is említettem, direktben szerintem sehogy, de ha szeretsz hekkelni, ha eléred ezt a függvényt, akkor bináris kereséssel ki tudod deríteni, mi az utolsó index, ami nem NULL-t ad vissza.
const vfs_entry_t *get_vfs_for_index(int index)
{
if (index < 0 || index >= s_vfs_count) {
return NULL;
} else {
return s_vfs[index];
}
}A components\vfs\private_include\esp_vfs_private.h-t kell include-olni.
-
-
-
-
-
-
-
-
-
-
-
-
-
válasz
tothferenc #17062 üzenetére
Próba:
display.print(temp, 1);
Formázd kódként legközelebb pls.
-
-
-
-
válasz
Sebiferi #16839 üzenetére
Hát igen, ez jó kérdés
Hobby elektronika topikban lehet fejből mondanak valamit.
-
-
-
-
-
-
-
-
-
válasz
Tomika86 #16653 üzenetére
const float c1_1 = 1.1494275e-03;
const float c2_1 = 2.5608838e-04;
const float c3_1 = 0.6755814e-07;
const double d1_1 = 1.1494275e-03;
const double d2_1 = 2.5608838e-04;
const double d3_1 = 0.6755814e-07;
printf("%.20f\n%.20lf\n%.20f\n%.20lf\n%.20f\n%.20lf", c3_1, d3_1, c2_1, d2_1, c1_1, d1_1);
0.00000006755814041526
0.00000006755814000000
0.00025608838768675923
0.00025608838000000002
0.00114942749496549368
0.00114942749999999991Szerintem a float is elég pontos, de a legtöbb lebegőpontos függvény double-t eszik, szóval nem szórakoznék floattal.
-
válasz
Undoroid #16616 üzenetére
Ez egy ún. header fájl, amiben konstansok, függvény deklarációk, makrók vannak. Ez azért kell, hogy az objektumfájl le tudjon fordulni. Utána, hogy működő programot kapj, hozzá kell linkelni a könyvtárat is. Tehát a megoldás az, hogy fel kell telepíteni Arduino IDE-ben a könyvtárat, és akkor már fordulni fog a kód. Mármint nem te linkelsz, hanem az IDE helyetted, de a háttérben ez történik, többek között.
-
-
-
válasz
Tomika86 #16553 üzenetére
C vagy C++? Mivel osztályokról beszélsz, szerintem te C++-ra gondoltál. Én ezt olvastam, elég jó: [link] A Stroustrup-féle C++ bibliát nyugodtan hagyd ki, hacsak nem akarsz megőszülni.
Szerk: persze az alap dolgokhoz /függvények, header fájlok/ teljesen jók a C könyvek is.
-
-
-
-
-
-
-
-
-
-
-
-
-
válasz
Marci mester #16397 üzenetére
Nem, a szenzorokat olvasni is kellene. Kódot légyszi kódként illessze be,
-
válasz
razorbenke92 #16225 üzenetére
Szerk: Talán mintha lenne is preview a http szerverben gyárilag is.
Itt a JPEG HTTP Stream rész az, nem?
-
-
válasz
tonermagus #16015 üzenetére
Nem tudom, ki kell számolni, de én is stab IC párti vagyok.
-
válasz
tonermagus #16013 üzenetére
Nem jó megoldás szerintem, mert ha változik a lap áramfelvétele, akkor ugye változik az ellenállása is, így az eredő ellenállás is változik, így a lap nem fix 5 V-ot kapna.
-
válasz
tonermagus #16006 üzenetére
Nyilván abba most nem kell belemenni, hogy pl. egy float típus 5byte-ot foglal ha jól tudom
Nem jól tudod, nincs checksum.
-
-
-
válasz
tonermagus #15889 üzenetére
Igen, de mi lesz a referencia? Mihez képest méred, mert ezek ha jól értem, sorba vannak kötve.
-
-
válasz
Drótszamár #15756 üzenetére
Használd a szabványos (u)int(8|16|32|64)_t típusokat. Ha nem ismerné, include-old a <stdint.h>-t. De valszeg tényleg nem ez a hiba.
-
-
-
válasz
tonermagus #15715 üzenetére
-
-
válasz
Tomika86 #15669 üzenetére
Alapvetően nem szerencsés globális változót használni, mert azt bárhonnan eléred, ezért nem tudhatod hol módosult. Ez főleg hibakereséskor fontos. Nem tiltja meg senki, és ha a te kódod úgy sokkal egyszerűbb, akkor hajrá. Van valami konkrét kód is, amit meg tudsz mutatni?
-
válasz
Tomika86 #15666 üzenetére
Ha módosítani akarod, akkor az nem konstans.
Működik persze, a C-ben az a jó, hogy engedi, hogy lábon lődd magad
Viccet félre téve, nyilván nem fér bele egy int egy byte-ba, csak ha nem használod ki az int ranget, ha még tudod, hogy belefér nem kell castolni. Arra vigyázz, hogy az int alapból signed.
Lokális szebb, de néha kell a globális.
-
-
válasz
tonermagus #15585 üzenetére
Akármennyi taskot csinálhatsz, amíg nem futsz ki az erőforrásokból, OS schedulálja őket.
A másik kérdés: ha a TASK1-ben egy változónak értéket adok, akkor azt a loopban is használhatom?
Ha globál változó, akkor igen, de ha mindekettőből akarod írni, akkor mutexelni kell.
-
-
-
válasz
tonermagus #15563 üzenetére
Hát, nem vagyok egy elektromágus, szóval valaki majd kijavít, de a datasheet szerint a hőellenállása 62 C/W. Arduinoról hajtva 5V-on már majdnem teljesen kinyit, szóval, ha P = I * I * R, akkor 1,5 * 1,5 * 0,022 * 62 = 3 C-ot melegedne hűtés nélkül.
-
válasz
tonermagus #15561 üzenetére
IRLZ44N
-
-
válasz
tonermagus #15422 üzenetére
-
-
-
-
-
Látott már valaki olyat, hogy ESP32 két BJT-s DRT/RTS auto reset áramkör külső CP2104-es USB/serial konverterrel nem megy. Gyakorlatilag az Adafruit HUZZAH32 idevágó része lett lekoppintva. El sem indul a feltöltés, egyszerűen kitimeoutol. Kézzel beállítva a szinteket működik a feltöltés, egyenként nézve szkóppal a konverter kimeneteit valamit csinál, de csak egy csatornásom van, szóval lehet időzítési probléma. Logikai analizátorom nincs. Bármi ötlet?
-
válasz
Janos250 #15280 üzenetére
A nem direktbe úgy értettem, hogy akkor csak az adott c/cpp fájlban levő függvények érik el, tehát ha neked egy .a fájlod van, amiben van egy "getter" arra a változóra, akkor azon keresztül. Ha nem static, akkor egy globál változó bárhonnan elérhető, ha előtte deklarálod externként a saját c/cpp-dben.
-
-
válasz
Janos250 #15264 üzenetére
Az a gond, hogy a cpp-k külön objektek lesznek, így a header guard erre nem jó, mivel itt a fileKezeles2021maj02LibHibakeresesProba01-ben és a Device2VirtualFileSystem-ben is lesz egy acharCounter ojjektum.
Megoldás: egyik cpp-ben vagy ino-ban definiálod a globál változót, és a többi fájlban extern-nel deklarálod.
-
Nem tudom bedobni a kódodba, mert nem teljesen értem mit csinál. Miért van a digits1/2/3/4, és miért különböznek, ha mindegyik egy sima 7 segmenses kijelzőt vezérel? Egyébként ennyi volna a használata:
unsigned int value = 1234; // ide az ADC olvasás vagy akármi
decomposition_to_digits(value, false, &num4, &num3, &num2, &num1);Már ha a num4 az ezres érték.
Új hozzászólás Aktív témák
- LG LCD és LED TV-k
- Vivo X200 Pro - a kétszázát!
- sziku69: Fűzzük össze a szavakat :)
- DUNE médialejátszók topicja
- Mr Dini: Mindent a StreamSharkról!
- Fotók, videók mobillal
- Medence topik
- BestBuy topik
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Samsung Galaxy A54 - türelemjáték
- További aktív témák...
- Eladó ASUS ROG FUSION II 500 + ASUS ROG THRONE QI gyári dobozban, kifogástalan állapotban!
- Xiaomi 13T Pro 12/512GB Jótállás: 2026.10.24.-ig Állapot: 10/10 Független
- Gigabyte B550M K épített PC Ryzen 5 5600G 64GB RAM
- Eladó egy Ezüst Macbook Pro M3 8Gb/500Gb, Francia bill,20Ciklus, 1év Apple garival
- Eladó egy Ezüst Macbook Pro M3 8Gb/500Gb, Arab bill, 3Ciklus, 1év Apple garival
- Apple iPhone 13 128GB / Kártyafüggetlen 1ÉV GARANCIÁVAL
- 15" Workstation: Lenovo Thinkpad P1 gen2 // P52s // P15 gen1 // FHD, 4K oled touch
- ÁRCSÖKKENTÉS Lenovo ThinkPad T570, T580, P51s, P52s eredeti Lenovo, belső akkumulátor eladó
- BESZÁMÍTÁS! ASRock B250 i5 7400 16GB DDR4 512GB SSD GTX 1660 SUPER 6GB Rampage Everest 500W
- Felújított számítógépek/merevlemezek Számlával, garanciával! Ingyen Foxpost!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest