Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Ha nanót akarsz venni, akkor vegyél nanót.
Szerintem bármelyiket megveheted. A CH340-es USBSerial adapteresből van 2k és 2k5 áron is, driver a fórum tetején, az árkülönbséget a pinheader-ek beforrasztása jelenti. Ha tudsz forrasztani és van is mivel, akkor válaszd olcsóbbat. A legdrágábbon - remélhetőleg - eredeti FTDI chip van USB-serial adapterként. Az eredeti uno-kon is ilyen van (vagy legalábbis volt), mondanám hogy tisztább-szárazabb érzés, de én soha semmi problémát nem tapasztaltam a kínai USBserial chip-ekkel. Mindenesetre ettől még nem lesz eredeti arduino (genuino). Az más kérdés, hogy elég lesz erre a feladatna egy uno/nano, vagy kell egy nagyobb board. Hány kimeneted és bemeneted lesz?
Mármint melyiket a listán szereplő három közül? Majdnem mindegy, amelyik szimpatikusabb...
Az egyik FT232 USB-UART konverterrel van szerelve, a másik CH340 USB-UART konverterrel és be van forrasztva a tüskesor, a harmadik szintén CH340 konvertrrel szerelt, de feltehetőleg nincs beforrasztva a tüskesor.
Az Arduino alapprogramokat már ismerem és túl is vagyok rajtuk. Van Arduino R3 UNO alappanelom, de a internetet böngészve a robotvázakon, legtöbbször nano-t látok, gondolom a helyhiány miatt . Azért gondoltam, a nano-ra, gondolom a robotvázra nem fér rá nagyon más. Először az egyszerűbb dolgokat szeretném elsajátítani, mint pl. vonalkövetés, távolságmérés stb. Kezdésnek a 2WD robotra gondoltam. Erre a robotvázra raknám a szükséges paneleket.
A hozzászólás módosítva: Jan 11, 2018
Ha jól látom 2 motor, pár szenzor, erre szerintem simán elég.
A hozzászólás módosítva: Jan 11, 2018
STM32F103C8T6 hogyan kompatibilis az arduino rendszerben, ha az IDE-ben nem tudom beállítani?
(vagy lehet, hogy csak egyszerűen nem látom?).
Nem az Arduino cég készíti hozzá,külön kell telepíteni.
https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki
Ha mar van egy UNO alappaneled, akkor felesleges egy Nano-t venned, mert a 2WD robot alvazra siman elfer az UNO. Sokkal jobban jarsz, ha veszel egy motor shield-et, mert a robothoz az mindenkeppen kell (hacsak nem akarod magad megepiteni). Kezdetekkor egy szenzor shield is jol johet a tuskekre kivezetett pin-ekkel, tapfesszel/5V-al es GND-vel.
Nekem is ezek vannak, de nálam működik. A gyári, eredeti, UNO panelen, 2-3-as lábon az BT modullal
Ez aztán jó, akkor már megint nálam van valami gebasz úgy néz ki...
Egyre érdekesebb. Feltöltöttem a libet a web editorba, és a szoftveres seriallal megy.
Aztán letiltottam a megfelelő sort a VirtuinoBluetooth.h fájlban.:
Beletettem a virtuino.zip fájlba, és feltöltöttem a web editorba, aztán próbálnám, de ott is hibát ír. Nincs deklarálva a "Serial1" Na szóval akkor hol és hogyan is kellene deklarálni ezt a "Serial1" -et szerinted/szerintetek? Kerestem a VirtuinoBluetooth.h fájlban és a VirtuinoBluetooth.ccp fájlban is, de egyikben sincs ilyen karaktersorozat. Serial az van dögivel, de Serial1, égen földön egy darab se... A hozzászólás módosítva: Jan 12, 2018
Nem, csak UNO van beállítva.
De ha átállítom MEGA -ra, akkor már aszongyahogy a "bluetoothSerial" nincs deklarálva... (Amúgy most hogy így kérded, a Serial1 valóban csak MEGA -n létezik mert annak van három hardveres soros portja is. Jól gondolom ugye?)
Szóval csak a tisztánlátás véget egy pár gondolat...
Tehát az 1. sorban beilleszti a "VirtuinoBluetooth.h" fájlt. A 4. sorban beilleszti a "SoftwareSerial.h" fájlt A 5. sorban létrehozza a szoftveres soros kommunikációt, elnevezi "bluetoothSerial" -ra, és beállítja a 2 és 3 kimenetekre. KÉRDÉS.: A hardveres soros kommunikáció már alapból ezen a két kivezetésen van, ha a szoftveres kommunikáció is ezen van, akkor nem akadnak össze/zavarják be egymást? Mi van, ha mindkét kommunikációs csatornán küldök/fogadok adatot? Tovább.: 6 sor egészen homály nekem. Mi is van itt? Az IDE teljesen feketével írja az egész sort, semmi kiszínezés vagy kiemelés nincs benne. KÉRDÉS.: "VirtuinoBluetooth" micsoda? "virtuino" micsoda? "(bluetoothSerial)" ez elvileg az előzőleg létrehozott szoftveres kommunikációs csatorna neve. Tovább.: A 16 sorban engedélyez valami hibakeresési módot. A 17 sorban pedig elinditja a hardveres kommunikációs módot 9600bps sebességgel. Tehát létrejön az, hogy ugyanazon a két lábon (2, 3) van a szoftveres és a hardveres kommunikáció is beállítva, és használva. Erre a két pinre egyébként a HC-06 bluetooth modultkell kötni, azon keresztül beszélgetne az angdoidos applikációval. Valamint a számítógépen az USB kábelen keresztül a soros monitorral, ha jól gondolom/értelmezem. A hozzászólás módosítva: Jan 13, 2018
Még sose használtam ezt, azt se tudom mi az a virtuino (és annyira se érdekel hogy ráguglizzak).
Szóval csak logikázok abból, amit a kódból látok. Szerintem a VirtuinoBluetooth lib tartalmaz egy ugyanilyen nevű osztályt, ezt példányosítod virtuino néven, és az osztály konstruktorának gondolom meg kell (lehet?) adni egy swserial példányt. Maga a kód nekem eléggé katyvasz, mert ha jól látom ott van benne mind a hwserial, mind a swserial kód, és kozekvensen kellene ezeket mindenhol kikommentelni, vagy az egyik maradjon benne, vagy a másik. A hozzászólás módosítva: Jan 13, 2018
Én UNO-t használtam, ott a hardveres USART a 0-1 es lábon megy, ott programoz, a BT-szal a szoftveres USARTon beszélget a 2-3-as lábon.
Sajna ez így autodidaktaként (nem tanult programozóként) nekem már magas.
A virtuino egy komplett vezérlő és kijelző alkalmazás okostelefonra, amivel az arduino boardot tudod vezérelni és a begyüjtött értékeit a telón megjeleníteni. Hidd el, érdemes megnézni egy videót róla a videómegosztón, hátha rákapsz az ízére...
Tegnap este rájöttem már én is, hogy hülyeséget csináltam. És arra is, hogy a hws valóban az 1, 2 lábon megy. A ss meg a 3, 4 lábon, és el is indult végre. Tehát az ütközés kizárt.
Szóval működik már nálam is. Most már világos, hogy a hws -en a debugoláshoz küldi az adatokat az USB -n keresztül a PC -nek a soros monitorra. A ss -on meg a bluetooth -on keresztül a telefonon lévő appal kommunikál. Nade, ha nekem nem kell a hws -on keresztüli debugolás, azt elvileg le lehet tiltani. Én azt akarom, hogy a bluetoot -on keresztül az aplikációval komunikálás menjen a hws -on keresztül, és a ss pedig letiltani erőforrás spórolás céljából, ez vajon működhetne így szerinted? (Ezt már csak holnap tudom kipróbálni.)
A megjegyzésben közlik, hogy ha akarod, használhatod a hardveres UART-ot a BT kommunikációra. Ezt még én sem próbáltam ki, de mihelyt lesz ilyen projektem, ki fogom
Sziasztok!
Az Ardino Mega (2560) mind a 16 analóg bemenete használható digitális bemenetként, bekapcsolható felhúzóellenállásokkal?
Igen.
Bővebben: Nézd meg az ATmega2560 adatlapot. 2. Oldal, az ADC0-ADC15 analóg bemenetek két 8 bites porton vannak: F és K. 8. Oldal, "Port F serves as analog inputs to the A/D Converter. Port F also serves as an 8-bit bi-directional I/O port, if the A/D Converter is not used. Port pins can provide internal pull-up resistors". 9. Oldal, "Port K serves as analog inputs to the A/D Converter. Port K is a 8-bit bi-directional I/O port with internal pull-up resistors".
Szívesen. Az adatlap szinte mindig segít. Bár tény, hogy idő megtanulni adatlapot olvasni.
Az hívást és SMS-t feldolgozó mérlegemmel a következő problémába ütköztem.
Az sim modulról érkező adatok olvasása limitálva van 200 karakterben. Ez az eredeti példa:
Ezt illesztettem be a kódomba (a delay (1) kihagytam, mert úgy gondoltam feleslegesen akassza meg a programot). Most azt a hibajelenséget produkálja, ha nagyon hosszú szöveg jön a sim modultól beleírt az állandó memória terültbe, a szerkezet lefagy csak újra programozással lehet feléleszteni. Hogyan tudom ezt kivédeni?
Az RxString indexelve nem címezhető? A concat szerintem eléggé durva egy karakter hozzáadásához.
Nem tudom, hogyan lehetne indexelve betöltni.
Mit jelent, hogy "durva"? A hozzászólás módosítva: Jan 15, 2018
Én meg ehhez a nyelvhez nem értek.
RxString[Counter] = RxChar A többi maradhat. A concat szerintem átmásolja a régi tartalom összes karakterét, és utána az újat. Ez, főleg a vége felé, elég hosszú művelet lehet egy értékadáshoz képest. A hozzászólás módosítva: Jan 15, 2018
Igen, valahogy úgy. És az RxString ne String legyen, hanem char[200]
Érdekes dolgot produkál az én Mega2560+RAMPS 1.4 panelom. Grafikus kijelző van rajta amin valamiért alig látszik valami hiába állítom a kontrasztot, de amikor megnyomom a RAMPS reset gombját és amíg nyomva tartom addig jó a kijelzés. Aztán elengedem újraindul a mega és utána megint nem jó. Látott már valaki ilyet? Lehet ezzel valamit kezdeni?
Köszönöm a választ, működik szépen.
Újabb kérdésem lenne. Ha a kiolvasott SMS ékezetes betűt tartalmaz, nem nagyon szereti a programom. Karakterenként olvasom be az üzenetet, hogyan tudom megoldani egyszerűen, hogy az ASCII-ben nem szereplő karaktereket pl. space-re cserélje? És úgy dolgozzon vele tovább.
Oda kell figyelni, egy élvezetes betű két karakternyi helyet jelent az SMS-ben.
|
Bejelentkezés
Hirdetés |