- SD-kártyát vennél? Ezért ne csak a GB-ot nézd! – Tech Percek #9
- OLED TV topic
- ZIDOO médialejátszók
- Vezeték nélküli fülhallgatók
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- HiFi műszaki szemmel - sztereó hangrendszerek
- DUNE médialejátszók topicja
- Fejhallgató erősítő és DAC topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
-
PROHARDVER!
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
Tankblock #17086 üzenetére
Ez érdekes. Úgy emlékszem, hogy én is azzal próbálkoztam először, csak nem volt benne Attiny12 támogatás
Most az AVR stúdió 4 van fent, mert ezzel sikerült csak működő kódot fordítani. Létezik, hogy ennyire béna lettem volna?
Megtennéd, hogy írsz és fordítasz rá valami egyszerű kódot, mondjuk ledvillogtatást, esetleg ha van lehetőség, UART-on kiíratni vmi szöveget, és elküldöd nekem a hex fájlt? Most már igazán kíváncsi vagyok.
-
Úgy tudom volt valamilyen próbálkozás RAM nélküli C compiler létrehozására, de sajnos nem találtam sehol letölthető formában, szerintem félbe hagyták a fejlesztést. Nyilván nem volt értelme túl sok energiát fektetni bele, se változók, se szubrutinok használatára nem lenne lehetőség, 3word-nyi hardware stack van a CPU-ban, 3-nál mélyebb rekurzió fölött gyakorlatilag lábon lövi magát a program.
Lehetne a programmemóriát adat tárolására is használni, de mivel összesen 1kB áll rendelkezésre, ez sem lenne túl előremutató. Az UART modulom assembly-ban írva is jelenleg több mint 800 Byte, miközben magát a programot, ami használni fogja, még el sem kezdtem írni. -
válasz
Tankblock #17082 üzenetére
Szoftveres UART-ot írtam, és a 32 regiszterrel az RX buffert is meg tudtam oldani viszonylag egyszerűen.
1,2MHz órajel mellett piszkosul ki kell számolni minden utasítás ciklusidejét, hogy kijöjjön a 115200b/s sebesség. Az oszcillátor kalibrációja nélkül nem is sikerült.
-
válasz
Tankblock #17079 üzenetére
Vettem egy marék Attiny12-t (Attiny85 helyett küldték Kínából, hogy véletlenül, vagy szándékosan, azt sosem tudom meg), nincs benne ram, ezért nem lehet C-ben programozni. Mérgemben megtanultam assembly-ban programozni, hogy ne vesszenek kárba (régebben 6510 assembly-al volt már dolgom). Nem túl hatékony vele dolgozni, de nagyon büszke vagyok, mikor sikerül valamit megírni rá.
Épp egy ubtech robothoz csinálok belőle külső szenzort.
-
válasz
Tankblock #17077 üzenetére
Általában igaz, hogy illik tudni mi történik, mert jöhetnek a meglepetések...
20 év alatt ez az első alkalom, hogy találkozom ezzel a formulával, és nem érzem úgy, hogy bármiről is lemaradtam volna
Hozzátartozik, hogy nem múlik rajta a megélhetésem, tehát könnyen vagyok nagyvonalú. De már csak az alaposságom és a kíváncsiságom miatt is utána fogok olvasni.
Minél többet tudok a C++-ról, annál jobban szeretem az assembly-t.
-
-
-
válasz
Killer man #17044 üzenetére
Milyen ledet? Nem mindegy. Piros vagy zöld ledből 3-at sorba kötve összesen 10-15mA kell nekik. Mármint feltételezve, hogy 5V a tápfesz (és a magas jelszint).
-
válasz
Killer man #17041 üzenetére
Attiny88 van rajta ezek szerint? Az adatlapja alapján bírja a 40mA-t.
DC Current per I/O Pin ............................................... 40.0 mA
Mit szeretnél rákötni, ami ennyit igényel? -
válasz
Killer man #17039 üzenetére
Sosem hallottam még ilyen nevű eszközről. Milyen uC van rajta?
Látatlanban azt mondom, hogy nem bír el 40mA-t. Az AVR-ek talán bírnak ennyit, de inkább sink módban, push módban asszem 27mA a max. Az esp-k még ennyit se, ott talán 17mA a max áram. -
válasz
Brain75 #17034 üzenetére
Túl konkrét vagy, az a baj.
Az eszköz gondolom egy játékvezérlő, a készülék funkciója pedig valamiféle csalás lenne.
A feladatot valószínűleg meg lehet oldani a fent említett usb host shielddel, és egy Arduino Pro micro-val olyan módon, hogy rögzíteni kell a gamepad jeleit a host shielden keresztül, a pro micro-val pedig egy másik gamepad-et emulálni. Némi késleltetéssel lehet számolni. -
válasz
Brain75 #17032 üzenetére
Szia! Az első két bekezdés egyszerűnek tűnik, mintha egy tanítható infra távirányítóról lenne szó.
A gondok itt kezdődnek:
A jel USB-n jön és USB-n kell továbbmennie
Erről kicsit többet kéne tudni, mert elég sokféle jel közlekedhet usb-n, viszont Arduinoval csak egy részét lehet feldolgozni vagy emulálni. Valószínűleg szükség lesz egy olyan eszközre, amit pont kettővel feletted linkelt a kolléga. -
válasz
razorbenke92 #17020 üzenetére
Köszönöm, így világos!
És ez a benne maradt megnyúlás hogy befolyásolja a mérést? -
válasz
razorbenke92 #17018 üzenetére
"5% void limittel engedik át a röntgenes vizsgálaton."
Ez mit jelent?A statikus feszültség pontosan mit okoz a tokon belül?
-
Ez az a library, ami felhekkel egy bináris kódot az IMU-ra indításkor? Én játszottam egy időben sokat vele, és a raw értékekkel nem érdemes vesződni, hagyd, hogy a DMP dolgozzon! És igen, idő kell neki, hogy megálljon a drift, attól függően, hogy mennyire találod el az alap kalibrációs értékeket, 1-5 percig is tarthat. A rossz hír, hogy pontosan sosem fogod eltalálni, mert mindentől függ, főleg a chip hőmérsékletétől, ami meg ugye bekapcsolástól kezdve folyamatosan változik, a környezet hőmérsékletétől függően. Próbáld ki, ha kézbe veszed és az ujjaddal elkezded melegíteni, rögtön elkezd driftelni.
-
válasz
Ton-ton #16990 üzenetére
Értem, mire gondolsz. Viszont a stepper vezérlés a fenti hardverrel is indirekt módon történik, tehát nem közvetlenül küldi a léptető impuzusokat (pwm), hanem az i2c buszon regisztereket tölt fel, irány és sebesség adatokat küld. Ez persze nem zárja ki az időzítési problémákat, de valószínűleg mégis működik a módszer, különben nem létezne a fenti hardver.
-
válasz
Janos250 #16985 üzenetére
Én stepper drivert kerestem, valamiért félrehordott a Google, én meg a buszon állva elnéztem.
Nyilván tudom, hogy stepper drivert keres, hiszen a RAMPS is az. Bár jobban meggondolva robot karokhoz inkább servo-t szokás használni 🤔
Ha nem elírás, akkor itt van ez a stepper driver HAT. -
válasz
sisi22 #16981 üzenetére
Ennél egyszerűbb a helyzet: 1db kütyü kell, meg két gomb.
Sokkal könnyebb lenne, ha mondanál valami konkrétumot a projektről, annak függvényében javasolnám az Arduino pro micro-t, illetve esetleg a Sparkfun Digispark-ot, amihez még külön usb kábel se kell, és olcsóbb, cserébe néha elég esetleges a működése. -
válasz
sisi22 #16965 üzenetére
Adatok mentésére én még egy ilyet is kitaláltam: Arduinoval lehetséges usb billentyűzet emulálása. Mi lenne, ha az eszköz gépre dugva az előzőleg megnyitott Word dokumentumba / Notepadba egyszerűen begépelné a mérési eredményeket.
Ennél egyszerűbbet nem tudok elképzelni.
Valójában mi lesz ez a cucc, valami játék, vagy valamilyen edzéshez kell?
-
válasz
sisi22 #16965 üzenetére
Ez a soros port nem az a soros port, amire te gondolsz, ez usb-n keresztüli (virtuális) soros port emuláció. Vagyis usb-vel rádugod a gépre, csak kell valami, ami tudja kezelni. Valószínűleg a legjobb megoldás Janos250 javaslata alapján egy esp32, ami egy önálló webszervert képes megvalósítani. Felkapcsolódva vele az otthoni wifi hálózatra, gépről rá tudsz kapcsolódni és megnézni rajta az adatokat.
20 forintos kérdés: Arkagyij Rajkin
Jó lenne, ha megmásznád ezt a spanyol hegyet, különben kell valaki, aki megmássza helyetted.
Lehet önálló kütyü is, van mindenféle kijelző, karakteres vagy grafikus, pénz kérdése.
-
válasz
sisi22 #16959 üzenetére
Szia! Ez egy egyszerű feladat és hardver szempontjából is szinte bármivel meg lehet oldani. Így inkább az a kérdés, hogy van-e otthon bármilyen Arduino kompatibilis eszköz, illetve milyen programozói tapasztalatod van?
Ez egy játék lenne? Csak hogy megfelelő teherbírású és lehetőleg pergésmentes nyomógombot is kell hozzá találni.
A kijelzés csak PC-n fog történni, vagy szóba jöhet valamilyen LCD kijelző? Előbbi esetben szükség lesz egy PC oldali programra, ami képes soros porton érkező adatokat megfelelő formában kijelezni.
-
Ha módosítod a color () függvényt erre:
void color (unsigned char red, unsigned char green, unsigned char blue,
int redPin, int greenPin, int bluePin);
{
analogWrite(redPin, 255-red); // PWM signal output
analogWrite(greenPin, 255-green); // PWM signal output
analogWrite(bluePin, 255-blue); // PWM signal output
} ;akkor a kódodban már meglévő összes color () hívást hozzá kell módosítani.
Tehát ehelyett:void loop() // run over and over again
{
// Basic colors:
color(255, 0, 0); // turn the RGB LED red
delay(1000); // delay for 1 second
color(0,255, 0); // turn the RGB LED green
delay(1000); // delay for 1 second
color(0, 0, 255); // turn the RGB LED blue
delay(1000); // delay for 1 seconderre:
void loop() // run over and over again
{
// Basic colors:
color(255, 0, 0,11,10,9 ); // turn the RGB LED red
delay(1000); // delay for 1 second
color(0,255, 0,11,10,9); // turn the RGB LED green
delay(1000); // delay for 1 second
color(0, 0, 255,11,10,9); // turn the RGB LED blue
delay(1000); // delay for 1 secondkülönben hibát fog jelezni (megjegyzem a hibaüzenet nem a te bosszantásodra van, hanem leírja, mit csinálj máshogy
)
-
Esetleg, ha van szkópod nézd meg, látható-e szabálytalanság a négyszög jelben a stabil pontoknál! Arra gondolok, hogy a mechanika behúzza a helyére a stabil állapotnál, kifelé pedig nehezebben engedi, tehát a kettő közt látszódnia kellene valami különbségnek, lassú tekerésnél legalábbis.
-
válasz
ekkold #16860 üzenetére
Ja, hogy ez mechanikailag stabil állapot?
Én pont fordítva fognék hozzá: szimpla lépésesként kezelném, aztán pár beolvasás után megnézném, hogy a stabil állapotok többsége páros szám, vagyis ha legtöbbször 2 lépésenként stabilizálódik, akkor dupla lépéses. Kell egy treshold, mondjuk 75% fölött egyik, alatta a másik, és ezt addig tologatod, amíg megbízhatóan nem tud jósolni az algoritmus.
De ezt nehéz így látatlanban megoldani, kéne tudni, mire használod. Pontosan milyen feladat az, ahol nem tudod előre, hogy melyik kerül az áramkörbe? -
válasz
Undoroid #16829 üzenetére
Boldog új évet neked is! (Hol voltál 9 napig?!
)
1. Igen.
2. Ezt csak empirikusan fogod tudni megállapítani. Ha a két modul egy gyártótól származik, akkor van rá esély, hogy a két library bizonyos mértékig kompatibilis egymással, és ha nem akarsz olyan parancsokat küldeni, amit a másik modul nem ért, akkor elvileg működhet. Ha mégsem, akkor a megfelelő lib beszerzése és a kód megfelelő sorainak a javítása lesz a megoldás. Ha ez sem működik, akkor sajnos marad a reverse engineering: bele kell nézni mindkét library-be, és átírni az egész programot.
-
válasz
Dißnäëß #16819 üzenetére
Most volt időm végigolvasni ez a hosszú hozzászólást
Eddig abban a hitben voltam, hogy egy graceful shutdown után áramtalanítani is szeretnéd minden alkalommal az eszközt (magamból indultam ki). Ha tervezetten mindig áram alatt lesz, és csak az esetleges áramszünetekre kell a backup megoldás, akkor valóban inkább valami elemet kellene használni, pl 2db CR2032.
A számláló nullázására én megint más metódust használnék
Ha nem lesz kijelző, akkor lehetne 3db RGB led (vagy egyszerűen csak 3db led) mint állapot visszajelző, olcsó és hatékony megoldás.
Érdemes lenne a csövek hőfokának mérését is bevenni a projektbe, ahogy írtad, elég fontos paramétere a működésnek. Vagy külön termisztorral, vagy esetleg a fűtőszál ellenállásának a változásával, ahogy a forrasztópákáknál szokás. -
válasz
razorbenke92 #16822 üzenetére
sima load-balancera gondolsz
Igen, doktor úr, ez a pontos kifejezés!
-
válasz
Dißnäëß #16816 üzenetére
Csak megy a brainstorming az általad kitalált feladatra, alternatív módszerek tekintetében, hátha van jobb/biztonságosabb, ami esetleg nem jutott eszedbe, vagy nem tudtál róla, hogy ilyet lehet.
(Magam részéről ezt egy rejtvénynek tekintem, amit meg kell oldani. Szeretem a rejtvényeket
)
Alapvetően jó, amit kitaláltál, és működni is fog, de kérdés, mennyire biztonságos a tápelvétel utánra tenni az adatok mentését, illetve mennyire kényelmes hosszú távon az erősítő biztonságos kikapcsolására figyelni. Erre írtam, hogy az igazán hülyebiztos módszer a számláló folyamatos mentése lenne, plusz biker kolléga ötlete alapján kitaláltam egy még hatékonyabb módszert, de csak akkor írom le, ha érdekel. -
válasz
razorbenke92 #16804 üzenetére
Távolról sem kell 3byte wear counter, elég egyetlen bit minden adatcsomag mellé.
A számlálókat is lehet 2byte-on ábrázolni, a 3.byte-ból úgyis csak az alsó 3bit lenne használva, összesen 8byte-ra lehet tömöríteni, az már több mint 24 évnyi üzemidő, napi 8 óra használattal is 73 évig elég lesz.De számoljunk akkor csak 5 percenként, úgy elég 17 bit a 10000 órához! 3 számláló helyett pedig 5tel.
5 számláló = 10byte, + az 5 számláló legfelső (17.) bitje + wear leveling bit, és még marad 2 szabad bit tetszőleges felhasználásra, összesen 11byte. Ha jól számolom, 88 év jön így ki.De nem értem amúgy miért nem elég 1 számláló, elvileg mind3 cső együtt öregszik a többivel, nem?
-
válasz
razorbenke92 #16800 üzenetére
Percenként írva az eeepromot - aminek 100k körül van az írási ciklusa - 1666 órára elég.
Nem úgy van az! Ha pl. 1kbyte eeprom áll rendelkezésre, akkor az kb. 195 év.
Wear leveling, már volt róla szó itt a topikban.
Sőt, mivel az egyes bitekre vonatkozik a max írási ciklus, létezik arra is módszer, hogy még az egyes bitek közt is egyenletesebben legyen elosztva az elhasználódás (ugye egy számlálónál a 0. bit íródik a leggyakrabban), amivel a 100k max írási ciklus is növelhető. -
válasz
razorbenke92 #16795 üzenetére
Nem túl energiahatékony megoldás, de mi van, ha 5V táp esetén boost converter-rel felkonvertáljuk a kondi tápját 12 (16?)Voltra, és azt kapja meg az LDO a táp elvételekor? Akkor a kondi kapacitását jobban ki tudja használni, viszont a táp nagy része fűtésre lesz használva.
De én nem foglalkoznék ilyennel, ha üzemóra számlálás lenne a cél. Egyszerűen percenként növelném a számlálót az eepromban, és mikor megszakad a táp, 1 perces pontossággal lehet tudni, mennyit ment.
-
válasz
Dißnäëß #16773 üzenetére
Ehhez szerintem szuperkondi kell
Ha valóban sűrűn előfordul a fenti helyzet, én a helyedben inkább egy elemet használnék backup-nak, hogy 3V gombelemet vagy 9V-osat, esetleg 3db AA elemet, azt a táp felépítése alapján tudod eldönteni.
Ellenkező esetben függetleníteni kellene a perifériák (szenzorok, kijelző) tápját a uC-étől, hogy az adatmentéshez szükséges időt (pár tized másodperc) át tudd hidalni. 10mp? -
válasz
Undoroid #16755 üzenetére
Szia! Könnyebb lenne, ha látnánk a módosítandó kódot! Másold be például ide, és szúrd be a linket (vagy ha rövid a kód, közvetlenül is beszúrhatod ide).
Az első kérdésre viszonylag egyszerű a válasz: a setup-ban elmented egylong
változóba a millis() függvény visszatérési értékét, ez lesz a kiinduló időpont. Aztán a loop() elején csinálsz egy összehasonlítást:if (millis()>kiindulo_idopont+max_uzemido_millisecben) return;
-
Ennyi erővel vehetek egy occó wireless gamepadot, és átalakíthatom azzal a kormányt
Akartam is javasolni.
Ha mindenképp Bluetooth kapcsolatot szeretnél, akkor lehet például egy tetszőleges Arduino uC + hc-05 Bluetooth modul, vagy ESP32, BT Serial módban fogsz tudni vele rácsatlakozni a gép beépített Bluetooth-ára, ehhez kell egy driver/host program a célgépre. Vagy fogsz egy Digispark (Attiny85) modult, rákötsz egy hc-06 modult, a kettőt összepárosítod, a Digispark-ot felprogramozod USB-HID eszköznek.
De minek, ha minimális átalakítással 1db uC-el meg tudod oldani és kapsz egy komplett, hordozható, problémamentes plug&play megoldást. -
Egyetlen pin-t se tudsz felszabadítani valahogy? Biztosan megoldható valahogy.
A legegyszerűbb egy infravörös LED és egy IR receiver lenne, ami a tv-ben meg a távirányítóban van. Feltéve, hogy elég az egyirányú kommunikáció. A kormányrúd belsejében valahogy meg kell oldani, hogy a kettő között legyen némi rálátás, nem is kell tökéletesnek lenni, mert a kis távolság miatt akár egy vékony műanyagon/a burkolatba vágott lyukakon is átmegy a jel. -
-
válasz
Dißnäëß #16683 üzenetére
For any device with a pixel width of 256 or higher, you must uncomment (remove the //) from the following line in u8g2.h:
//#define U8G2_16BITNekem ez fura, 8bit pont elég 256pixel szélességhez, biztos, hogy neked 16 bit kell? Szerintem ez a szöveg pontatlan.
Meg kell nézni a nodemcu-n melyik lábakon van a hardveres SPI, úgy látom a D5-D6-D7 lábak, D5 a CLK és a D7 a MOSI.
-
válasz
puritan #16661 üzenetére
Leginkább Aliról, mert rendezi az áfát, csak AliExpress-es standard shipping-gel kell kérni a csomagot, és akkor a posta nem teszi rá a
koszosmancsát a csomagra, hanem csomagküldő hozza és adja a kezedbe, minden külön díj és ügyintézés nélkül. Legalábbis nálam legutóbb így volt, és többek ugyanezt írták. De majd ír valaki, ha nem ért egyet. -
válasz
Janos250 #16639 üzenetére
Ne becsüljük alá annak a jelentőségét, hogy nagyon sokszor azért használnak egyszerűbb processzort, mert egyszerűbb-> megbízhatóbb. Nem ok nélkül használtak például még a 90-es évek végén is Intel 8086-os CPU-kat az NASA űrsiklóiban: a lassabb órajel, a nagyobb csíkszélesség jobban tűrte a szélsőséges körülményeket, kiröhögte az űrbéli háttérsugárzást.
Én ha egy feladatot meg tudok oldani AVR-rel, nem fogok ESP-t használni, ha nincs szükségem a nagyobb tudásra. Miért? Mert régebbi, kipróbált technika, jobban tűri a hibákat (például: ESP-n lévő flash chip 3,6V tápfeszültségen megfő, egy AVR 7-8V-ot simán kiröhög). -
válasz
tonermagus #16632 üzenetére
Egyszerűen csak profibbnak érezné ha ESP/STM-en futna...
Hülye sznob...
-
válasz
tonermagus #16629 üzenetére
Egész pontosan mi az a jelenlegi konfiguráción, amit lassúnak talál? Lehet, hogy egyszerűen csak szoftver-optimalizálásra van szükség.
Amiket írtál, hogy másodpercenként 2 alkalommal, meg 10 másodpercenként csinálsz feladatot, ezeket gondolom aszinkron módon oldod meg, nem delay()-jel -
válasz
kavalkád #16622 üzenetére
erre valók a step-up/step-down eszközök?
Pontosan. Kellene egy dedikált 35V-os táp, és abból kellene előállítani egy step-down konverterrel az 5V-ot. Bár nem tudom, hogy van-e belőle olyan, ami ekkora tápfeszültségről is működik, emiatt esetleg lehetne helyette egy külön usb-s töltő az Arduino tápja.
Esetleg ha mindenképp 1 eszközt szeretnél, egy olyan trafót lehetne használni, ami mindkét tápfeszültséget elő tudja állítani, és abból csinálni egy stabilizált tápot, de ebben szerintem a hobbielektronika topikban több segítséget kapsz.
-
válasz
Undoroid #16616 üzenetére
Az Arduino IDE-ben keresd meg a könyvtárak kezelését, és írd be a keresőbe az eszköz nevét! Ha szerencséd van, 1db találatot kapsz rá, ami pont ez lesz.
Ha nincs szerencséd, több találatot is kaphatsz, amiből lehet mind jó, de lehet egyik sem. Ilyenkor egyesével töltsd le, próbáld ki, ha nem jó, töröld, és töltsd le a következőt.
Abban az esetben, ha egyik fenti megoldás se működik, a Google-ben keress rá arra, hogy "DS18B20.h", valószínűleg találsz egy github oldalt, onnan töltsd le az összes fájlt zip-ben:
majd csomagold ki az Arduino könyvtárban található library könyvtárba. -
Új hozzászólás Aktív témák
Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- SD-kártyát vennél? Ezért ne csak a GB-ot nézd! – Tech Percek #9
- OLED TV topic
- ZIDOO médialejátszók
- Asustor NAS
- War Thunder - MMO Combat Game
- Gurulunk, WAZE?!
- Milyen légkondit a lakásba?
- Vezeték nélküli fülhallgatók
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- További aktív témák...
- BESZÁMÍTÁS! MSI SUPRIM X RTX 4080 16GB videokártya garanciával hibátlan működéssel
- BESZÁMÍTÁS! 6TB Seagate SkyHawk SATA HDD meghajtó garanciával hibátlan működéssel
- BESZÁMÍTÁS! 4TB Samsung 870 EVO SATA SSD meghajtó garanciával hibátlan működéssel
- BESZÁMÍTÁS! Intel Core i7 8700K 6 mag 12 szál processzor garanciával hibátlan működéssel
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest