Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Az rendben van, csak a a kijelzőn hova kössem ? A V-out lábra ? Mert azt általában kondival a GND-re húzzák.
A hozzászólás módosítva: Dec 14, 2019
Ez ugyanazon serial-ról olvas és ugyanoda ír, és a delay-t se értem
Ja igen, csak a delay nélkül túl gyorsan megy az ablakban a visszaadott érték.
Minjárt megpróbálom a SoftwareSerial-t A hozzászólás módosítva: Dec 14, 2019
Ha nem kötöd sehová, akkor sincs semmi probléma, az csak a háttérvilágítás ki/bekapcsolására szolgál.
Én csak laikusként belekotyognék, a meglátásommal. 1, Írod a 115200 baudot, de a progiban 9600 használnál..
2, Említed, hogy csak a beérkező adatot akarod manipulálni .. ebből az fakad, hogy elég a hw serial, mert az amit fogadsz RX -en, az manipulálva kiküldheted a TX -en. Így nem kell kettő uart, se softserial.
Sziasztok!
Úgy néz ki elszállt az Arduino Dué-m. Néha összevissza kezd működni, meg a végén már a reset gombbal sem lehet újraindítani. Létezik valami megoldás a tesztelésre, esetleg a hibás memóriaterületek kihagyására? Esetleg firmware frissítés? (esetleg valakinek nem használt eladó...) A hozzászólás módosítva: Dec 15, 2019
Sziasztok! IF függvényen belül, hogyan tudok "végtelenül ismétlődést" elérni? Konkrétan gombnyomásra szeretnék LED-et villogtatni, de eddig csak azt sikerült elérnem, hogy high -> delay -> low -> ... Viszont én nem bizonyos darabszámban szeretném a villogást, hanem a következő gombnyomásig. ELőre köszönöm a segítséget!
Mert másképpen kell hozzáállni. Kell egy eljárás, ami a led villogásáért felelős. Ezt hívod meg loopponként, az if-ből ha true a gombnyomás értéked...
Abban tudnál segíteni, hogy egy ilyen "eljárás" hogyan néz ki, hogyan kell definiálni?
Ebben a könyvben részletesen írnak az alapoktól :
elektronikai alapok és Arduino programozás Regisztráció után ingyen letöltheted .
Haladtam, egy kicsit, a nodemcu-val történő email küldés terén, mostmár átment a hitelesítésen, most megintúj dologba kötött bele ami nekem megint kínai.
Idézet: „550 that smtp username's account is not allowed to send ” erre a hibára rákeresve: Bővebben: Link Ez alapján eljárva az SMTP2GO felületén valami domai nevet kellene felvennem? Idézet: „Add domain names on this page that you will send emails from. This will allow your emails to be properly authenticated, and improve delivery rates. Only add domains that you own, as you will be required to update your DNS records. We have some guides for popular webhosts here. Note: it can take up to an hour for some providers to make DNS changes live.” Ide szerintetek mit kell beírni?
Az Arduino Mega nem "veszi fel" a programot. Már az 1.8-as verzióra is frissítettem, de nem töltődik át. A COM8-as portra jelenik meg az alaplap, de többször lejön róla. Hibaüzenet a következő:
Arduino: 1.8.10 (Windows 7), Alaplap:"Arduino Mega or Mega 2560, ATmega1280" A vázlat 7272 bájt (5%)-ot használ a program tárhelyből. A maximum 126976 bájt. A globális változók 574 bájt (7%)-ot használnak a dinamikus memóriából, 7618 bájtot hagyva a helyi változóknak. A maximum 8192 bájt. Hiba történt a vázlat feltöltése közben avrdude: ser_open(): can't open device "\\.\COM8": A rendszer nem tal�lja a megadott f�jlt. Probléma az alaplapra feltöltéskor. Nézd meg a http://www.arduino.cc/en/Guide/Troubleshooting#upload -t javaslatokért. Exception in thread "Thread-64" java.util.ConcurrentModificationException at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:966) at java.util.LinkedList$ListItr.next(LinkedList.java:888) at processing.app.packages.LibraryList.getByName(LibraryList.java:61) at cc.arduino.contributions.libraries.LibrariesIndexer.addToInstalledLibraries(LibrariesIndexer.java:130) at cc.arduino.contributions.libraries.LibrariesIndexer.scanLibrary(LibrariesIndexer.java:229) at cc.arduino.contributions.libraries.LibrariesIndexer.scanInstalledLibraries(LibrariesIndexer.java:201) at cc.arduino.contributions.libraries.LibrariesIndexer.rescanLibraries(LibrariesIndexer.java:161) at cc.arduino.contributions.libraries.LibrariesIndexer.setLibrariesFolders(LibrariesIndexer.java:120) at processing.app.BaseNoGui.onBoardOrPortChange(BaseNoGui.java:677) at processing.app.Base.onBoardOrPortChange(Base.java:1333) at processing.app.Editor$UploadHandler.run(Editor.java:2111) at java.lang.Thread.run(Thread.java:748) Lehet, hogy az alaplap ment tönkre?
Felveszel egy változót, pl. logikait. Gombnyomás érzékelésekor ezt változtatod, és ettől függően villogtatsz vagy nem. Persze ezt valójában nem így kellene csinálni, de kezdő szinten megfelelő.
Minden emailnek kell, hogy legyen egy feladója, annak az email címnek a kukac utáni része a domain. Ez lehet bármilyen hülyeség is, az persze már más kérdés, hogy ezt a fogadó fél elfogadja-e. Valamint az a hülyeséget/kamut küldözgető feladók elég hamar fel kerülni mindenféle blacklist-ekre (RBL), amiket nagyon sokan használnak arra, hogy a spammer-ektől jövő szemetet kitiltsák maguktól. Ez a szolgáltató valószínűleg ügyel a reputációjára, épp ezért megköveteli, hogy a rajta keresztül küldött levelek feladója te domain-edről jöjjön, ami megfelelően van beállítva (MX, DKIM, stb.)
Hali!
Próbáld az eszközkezelőben a soros portot átállítani alacsonyabb számúra, pl com3-com4
Itt regisztrálnod sem kel. Bővebben: Link
Ha még mindig az FM szintetizátorodon dolgozol, akkor javaslom, hogy válts platformot mind hardver, mind a fejlesztőeszköz tekintetében. Egy stm32h743 -at használva szerintem nem fogsz olyan hamar sebességi és memóriaproblémákba futni. 100láb, 400MHz, 2MB flash, 1MB ram, hardver i2s, perifériák tömkelege. Mindez demópanelen aliéktól 19.57$ + 2.36$ szállításért cserébe. Sajnos arduinoban erre nem tudsz fejleszteni, de hatékonyabb kódot is tudsz majd csinálni a hozzá való cuccokkal. Persze a váltás elég macerás eleinte, de szerintem megéri.
Mostanában nem volt sok időm rá, és hétvégén gondoltam beüzemelem, de véletlenül rossz tápegységet vittem hozzá. Erre akartam váltani legutóbb: stm32407
Fel is raktam a fejlesztő környezetet, de olyan szinten bonyolultnak találtam, hogy feladtam. Még reménykedek, hogy csak néhány funkció halt be a duen...
Hát egy rendes IDE az bonyolult is, főleg ha nem használtál még ilyet. Pl. egy Eclipse után egy VS nem akkora ugrás, mintha egy Arduino fejlesztőkörnyezet felől mész neki. Időt kell szánni a megismerésére, ne add fel! Tutira van egy csomó tutorial, youtube video ami segít a megtanulásában.
Sziasztok! String összefűzésnél melyik a jobb megoldás szerintetek? Mutatok két példát:
Inkább a konfigurálás része tűnt megoldhatatlannak, hogy kapásból már nem az a száma a boardnak egy-két plusz betű ott van, meg, hogy tudjam, hogy mi van benne, és ez alapján pipálgassam össze a konfigot, de lehet szünetben megnézem megint...
Egyik módszer ha külön - külön írsz 1 1 példa progit rá.
Aztán meg nézed a fordítás utáni üzenetben a Program és adatterület foglaltsági %-ot. Amelyiknél kevesebb lett az a jobb és arra lehet "optimalizáltabb" az Arduino IDE fordítója. 2. " C-ésebb " A hozzászólás módosítva: Dec 17, 2019
Csak azért kérdeztem, mert az első megoldás nem működik. Csak akkor ha a karaktereket amit hozzáfűzök átalakítom Stringekké. Így:
Biztosan String osztályra van szükséged? Erre egy 8 hosszú char tömb pont elég lenne. (Na jó, 9 hosszú, mert a végén legyen ott a lezáró \0)
A lényeg, hogy $GPRMC adatban egy keresőfüggvény megkeresi a dátumot. String-ként adja vissza, így:"171219". Ebből kell értelmes dátumformátumot csinálni adatbázis számára, ami pedig ilyen: "20191217" Úgy ahogy csináltam, hogy karakterenként sorba rendezem működik. De milyen elegánsabb megoldás lenne még?
Persze, működik. Csak itt az történik, hogy létrehozol 6 darab 1 karakter hosszú String objektumot (konstruktor függvény), majd ezeket hozzáadod a GPS_date objektumhoz (hatszor meghívod annak a Concat függvényét).
Sketch uses 2,486 bytes (8%) of program storage space. Maximum is 30,720 bytes. Global variables use 35 bytes (1%) of dynamic memory, leaving 2,013 bytes for local variables. Maximum is 2,048 bytes. Ettől a korábban írt 2. módszered szerintem takarékosabb:
Sketch uses 2,224 bytes (7%) of program storage space. Maximum is 30,720 bytes. Global variables use 35 bytes (1%) of dynamic memory, leaving 2,013 bytes for local variables. Maximum is 2,048 bytes. De még takarékosabb lenne, ha string, vagyis karaktertömb típust használnál helyette:
Sketch uses 544 bytes (1%) of program storage space. Maximum is 30,720 bytes. Global variables use 26 bytes (1%) of dynamic memory, leaving 2,022 bytes for local variables. Maximum is 2,048 bytes. Persze ennek a különbségnek a nagyobbik része maga a String osztály, ha azt máshol is használod a kódban, akkor nem lesz ekkora a különbség. De ha lehet, akkor érdemes elkerülni a használatát, mert kényelmes persze, de erőforrásigényes is. A hozzászólás módosítva: Dec 17, 2019
Igen, Stringként egyszerűbb kezelni, a programban mindenhol úgy van kezelve. Az, hogy erőforrásigényesebb, az annyira nem számít, mert ESP32-n fut a program, ott meg van memória bőven.
Vázlat használ 733578 bájt (55%) -ot a program tárhelyből. A maximum 1310720 bájt. A globális változók 47128 bájt (14%)-ot használnak a dinamikus memóriából, 280552 bájtot hagyva a helyi változóknak. A maximum 327680 bájt.
Ha nem érdekes akkor miért kérded? Kolléga kipróbálta neked, válaszolt a kérdésedre, rád szánta az idejét.
A kollégának köszönöm is. Nem a válasz nem érdekelt, hanem csak a memóriahasználat. Azért kérdeztem, mert érdekelt, hogy milyen megoldásokkal lehetne még megoldani ezt a karaktercserélgetős dolgot.
|
Bejelentkezés
Hirdetés |