Kérdés:
Arduino Pro Micro, kikapja az adatokat a Tx pin-ből?
user3320919
2014-05-09 03:08:00 UTC
view on stackexchange narkive permalink

Van egy Sparkfun Arduino Pro Micro, rajta egy ATmega32u4 és egy Roving Networks RN32 Bluetooth modul.

Elméletileg képesnek kell lennem arra, hogy forrasztani kell a Bluetooth Rx-jét a Tx-re az arduino-n és fordítva, és soros kommunikációt kellene kapnom a Bluetooth-on keresztül.

Természetesen nem. Első kérdésként azonban: Hogyan érhetem el, hogy az Arduino továbbítsa az adatokat a Tx tűn keresztül?

Ezt csuklás nélkül töltöttem fel az Arduino-ba:

  void setup () {Serial.begin (9600);} void loop () {Serial.print (" HelloWurld ");}  

Ha azonban Csatlakoztatom az o-hatókörömet, nem látok jelet a Tx vonalon. Nada. Látom, hogy az USB-n keresztül az adatok a számítógépem COM-portjába érkeznek, a Tx-tűn azonban semmi.

Hogyan érhetem el, hogy az Arduino soros adatokat adjon ki a Tx-tűre?

Van áramellátása?
És a talaj a hatókörön kapcsolódik-e az Arduino földjéhez?
Igen, benne van a + 5v, és a hatókör az arduino gnd tűjén található. Hogyan tolhatom át a soros adatokat a TX (digital0) tűn? Tudom, hogy kóddal kapcsolatos kérdés
Úgy tűnik, a kódod rendben van
Köszönöm, de akkor mindketten tévedünk. Amikor felteszem ezt a kódot az arduinóra, majd letapogatom a TX tűt (digitális 0), akkor semmit sem látok, csak lapos. A windoes gépem sorosport programján azonban látom a `helloWurld` üzenetet. Egyelőre nem érdekel a serialport program. Adatokra van szükségem, hogy kijöjjek a TX tűről, NEM az USB-ről. Ennek van értelme?
Próbálta már az 1. tűt?
Ez az RX tű, és igen, minden csapot kipróbáltam, hogy lássam a kimeneteket. A táblán lévő összes csap néma, a chip csapjai túl kicsiek a tapintáshoz, nemhogy forrasztani.
Nincs semmi, ami kijönne a TX tűből. A hatókör rendben van. Képes vagyok arra, hogy a TX tű +5-ről 0-ra lépjen, gond nélkül, mint józan ész. Körülbelül 2 ms kell az arduino hurok bekapcsolásához. Itt van a kód: `void setup () {Serial.begin (9600); pinMode (5, OUTPUT);} void loop () {Serial.print ("HelloWurld"); analogWrite (0,1); analogWrite (0,0);} "Ez csak pecsenye a TX tű pulzálásához. Digitális fejléc alatt érted a tábla oldalán lévő csapokat vagy magát az atmega chipet? Köszönöm szépen a segítséget, nagyra értékelem.
Ah, itt lehet a zavar. Ez NEM részvény UNO, ez egy SparkFun tábla, amely egyként viselkedik. Próbálok a SparkFunnal is segítséget kérni. Megjegyzéséhez: Akkor az ATMEGA chip TX vonalára gondolsz? Megpróbálom megérteni, hogyan tudnék adatokat kijönni a TX-tűből, nem látni az 5V-os lengést, majd az USB-t is továbbítani az adatokat a számítógépemre. Sajnálom, én egyszerűen nem értem. Nagyon szépen köszönöm a segítséget.
[! [ide írja be a kép leírását] (http://i.stack.imgur.com/yftHW.jpg)] (http://i.stack.imgur.com/yftHW.jpg) Csak teljes pinoutot akartam hagyni. .
öt válaszokat:
Chris Stratton
2014-05-10 01:33:33 UTC
view on stackexchange narkive permalink

Úgy tűnik, hogy rendelkezik egy „pro micro” stílusú táblával, amelyben az USB kommunikáció közvetlenül az ATmega32u4 fő processzorától származik, nem pedig soros adatként, majd továbbküldik egy különálló USB-soros átalakítóhoz, mint a hagyományos Arduinoson. Kérdését sokkal gyorsabban meg lehetett volna oldani, ha egyértelműen megadta szavakkal az alkalmazott tábla típusát, nem pedig csak termék linkként (tehát ezt szerkesztettem a kérdésébe) .

A hivatalos Arduino Pro Micro dokumentációja szerint:

Sorozat: 0 (RX) és 1 (TX). TTL soros adatok fogadására (RX) és továbbítására (TX) használják az ATmega32U4 hardver soros képességével. Vegye figyelembe, hogy a Micro esetében a soros osztály az USB (CDC) kommunikációra vonatkozik; a TTL sorozathoz a 0 és 1 csapon használja a Serial1 osztályt.

Ezért a hardver UART kimenetének előállításához a Serial összes előfordulását át kell állítania a következőre: Sorozat1

  void setup () {Serial1.begin (9600);} void loop () {Serial1.print ("HelloWurld");}  

Az adatátvitel az ATmega32u4 21. tűről származik, amely "D1" (1. digitális tű) a fejléceken. Ha meg akarja vizsgálni, akkor ez lenne a legjobb hely erre.

Ha adatokat szeretne átadni egy másik pin ből, ​​amely nincs csatlakoztatva az ATmega32u4 UART-jához (amint azt az 5. digitális tűvel rendelkező példája jelzi): ehelyett a SoftwareSerial vagy hasonló megvalósítást kell használnia, hogy a soros adatokat egy általános célú I / O tűből kibontsa.

Például ( ez a példa ihlette):

  SoftwareSerial mySerial (4, 5); // RX, TXA beállítás elkerülése () {mySerial.begin (9600);} void loop () {mySerial.print ("HelloWurld");}  
Jól kiszúrta, Chris! +1
jfpoilpret
2014-05-09 09:51:58 UTC
view on stackexchange narkive permalink

A bluetooth kártya 3,3 V ot használ, nem pedig 5 V-ot a adatlap szerint.

Tehát át kell állítania a feszültségszintet közte és az Arduino tábla között (ami 5V ). Ne feledje, hogy a specifikációs lap megmutatja, hogyan lehet ezt könnyen elvégezni 2 ellenállással ( R1 és R2 a tipikus munkalaphoz, 5. oldal).

Ezenkívül a bluetooth modulon az RS232 interfésznek 4 csapja van:

  • UART_TX
  • UART_RX
  • UART_CTS
  • UART_RTS

UART_CTS értéknek 0 -nak kell lennie, hogy az eszköz beolvassa a bejövő bájtokat. Általában ezt egy belső lehúzott ellenállás végzi, de meg kell győződnie arról, hogy nem ezt a csapot csatlakoztatta-e a +V.

Végül ellenőrizze, hogy a modul adatátviteli sebessége megfelelő állítsa 9600 baud ra, ugyanúgy, mint a programjában.

Tisztában vagyok mindezzel, köszönöm még mindig. Kérdésem azonban sokkal alaposabb. Ki kell szereznem az adatokat a TX tűről, hogy ebbe tudjam bekapcsolni a bluetooth-ot. Ha nem tudok adatokat kihozni az Arduino táblán lévő tűből, akkor a bluetooth haszontalan. Hogyan tudom kihozni a soros adatokat az arduino tábláról? Az USB-tűk rendben küldik a soros adatokat, de más tűket nem tudok elérni az adatok kimenetéhez. Forrasztanom kell az USB-csatlakozókra ahhoz, hogy adatokat kapjak a Bluetooth-on? Köszönöm szépen a segítséget, nagyon sokra értékelem
DarkXDroid
2014-11-14 01:07:42 UTC
view on stackexchange narkive permalink

Csak csatlakoztassa a soros tűket a bluetooth modulból a megfelelő Pro Micro tűkhöz: TX - RX és RX - TX. Remélem, ez valakinek segíthet.

Ezután keressen ilyen adatokat:

  void setup () {Serial1.begin (9600); // Init hardver soros port a 0 és 1 érintkezõknél - Bluetooth Serial.begin (9600); // Init virtuális soros port - gépi billentyűzet.begin (); // Init HID - billentyűzet} void loop () {if (Serial1.available () > 0) {char myData = Serial1.read () // Adatok küldése Bluetooth-ról / Sensorról a Gépre - Virtuális soros port Serial.println ( adataim); // HID eszköz emulálása - Billentyűzet, ha (myData == 0x7F) {// Az android visszalépési kulcsának észlelése Keyboard.write (0xB2); // A beérkezett kód char konvertálása PC / Linux ascii kulcskódra a Backspace kulcshoz. Ez változhat a különböző operációs rendszerek között! } else {Keyboard.write (myData); }}}  
Sackhorn
2016-01-15 08:24:49 UTC
view on stackexchange narkive permalink

Így találtam rá erre a szálra, miközben hasonló problémám volt, de a HC-05 modullal. Tehát mivel túl sok szabadidő van a kezemen a döntők során (nem, nem), úgy döntöttem, hogy létrehozok egy kis github repót, amely valamikor segíthet valakinek. https://github.com/Sackhorn/HC-05-Pro-Micro-Hookup

A kód:

  // Writen a pro mikro számára // Ezek hasznosnak bizonyultak //http://arduino.stackexchange.com/questions/1471/arduino-pro-micro-get-data-out-of-tx-pin//https://forum .sparkfun.com / viewtopic.php? f = 32&t = 38889&sid = 8178cdb38005ff33cc380a5da34fb583&start = 15void setup () {pinMode (9, OUTPUT); digitalWrite (9, HIGH); Soros kezdet (9600); Serial1.begin (38400);} void loop () {// Serial1 a fizikai soros kapcsolatok a TX és RX csapokon, ha (Serial1.available ()) Serial.write (Serial1.read ()); // A soros megértésem az, ha értem a virtuális kapcsolatot a számítógéppel USB-n keresztül, ha (Serial.available ()) Serial1.write (Serial.read ());}  

enter image description here

A Serial és a Serial1 szép használata. Feladtam egy szerkesztést a kóddal és az ábrával.
TheSnarfster
2015-10-11 06:32:29 UTC
view on stackexchange narkive permalink

Kipróbálhatja a " SoftwareSerial" könyvtárat is. Így szinte bármilyen csapot használhat a soros vesszőhöz. Ami azt illeti, rendelkezhet pár soros porttal.

Kérjük, olvassa el a SoftwareSerial könyvtárat. Van néhány korlátozása.



Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...