Persze: egyrészt, a 2x5 csatlakozót nem könnyebb összekötni az alaplap 2x3-as ICSP csatlakozójával, mint a kényelmesen hozzáférhető digitális/analóg pinekkel (pl. mert kevés a hely). Azóta egyébként próbáltam azt is, ugyanúgy nem működik, ugyanaz a hibaüzenet, máshol lesz a gond, nem a zsinórozásnál.
Másrészt erre a bizonytalan projektre nem akarok költeni, (nyilván egy 2x5 -> 2x3 átalakító nem a világ, de ez elvi kérdés) amíg nem látom, hogy feltámasztható a dolog, tényleg nincs más baja az alaplapnak azóta, mióta felkerült rá a blinking progi.
Biztos, hogy rossz a kábelezés. Azt eleve nem értem, hogy miért az "élet nem annyira egyszerű" forgatókönyvet tolod. Van rá bármi okod, hogy ne a hardveres soros vonalat használd?
Adott egy olcsó kínai arduino uno klón (Wavgat uno r3). Sajnos az USB csatlakozója tönkrement. Még az USB utolsó lehelletével fel lett telepítve az IDE működéséhez szükséges driver és alaplap . A Blink próbasketch is felment rá, most is az fut, ha bekapcsolom, tehát amúgy működőképes az alaplap.
Van egy USBASP programmerem (ATMEGA8A), jól feltepítve, device manager ismeri - de, hogy az élet ne legyen olyan egyszerű, 2x5 csatlakozóval, szóval nem tudom direkt a klón ICSP-jére kötni, hanem az analóg/digitális interface-ek pinjein keresztül madzagoltam össze, ez alapján: https://www.arduino.cc/en/tutorial/arduinoISP.
Programmer:"USBASP", File menu: "Upload using programmer", alaplapnak kiválasztva a Wavgat.
Próbálok feltölteni rá programot, de állandóan leragad az "Uploading..." státuszban. Nem is tölt föl a program. Hibaüzenet:
java.lang.NullPointerException at cc.arduino.packages.uploaders.SerialUploader.uploadUsingProgrammer(SerialUploader.java:295) at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:90) at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77) at processing.app.SketchController.upload(SketchController.java:732) at processing.app.SketchController.exportApplet(SketchController.java:703) at processing.app.Editor$UploadHandler.run(Editor.java:2075) at java.lang.Thread.run(Thread.java:748)
Bármilyen ötletnek örülnék, mert kidobni nincs szívem, hiszen működne az alaplap - de már kezdem feladni.
udvözlök mindenkit! surgös segitsegre van szuksegem, taviranyito kodjat szeretnem kiolvasni, program van, felvan töltve,a programban atirtam a HEX helyett DEC, viszont a soros monitoron csak kerdöjelek meg negyszögek stb. jelennek meg,mit tegyek? egyeb mas programnal is ez a helyzet
van egy arduino klónom ch340 (kinai). az a gondom vele,hogy amikor rákötöm a pc-re beismeri, a portot is megadja, viszont amikor sketchet töltenék fel rá sokáig "gondolkodik", majd kiír egy STK- 500 hibakódot. mi lehet a gond? bootloader vagy valami hardveres izé? Feltöltés alatt az rx-tx ledek nem villódznak.
Arduinoban Mega2560 -at programozgatok hobby szinten, de most szeretnék egy komolyabb project-et létrehozni, és ebben kérném a segítségeteket.
A problémám: szeretnék érintőképernyőt és rajta elég sok információt és gombot, almenüt megjeleníteni.
Létezik valamilyen grafikus szerkesztő program ilyen célra?
A MikroE Visual TFT-je megvan, de annak a kódját át lehet vinni Arduino-ba?
Vagy találtam még az MS Visual Studio-hoz az Arduino IDE for Visual Studio and Atmel Studio, illetve ott van még az Atmel Studio, de ezek kódjai átvihetők, vagy közvetlen belőlük leprogramozható a Mega2560 (CH-s USB illesztő van a panelen)?
A MikroE -vel az a "problémám", hogy kényelmesen tanultam meg programozni, és a tris és egyéb bitek beállítása nem nagyon megy, mert hát ugye Arduino-ban nem kellenek...csak input output..szóval sokkal könnyebb, de most érzem a kényelem hátrányát!
Ellenőrizd a bekötéseket. Nekem volt olyan 1602-es displaym, I2c vezérlővel, ami nem volt hajlandó csak 5 volt tápról megszólalni - az elvileg ikertestvére meg 3.3V-ot kért, az 5V-ot nem szerette :( Nem méregettem az alkatrészeiket, egyébként sem rutin művelet nálam a felületszerelt panelek forrasztgatása.
szerintem minden, hozzánk hasonló amatőr megszívta már, hogy nem állította be az LCD kontraszt-feszültségét.
ez egy sima trimmerpoti a nyákon - az LCD már az inicializálás során kiír értelmezhetetlen karaktereket - ha azokat SEM látod, akkor én ezzel a potival kezdeném.
Az i2c lcd meghajtó pontos típusától és paraméterezésétől (gyakorlatban: címzésétől) függ. Ha hardveresen alkalmas a 3,3V-ról való működésre (és ezt a kijelző is támogatja), akkor minden további nélkül működnie kellene. Ha nem, akkor két eset van. A jobbik az, hogy bár az i2c meghajtó 5 V tápfeszt kér, de elfogadja magas jelszintnek a 3,3V-ot és alacsonynak a 0 és 1 V közötti értéket az i2c buszon. A nehéz kérdés itt mindig az, hogy a 4k7 felhúzást mihez képest csinálod, 3,3 V-hoz, vagy 5 V-hoz... Elrontani ezzel nem tudod, érdemes mindkettőt kipróbálni (ha és amennyiben az illesztőn magán nincs ilyen -- ez ahány, annyi féle interpretáció). Mindent i2c szkennerrel. Ha semmi sem megy, érdemes megnézni, hogy egyáltalán jön-e ki bármi is az ESP-ből. Ehhez egy bármilyen alap szintű oszcilloszkóp elég.
Nekem 10 ilyen esetből 9-szer az volt, hogy szoftveresen el sem indult az i2c. Ez sok tíz óra szívást jelent. Szkóppal ez 2 perc. Se.
Ja, egyébként ha bármi megjelenik a szalagokon, ami legalább hasonlít arra, amit szeretnél, akkor a könyvtárak jók, csak az adatkezelést kell megoldani.
Ez nem hardver, hanem szoftver feladat. Ha a betűk szétesnek, annak az az oka, hogy rossz címzéssel megy ki az információ.
A megfelelő megoldás, hogy négyzethálós papírra felrajzolod azt a négyzethálót, amit a ledek kiadnak, és sorban megszámozod őket, ahogy be vannak kötve. Erre kerül egy mátrix, amely a kiküldött adatokat kell tartalmazza. A megoldás lényege, hogy a kiküldött adatok sorrendjét kell egy megadott szisztéma szerint megváltoztatni. Nem ördöngősség, de gondolkodni kell hozzá.
a WS2812b nem egy mezei led. van benne kontroller. a bejövő adatból levesz 24 bitet a saját színéhe, a többit továbpasszolja. ha a szalag az 100led, akkor az elején betolsz egy 2400bites keretet, és szépen az összes led olyan színű lesz, amilyet akartál.
Tulajdonképpen semmi mást nem tettem, mint hogy minden levágott szalagot összekötöttem forrasztás nélkül (ilyen csatit lehet kapni). Az első szalag alá tettem a másodikat , ez alá a harmadikat és így tovább.... Tulajdonképpen az első szalag -mondjuk 10-ik ledje a második szalag 25-ik ledje.... ehhez hasonló az elrendezés (remélem sikerül belinkelnem) : https://subethasoftware.com/2014/03/15/simple-scrolling-led-sign-for-neopixel-ws2811-or-lpn8806/
Szeretnék egy kis segítséget kérni, amennyiben ez lehetséges. Elsősorban leszögezném, nem vagyok programozó, hobby célból próbálkozom. Van egy 5 méteres WS2812b led szalagom (300 led), melyet feldaraboltam 8-szor 36 ledes csíkra.
Sorba kötöttem őket (, nem párhuzamosan, hanem sorba-, láncba), így helyeztem el minden csíkot egymás alá. Így készítettem egy led panelt, egy oldali betáppal (5 V). Olyan szeretnék hogy ezen a panelen egy irányba betűk és számok fussanak (jobbról-balra például). Találtam hozzá kódot, de nem működik, azért nem, mert a betűk "szétesnek". A program elvileg kimondottan ilyen láncra van írva.
Létezik-e olyan kód Arduino alá, ami ezt megoldja. Azt tudom, hogy minden második szalag "adata" ellentétes irányú. Hiába próbáltam ki a különböző könyvtárakat Arduino alatt (FastLed, FabLed, Ledws, Ms Parola stb....) nem találtam olyat ami "visszafordítja" a ledeket. Remélem értitek, hogy mit szeretnék Előre is köszönöm mindenki segítségét...
Nincs jelentősége, hogy utángyártott, a filléres kínai modulok 99 százaléka ipari hulladék sajnos, a legtöbbnek eleve elbaltázott a tervezése minden szempontból.
Alapvetően kód nélkül nem lehet megítélni, hogy mi jó és mi nem jó. A ledes visszajelzés jó, de ha számítógép mellett vagy és érdemben nem befolyásol semmit, a soros vonal (Serial) használata debura jó megoldás. Sajnos más sincs... :-(
Nem adást, hanem vételt.
Változódeklarációk C++ viszonylatban nagyon egységesek, csak nagyon magas szinten vagy speciális esetekben vannak kivételek.
Ha void függvényeket használsz és van memóriád szabadon, akkor a legtöbb esetben praktikus eleve globális változókat deklarálni.