Fórum témák
» Több friss téma |
Fórum » PIC vezérlése Bluetooth-on keresztül
Ha veszek egy BTM-112 modult akkor ezt hogyan kötöm össze egy mikro vezérlővel? mármint melyik lábával kell tud valaki esetleg ehhez egy rajzot?
Önálló keresés, adatlap és HE cikkeinek tanulmányozása (Pl.:Bővebben: Link ) nem hozott eredményt? :google:
Sziasztok!
Én is szenvedek egy bluetooth modullal (BTM-222). Végig olvastam az eddigi dolgokat de nem oldódott meg a problémám. Hiába küldök neki +++ ennek ellenére mindig visszaküldi azt amit én küldök neki és még egy választ se kaptam tőle (OK v ERROR). Gyári beállításokkal Hercules programot (képen) használok um232 típusú USB-UART átalakítóval. Valaki tudna nekem segíteni?
Helló!
btm-112-vel hasonló gondom volt, ajánlom figyelmedbe ezt a terminal progit: http://hw-server.com/software/termv19b.html A send gomb mellett van egy +CR checkbox, ha bepipálod, akkor küldeni fog lezáró karaktert is a parancs után, nekem ez megoldotta a problémám. Andor
köszi így sikerült
de ATra OK-ot küld utána minden más parancsra ERROR-t küld vissza. van valakinek ötlete hogy miért?
Sziasztok !
Az előző probléma már tárgytalan, sikerült megoldanom azóta, csak elfelejtettem beírni. Már használtam is több projectnél és minden gond nélkül működött a bluetooth modul(BTM-222). De most amikor újra elővettem hiába dugom össze próbapanelen a (POI6os (12-es)láb ugye az állapotjelző láb világit ha van kapcsolat, lassan villog ha nincs kapcsolat, és gyorsan villog ha hiba van) a LED gyorsan villog és nem tudok rákapcsolódni se BlueSoil-lal se Androidos mobillal. A párosítás sikerül de ha kapcsolódni akarok mindig sikertelen, pedig semmin nem változtattam a kapcsolásban. Ha az AT parancsoknál a G-t 1-ről 0-ra állítom akkor a villogás abbamarad (valószínűleg a hibakeresést kikapcsolom) de kapcsolódni továbbra se tudok. És google se nagyon segít. Előfordult már valakivel ilyen és mi romolhatott el 2 hónap alatt a fiókban? Mindent ötlet jól jönne mert nagyon kéne hogy működjön. Köszi tomi936 csatolom képben a modul beállításait
Sziasztok!
Én is egy Btm112-es modullal játszadozom. Készítettem hozzá egy kis panelt. Ledek villognak, ez a része OK. Egy Androidos Alcatel telóval próbálom összehozni. Felraktam egy bluetoothos terminál programot, vagyis már többet is. Látja a modult, de párosítani nem tudom. Próbáltam masterként és slaveként is. Tegnap egész nap ezzel szenvedtem. Ma kipróbáltam egy Samsung galaxyval és elsőre tökéletesen ment. Aztán még egy Samsunggal, azzal is ok. De nekem ezzel az Alcatellel kéne összekapcsolni. Előfordulhat, hogy nem mindegyik telefonnal működik?
Sziasztok!
Vettem egy BTM-222-es modult, terveztem nyákot ami tartalmazza az 5V->3V3 átalakitást, illetve a szint illesztést is. Ebben a cikkben leirtak alapján végeztem el a szintillesztést (nem IC-t vettem, hanem megépitettem a kapcsolást). Az 5V->3V3 működik. Ha a BTM-222 UART TX lábára 0V kerül, akkor a szintillesztés másik felén is 0V van különben 5V. Az RX lábra a kapcsolás leosztja az 5V-ot 2.5V-ra. Nincs USB-TTL jelátalakitom, ezért nem is foglalkoztam az AT parancsokkal, a gyári beállitást szeretném használni. A PIC18F4620-al használom a modult. A PC oldalától a kapcsolat létre jön a modullal, amint megnyitom a portot a terminál programban. A probléma: nem azokat a karaktereket kapom meg a PIC oldalán amiket küldtem PC-ről, és ez forditva is igaz: küldök valamit a PIC-ről és mást kapok a PC oldalán. Viszont amit a PC-ről küldök, azt a modul helyesen(ugyan azt) visszaküldi, ha a modul RX lába be van kötve a PIC-be, attól függetlenül hogy én nem irtam a programba hogy küldje vissza. Ha nincs bekötve akkor nem kapom vissza a PC oldalán. Nem sok tapasztalatom van az UART-al kapcsolatban, és még utána olvasok aminek tudok, de addig is ha bárkinek van valami ötlete azt szivesen fogadnám. Mellékelem a PIC kódját is hátha abban van a hiba. A kódot HITECH-C-ben irtam, 40MHz-s kristályt használtam. Elnézést a helyes irási hibakert, de nincs a billentyűzetemen hosszú i.
Szia! Rakj 100nF hidegítéseket a pic tápra és a btm modulhoz is és próbáld ismét van e változás.
19200 baud az alapértelmezett átviteli sebesség a BTM-től a PIC irányába. Ennek megfelelően konfiguráltad a mikrokontroller UART egységét?
Szia!
Raktam a PIC-hez és a modulhoz is! Itt van a kapcsolási rajzom, hátha azon rontottam el valamit. Annyi a változás a kapcsolási rajz és a beültetés között, hogy a 0.47µF-os kondi a rajzon bipoláris, beültetésnél viszont TANTAL, mert csak ezt találtam a hestore-on. A BSS138-as tranzisztor nem igy van bekötve, de nem találtam rá pontos alkatrészt az eagle könyvtárakban, ezért ugyanolyan tokozásúval helyettesitettem. Viszont úgy működik az illesztése ahogy az előző kommentben már leirtam. Gyors válaszodat köszönöm!
Szia!
Igen a PIC-et úgy konfiguráltam hogy 19200 legyen a baud rate. A regiszterek beállitott értékei alapján az alábbi képletet használtam a baud rate meghatározására: FOSC/[4 (n + 1)]. n = 520 az én esetemben. Igy a baud rate 40Mhz-s kristály mellett 19193-ra jön ki. A hibaszázalék -0.03% ami ez a cikk alapján még bele esik a keretbe. Ha ez még probléma lehet beszerzek egy olyan kristályt aminek a frekvenciája 1.8432 MHz egész számú többszöröse. Az első hozzászólásomban elfelejtettem leirni hogy sorozatosan ugyan azokat a rossz karaktereket küldi. Pl: küldök PIC-ről egy 0-t, és kapok a terminál programban egy "p" betűt, majd újra és újra. Gyors válaszodat köszönöm.
Komolyan 40 MHz-es kvarc van a PIC mellett? Csak mert úgy nem is működhet. Azt nem tudja rendesen meghajtani. 40 MHz csak EC módban használható és az nem is kvarc, hanem külső oszcillátor áramkör. Használj 10 MHz-es kvarcot 4xPLL módban, akkor ugyanúgy 40 MHz lesz az Fosc értéke.
Szia!
Rendben, köszönöm a válaszod! Amint tudok beszerzek egy kisebb frekis kvarcot, és irok hogy sikerült-e!
Szia!
Találtam itthon egy 4Mhz-s kristályt. Tökéletesen működik vele! Köszönöm szépen a segitséget! Örök hálám!
Örülök, hogy segíthettem! További jó fejlesztést!
Van egy BTM222-es modulom. Szépen dolgozik. Viszont Szeretném konfigolni a nevet ahogyan megjelenik, valamint a PIN kódot.
Alapjában ugye kapcsolódok, BT-n keresztül beküldöm a konfigot, +++-al átváltok parancs módba, beírom, de innen vissza nem tudok váltani ATO paranccsal, mert erre ERROR-t ad vissza. Néztem adatlapo(ka)t, de egy kicsit ez nekem zavaros. Nem tudom honnan töltöttem le a csatolt adatlapot, de úgy tűnik ennek felel meg a modulom. E szerint simán az ATO-t nem ismeri, csak az ATO0, ATO1 és ATO? parancsokat. Találtam egy másik adatlapot, ami ezzel szinte betűre megyegyezik: BTM222 Datasheet Különbség annyi, hogy a pinout ennél a parancslista után van, míg a csatolt pdf-ben előtte, valamint 1-2 parancs másképp van definiálva. De ha megnézzük az utolsó oldalt, akkor az is betűre megegyezik. Még a firmware revízió is. Most akkor mi van?
Sziasztok,
A BTM112-vel megoldható hogy egy másik BTM112-vel legyen bluetooth kapcsolatban? Egy RS232 kapcsolatot szeretnék vezeték nélkül megvalósítani. Számítógép nincs a rendszerben, két eszköz használja ezt a kommunikációt egymás között. Köszi,Zoli
Helló,
Igen megoldható, de a konfigurálást valahogy meg kell oldanod számítógéppel, mielőtt üzembehelyezed. Ajánlom figyelmedbe az eszköz adatlapjának AT Commands fejezetét. Üdv, Andor
A konfigurálás nem gond, igazából arra voltam kiváncsi, hogyha minden be van állítva, összepárosodnak -e bekapcsoláskor. Köszi.
Sziasztok!
Van egy HC-06os bluetooth modulom, de problémám van a kommunikációval. A bluetooth modult a PCre kötöttem egy FT232-es átalakítóval tökéletesen veszem és adom az adatokat. Ezután megírtam a PIC programját és a PICet is összekötöttem az FT232-es átalakítóval a PIC működik rendesen adott adatra reagál. Na de itt jön a probléma.... a PIC viszont nem veszi a bluetooth modul adatait valamiért. Gondoltam hátha a programmal van baj, ezért beraktam közvetlen a soros interrupt érkeztére egy LED bekapcsolását de már az sem kapcsol be.(az FT232-vel itt belelestem a pic és a bluetooth kommunikáciojába, de a PC meg látja az adatot......szintillesztések megvannak) Valakinek bármilyen ötlete?
Igen. Ha PC-ről küldöm minden rendben. Ezért nem értem........és ha a bluetouth TX lábára a PIC RX lábát és az átalakító RX lábát rákötöm a PCn látom rendesen....
Kipróbáltam most interrupt helyett while ciklusban olvasni a soros portot a PICben, de így sem jó.(meg hát ha a PCről küldve működött interruptal is...csak már nem tudom mit tudnék kezdeni vele)
Töltsd fel ide a pic -es vételi és adási rutinokat.
vétel:
void interrupt() { if(PIR1.RCIF) { LI1G = 1; //ez kapcsolná be a LEDet mikor soros interruptra ugrik if(UART1_Data_Ready()) { receive = UART1_Read(); input[count]=receive; count++; if(count>8) { count=0; recflag=1; } } PIR1.RCIF = 0; timer1=0; timer2=0; } } az input az egy 20 elemű karakteres tömb. adás az egyszerűen UART1_Write() függvénnyel. (mikroC compilert használok) Ezek a részek biztosan működnek mert PCről tökéletes és több más helyen is használtam már. Idézet: „Ezek a részek biztosan működnek mert...” .. addig, amíg nincs egy adatátviteli hiba... A hibákat (OERR, FERR) nem kezeli le. Idézet: „PIR1.RCIF = 0;” Az RCREG olvasása törli. És lépteti a vételi fifo -t is. Ezért karakterenként csak egyszer szabad olvani az RCREG -et.
Az UART1_Data_Ready() minek, ha az RCIF úgyis jelzi.
Ez igaz, na de nehogy már minden adásban vételi hiba legyen a PC rendesen megkapja..... egyébként a végén a timer1,timer2 a hibakezelés miatt van bent. Még mindig rejtély......PIC18F4550 van most mellette, 18.432MHzes kristállyal amivel hiba nélkül állítja elő a 9600baudos sebességet.
Gyorsan írtam PCre egy progit ami a soros port vett adatait visszaküldi és így megy Valamiért a PIC nem veszi a bluetooth adatait.
Ráakasztok egy szkópot hátha észreveszek valami rendellenest.
|
Bejelentkezés
Hirdetés |