5V szerintem necces, mert ha véletlen picit kevesebb, az instabilitást okozhat. Ha jól rémlik egyébként is kb. 7V-tól írják a külső tápot. A 12V-ossal meg az a baj, hogy nagyon sokat fog elfüstölni feleslegesen, mire 5V-ot készít belőle. Szerintem a 9V egy ideális választás, van ilyen táp is, elem is vagy egy normális usb töltő, az elvileg tökéletes 5V-ot kell, hogy adjon.
Köszönöm. Lehet én nem jó olvasom de úgy látom különböző lábakon különböző frekvencia jön ki egy timer segítségével. Valahogy nem lehet az adott lábon kijövő frekvenciát változtatni?
Elnézést ha hülyeséget kérdezek de kellene egy kísérlethez, hogy állítható legyen a kijövő frekvencia. 1Khz-től amennyit tud max a mega.
Beszéltük minap, miket lehet tanulás céljából építeni. Nos, a legújabb IOT kütyüm a kutyaházban fogja mérni a hőt és páratartalmat, nyáron meg szerintem a padláson. Semmi extra okosság, csak poén.
Nem, a PWM frekvenciája általában rögzített. A kitöltési tényezőt állítod. Vagyis azt, hogy az idő hány százalékában legyen a jel magas. A PWM (Pulse Width Modulation = Impulzus Szélesség Moduláció) nem más, mint egy digitális jel gyors ki-be kapcsolgatása.
Lehet kicsit vagy nagyon bagatell kérdésem lenne. Adott egy pwm kimenet egy potival szabályzom mint általában a példa programokban. Az lenne a kérdésem, hogy a potival a frekvenciát állítom? Ha igen ki lehet íratni valahogy az aktuális frekvenciát?
Mekkora a legnagyobb frekvencia amit egy (Mega 2560 CH340G chip 16MHz ) lehet csinálni?
Azon gondolkoztam ma reggel, hogy van-e lehetőség arra, hogy az arduino észlelje, hogy PC-re van kötve. A Serial kapcsolat akkor is létrejön, ha épp nincs a túloldalon senki, ugye? Más ötletem így elsőre nincs, de hátha nektek van.
Debugolás miatt jutott eszembe, csináltam egy wifis hőmérőt, ami 10 percenként mér közte alszik. De teszteléskor nyilván a 10 perc sok, jó lenne bedrótozni a kódba, hogy ha PC-re van kötve (fejlesztés) akkor pl. a várakozás változó más értéket kap, mint amikor valóban dolgozik. Így nincs meg az esélye, hogy az ember elfelejti visszaállítani a változót élesítéskor.
Az jutott eszembe, hogy a Maker-nek is van egy csomó könyve Arduino projektekről, illetve az Instructables.com-on is elérhető egy csomó olyan projekt, ami jó/hasznos/érdekes lehet. Mondjuk mindkettőben találtam már hibát, de ettől még működhetnek.
Tényleg mindent végigtúrtam a neten, a legtöbb megoldási javaslat arra vonatkozott, hogy a bootloader hibás és nem reseteli, ezért lehet próbálkozni azzal, hogy amikor megszólítja a - most már tudom - AVRDUDE akkor pont a megfelelő pillanatban nyomni egy resetet.
Én is attól féltem, hogy bootloader gond lesz, de kicsit megnéztem hogy mit csinál az arduino IDE és elkezdtem játszani a parancssori paraméterekkel.
A megoldás az volt, hogy a 115200-ról visszavettem a sebességet a felére, azóta csinálja mint a kisangyal és "örülünk Vincent" van :D
Mindenesetre köszi a tippeket! Volt már nagyobb szívásom is triviális dologgal, ez még nem is a legalja kategória volt. A nagyon furcsa az, hogy a neten fellelhető case study-k szerint ebben az irányban senki nem próbálkozott
Eszerint a leírás szerint magadnak kell rá firmware-t tenned, úgyhogy kell rajta bootloadernek lenni.
Szerintem az OP érdeklődjön náluk, hogy mi a helyzet.
A legelső alkalommal hogyan töltötte fel a firmware-t?
Jó soros porttal próbálkozik? stb
Ha semmi más nem segít, akkor ki kell mérni, hogy az ISP lábak hová vannak kivezetve, vagy ráforrasztani az IC-re, és csinálni egy ISP csatlakozást rá.
Egyrészt azért maradt kii az ESP8266, mert nem a teljességre törekedett a felsorolás. Másrészt azért, mert nekem ugyan képbe került, de semmi olyan projekt nem akadt eddig, aminél hasznát vehettem volna. Sok éves amatőr múlt után van némi fogalmam a vezetéknélküli átvitel nehézségeiről (ezért nézem inkább az mdot-ot, mert amihez kellene, ahhoz ez sokkal jobb).
Az az alapelvem, hogy adott célra kell megfelelő fejlesztői környezetet és eszközt találni.
Az első felvetésre: pont arra akartam felhívni a figyelmet, hogy a végső kód a könyvtárakon és a fordítón múlik, ahogy te is írtad. A fordító az IDE-ben van, a könyvtárak is rendszerint.
A második felvetésre. Ez így összefoglalva hasznos volt, így nagyon köszönöm! Jobbára angolul olvasok és előfordul, hogy a magyar szakszótár híján rosszul ültetek át valamit érthető magyar szöveggé, ezt meg néha hibás értelmezésekből tévesen levont következtetések nehezítik.
A lényeg azonban remélem tiszta volt, hogy rettentő nagy a sokszínűség minden tekintetben.
Nincs rajta bootloader, ami a soros feltöltést intézné. Kell egy programozó hardver, amivel fel tudod tölteni. A boardon ki van vezetve az ISP? (2x3 tüske)
Segítségre lenne szükségem, elnézést hogy mindjárt így nyitok de "ég a ház"...
Adott egy GT2560 lapoc és nem tudok rá frissítést tölteni. Ez egy 3D nyomtatót hajt és tudom hogy arra van külön topic de itt szerintem a Ti hozzáértésetek fog segíteni.
Szóval ardunio progival próbálnám rálapátolni a firmware-t ami a nyomtatóhoz kell, de nem sikerül, sync timeouttal elszáll.
Pontosan úgy néz ki, hogy egyszer megvillantja az RX ledet (piros) aztán ennyiben is marad a dolog.
Túrom a netet 3 napja a probléma miatt és az egyszerűbb 5leteket végigjátsztam. Nagyon úgy tűnik hogy ez valami bootloader probléma, de ehhez nem igazán tudok hozzászagolni, plusz olybá tűnik hogy egy USB kábel ezt nem is fogja megoldani.
Segítenétek elindulni valamerre? Valami rémlik, hogy egy másik arduino-val lehet orvosolni a problémát, de nincsen a közelemben. Raspberry nem lenne jó esetleg? (csak ötlet volt)
Szóval merre tovább?
Azért kéne mindenképp frissítenem mert vettem hozzá sokpízér HW "imprúvmentet", de így nem tudom aktíválni csak ha...
Lehet túl aggódónak tűnik a dolog, nekem egy jól működő boardom szállt el pár hét aktív fejlesztés után minden előjel nélkül. Fejlesztgettem, írtam és az egyik feltöltésnél kampó. Működik, csak épp írni már nem tudok rá. Persze nem nagy érték, inkább az, hogy mivel nem tárazok be készleteket, így várni kellett heteket, mire folytatni tudtam. Persze azóta van már tartalék, de bennem maradt a tüske :)
> Mert korlátolt az írás szám, és egy nagyobb fejlesztésnél simán akár százas nagyságrendben is történhet fordítás.
És akkor mi van?
Az eszközök adatlapját nézted már? Két példa hirtelen: Az Atmel a modern AVR eszközöknél (pl: ATmega328), és az ST az STM32 eszközöknél 10000 írást garantál. A gyakorlatban ennél többet bírnak.
Mennyibe kerül egy MCU board? Arduino pro mini ATmega328: 700-1400 ft, Maple Mini (STM32f103) 1200-2000 ft.
A fejlesztés költségéhez képest a hardver ára általában elenyésző. És ez igaz akkor is, ha nem ilyen filléres, hobbi eszközökről van szó. Egy komolyabb fejlesztői kártya 10 és 100 ezer forint között kapható. (Természetesen vannak jóval drágább, speciális, nagyfrekvenciás, stb eszközök, de ott sem az MCU a drága, hanem a körítés.) Mennyibe kerül egy fejlesztő egy napra? De ha hobbiból csinálod, akkor meg a szabadidőd kevés, vagyis az az értékes számodra.
Válaszd azt az utat, amin a leggyorsabban haladsz. Ha éppen az emulátor, akkor azt, ha egy nap 100x töltesz fel új programot, akkor éppen azt. A megoldandó problémától függ. A flash miatt pedig ne aggódj, legfeljebb kidobod az MCU-t a végén, és egy újat raksz az élesen működő rendszerbe.
Alapvető algoritmusokat természetesen érdemesebb számítógépen fejleszteni. De erre a legjobb egy egyszerű, parancssoros C/C++ program, amit később adaptálni lehet a beágyazott rendszerre.
Az emulátorokkal az a legnagyobb probléma, hogy külső komponenseket nem, vagy csak korlátozottan emulálnak. Ráadásul egy beágyazott rendszernél a legnagyobb szívásokat az okozza, hogy kiderüljön, hogy miért nem jön időben a megszakítás, miért nem fér meg két periféria az I2C buszon, stb. Ezek emulátorban nem derülnek ki.
De erről meséljen többet olyasvalaki, aki sokféle emulátort ismer.
A más környezetben C kód tesztelésen már magam is gondolkoztam, sokszor van, hogy tényleg nincs jelentősége hol fordul, főleg ha debugolható. Egyébként pont ilyen alap dolgok se mentek emulátoron, nem ismert konkrét utasításokat, amelyen minden további nélkül működtek a board-on.
Más. Egyébként csak én vagyok az egyetlen, aki beleszeretett az ESP8266-ba? Csak mert pl. a te felsorolásodból is kimaradt. Én amióta rátaláltam, arduino-t nem is programoztam, gondolkoztam is rajta, hogy eladom a nano-kat, van kettő amit semmire nem használok és szerintem nem is fogok. A mega fog most sorra kerülni, mert azzal tudom megoldani az LCD mellett más kezelését is, meg UNO-m végképp nincs, csak nano, micro és mega. De nálam a nano szerepét teljesen átvette az ESP.
Mert korlátolt az írás szám, és egy nagyobb fejlesztésnél simán akár százas nagyságrendben is történhet fordítás. Főleg, ha úgy mint nekem, vagy egy fejlesztő board és van éles. Engem zavar, jobb lenne, nem minden csip-csup vacak miatt égetni. Vannak arduino emulátorok, de én még jót nem találtam.
> Tippem szerint, ha leradírozol egy Arduino bootloadert egy Atmel MEGA328P-ről, és rátöltesz egy adott célt megvalósító szoftvert Arduino IDE-ből egy soros programozóval és hasonló felállásban az Atmel Studioval, jelentősen más végeredményt kapsz a végső kódban.
A kód a használt könyvtárakon és a fordítón múlik. Tehát egy Arduino IDE alatt fordított program bitre pontosan ugyanaz lesz, akár van az MCU-n bootloader, akár nincs. Annyi lesz a különbség, hogy a memória (flash) más részére kerül feltöltésre.
> -- saját IDE: bootloader nélkül, USB soros programozóval vagy egy másik Arduinoval,
Vagy bootloader nélkül programozóval (AVR Dragon, Atmel ICE, Arduino as ISP, stb), vagy USB soros átalakító és bootloader.
Nincs olyan, hogy soros programozó. USB TTL serial interfész létezik. A gyári Arduino paneleken ez rajta van, egy Atmega16u2 van USB TTL serial firmware-el programozva. Más lapokon CH340, CP2102 vagy egyéb cél IC van. A programozást ilyenkor minden esetben az MCU-n futó bootloader végzi.
Az USB-soros átalakító csak egy virtuális soros portot hoz létre a PC-n, fogalma sincsen, hogy mit kötsz a soros végére. Nem ismer se átviteli protokollt (csak fizikai szintűt), se MCU programozást. Az adatátviteli protokollt a PC-n futó szoftvernek és a bootloadernek kell ismernie, a flash írását pedig csak a bootloadernek.