Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Sziasztok!
Az alábbi kóddal küzdök. Megérkezett a HC-05 modul, amit konfigoltam is, kapcsolat rendben van az OBD eszközzel. Gépről küldök soros porton egy parancsot az OBD eszköznek: "ATI" jön is a válasz: "ATIELM327 v2.1>" és mégsem lép tovább az alábbi program:
Valakinek ötlete? A hozzászólás módosítva: Okt 2, 2015
Sajnos 1 ilyen program részletből sok lényeges dolog nem derül ki!
Milyen IDE-t használsz? (Mert eddig minden arduino verziónak volt valami hibája! Ez a részlet valami lib-ben van? Vagy *.ino alatt fordítod? Ha megnézed a helpet if: Bővebben: Link Az arduino IDE nem tuja kiértékelni feltételként az AND, OR kifejezéseket! Ezért ezeket a műveleteket ajánlott az if előtt elvégezni, és az eredményt átadni a feltétel vizsgálatnak. Más! A programod végén tök felesleges az a dupla for ciklus!
Így is ugyan az lesz az eredmény!
Van egy arduino panelra ültetve, mellette egy shift regiszter rajta 8 leddel szalagkábellel a további kaszkádokhoz. Ha így önmagában működtetem tökéletes, viszont van egy második panel 2db shiftel amin van egy kijelző és további 8 led, ha ezeket is rákötöm akkor érdekes dolgokat produkál. A tesztek során tökéletes volt egy kb. 10 centis szallagkábellel, a végleges formában kb. 1 méteres szallagkábel kell ezt behelyezve teljesen hülyeségeket irt a kijelzőre és az első shift regiszter ledjei kialudtak. A szalagkábelt egy árnyékolt vezetékre cseréltem és a latch bemenetre a második panelen betettem 100nFot, így már működik de 10-20 másodpercenként újra hülyeséget ir ki aztán visszaáll. Valakinek ötlet esetleg? ( az mcu és az első shift lábai között van 470 ohm berakva talán fontos ) közben a 2. panelen azért kicserélem a shift regisztereket mert használt darabok vannak beültetve.
A 470ohm-ot csökkentsd le nyugodtan 100ohm-ra (de el is hagyhatod), az SPI sebességét vedd lassabbra. Így a jelalakok is megfelelőek lesznek.
Softwarees függvényt használok (shiftout), nem a hw spit. Kicseréltem az 595öket így jobb lett a helyzet de néha még mindig bevillan más karakter mint ami kellene. (shiftout sebességét lehet manupulálni valahogy?googlezok...)
Írtam egy saját shiftout függvényt, 10mS időt adva egy bitnek is ugyan ugy néha néha bevillan valami szegmens. egyszerűen érthetetlen, a sebesség nem lehet ebből kifolyólag probléma.(és érdekes hogy az előző tagra is visszahat a jelenség, ha csak a hozzá közeli shift van rajta akkor az a rész jó)
UNO R3. *.ino-t mutatta, nincs semmi lib.
Ha kiveszem a
A for ciklusok nem kevernek be, bekapcsolásnál egyszer lefut és kész. Jobban érdekel, hogy miért nem lép a menübe a progi. Ám köszi a válaszodat.
Csak a vérprofik tudják fejböl az elsöbbségi szabályokat!
Én ilyenkor inkább zárojelezni szoktam.
A hozzászólás módosítva: Okt 3, 2015
A menüben a lépkedéssel nincs baj.
Más programokban én is a zárójelezést alkalmazom, jobban átlátható és lehet tudni, hogy ki kivel van Nem tudom mitévő legyek.
Marad a debugolás!
Beteszed a setup elejére: Serial.begin(9600); // PCre kiíráshoz Megnyitod a : Tools > Serial monitort! Kiegészíted a programodat így:
A hozzászólás módosítva: Okt 3, 2015
Figyussz!
Te 7 karaktert akarsz összehasonlítani 15 karakterrel? Ez sosem lessz neked igaz történet:
Csak ez van a soros monitoron:
Igazad van!
Közben kipróbáltam az OBD-t a géppel összekötve és csak akkor ad az"ATI" kérésre ATIELM327 v2.1> választ, ha soremelés és kocsi-vissza van kiválasztva.
Sziasztok! Látom obd van soron, ezekkel az usb-s, bluetooth-os olvasókkal az aktuális sebesség, fordulatszám, stb.-n kívül pl. hibát is lehet olvasni, illetve pl. szervízkulcsot törölni, vagy azt csak a kézi olvasókkal?
Sziasztok.
Szintaktikailag ezt hogy értelmezzem: TCCR0A = 2<<COM0A0 | 2<<COM0B0 | 3<<WGM00; Ez ugyan az mintha a regisztert így állítanám be: TCCR0A = 0xA3; köszi
Amatőr hibát vétettem. LCD shield-et is rádugtam a panelre és ott használatban van a D10...
A többit már tudod ![]() Kipróbáltam autóban, működik, csak nem folyamatos a megjelenítés és ha nincs változás az értékben, akkor teljesen valótlant ír. Köszi a segítségeket.
Hali!
Eléggé összetett a hibaolvasás és törlés, arduinoval szerintem lehetetlen. Pc-vel összekötve lehet velük olvasni és törölni, de gyakran eldobja a kapcsolatot, legalábbis az eBay-es kék mini.
Szia.
Amit kérdezel, az inkább AVR miértek hogyanok témakörbe tartozik, oda írd, az Arduino pont ezt rejti el a felhasználók elöl. TCCR0A = 1<<COM0A0 | 1<<COM0B0 | 1<<WGM00; Ez lenne a normális, ilyenkor a 0b00000001-t (jobboldali bit be van állítva), elshifteled balra annyival, amennyire a COM0A0 definiálva van. Ezt megtalálod az adatlapban, és az avr.h-ban, ha jól sejtem. Ez egy szám lesz, 8bites AVR esetén 0-7-ig. Magyarul annyit jelent, hogy ez a három dolog lesz beállítva a TCCR0A regiszterben, az összes többi 0. Amit írtál, az is működőképes, viszont átláthatatlan, mivel nem 0b00000001-et, hanem 0b00000010-et (decimálisan 2), és 0b00000011-t (decimálisan 3) shiftelsz balra. Pl. ha a 3-at shifteled 7-tel balra, akkor a második helyiértéken levő 1-es elveszik, és olyan, mintha 1-et shifteltél volna. A 0xA3 = 0b1010 0011 , utána kellene nézni az adatlapból, hogy a COM0A0 hányas számnak felel meg, és a 0b00000010-et ennyivel balra eltoltni, ezt az összessel elvégezni, és kiderül, hogy mit állítottál be. Ha nem közlöd, milyen AVR-re fordítasz, nem tudok utána nézni, hogy mennyit érnek a COM0xx-ek. Így is írhatnád, ha tudod, mennyi a definiált érték: TCCR0A=(1<<3)|(1<<2)|(1<<7); // zárójel használatát ajánlom! Sokáig kell keresni az ilyen hibát, mivel nem szól a fordító sem! A hozzászólás módosítva: Okt 4, 2015
Köszi, és vajon az usb-s is eldobja? Vagy csak magát a bluetooth-t dobja el?
Oké köszi, írtam is a másik témába egyébként atmega324
Sok helyen így látom hogy beállítják, csak azért nem értem hogy miért így. Hisz mire az ember számolgat oszt szoroz hogy mist mit mennyivel tologasson akkor már beírhatná a regiszter pontos értékét is. Ezért nem vagyok biztos hogy a rövidebb megoldás is jó. Még csak ismerkedem a dologgal.
Pc-n még nem tapasztaltam, hogy USB kapcsolaton megszakadt volna a kapcsolat.
Viszont most ezzel az ardu-obd kombóval sem volt probléma a BT kapcsolattal.
Olvasgattam utána, és sokan a scanmaster progira esküdtek, azzal elvileg lehet törölni is, de a szervízkulcsot is ki lehet törölni vagy csak hibát?
Meglett a probléma. A vezérlő panelen volt egy elvékonyított GND vezeték ami egy kis helyen ment el, itt szkóppal nézbe 0.5Vos feszültségesések voltak amikor új adat ment ki, ez okozta a hibát. Kis vezetékdarabbal áthidalva teljesen megszűnt a gond.
Scanmastert nem próbáltam. VAG-COM progival gyógyítom az ilyesfajta dolgokat a szekereimen.
Sziasztok! Egy olyan problémám lenne, hogy due-n az audio libbel ha rádugok egy hangszórót, tökéletesen megy, viszont ha pl egy erősítőt akarok rádugni, vagy igazándiból az lenne a szándék, hogy egy sim900-as mikrofondugójába lenne bedugva, akkor nem szól. Ha pl megán tmrpcm-mel csinálom ugyan ezt, az jó. Ez mitől lehet?
BT modullal kapcsolatban lenne egy kérdésem. Sikerült-e megoldani, hogy kapcsolat megszakadásakor (két egység közt túl nagy lesz a távolság), mikor újra egymás hatósugarába kerülnek automatikusan kapcsolódjanak?
Tehát nem a program elindulásakor történő automatikus csatlakozásról van szó.
Szia Saua. Nem ismerem a BT s csatlakozást Arduino nál, de nem lehetséges hogy szoftveresen kell megoldani az ujracsatlakozást? Figyelni hogy él e a kapcsolat, ha megszakad akkor utánna visszaugorni a csatlakozás programrészhez?
Üdv!
Automatikusan kapcsolódik, úgy van konfigolva. |
Bejelentkezés
Hirdetés |









