Innholdsfortegnelse:

Lag SAMD21-baserte kort USB-port i en maskinvare-seriell port !: 3 trinn
Lag SAMD21-baserte kort USB-port i en maskinvare-seriell port !: 3 trinn

Video: Lag SAMD21-baserte kort USB-port i en maskinvare-seriell port !: 3 trinn

Video: Lag SAMD21-baserte kort USB-port i en maskinvare-seriell port !: 3 trinn
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Juli
Anonim
Image
Image
Lag en seriell enhet med en USB -kontakt
Lag en seriell enhet med en USB -kontakt

Det er standard i dag å bruke en Arduino (eller annen kompatibel) USB -port som en emulert seriell port. Dette er veldig nyttig for feilsøking, sending og mottak av data fra våre elskelige tavler.

Jeg jobbet med uChip da jeg gikk gjennom databladet til MCU (SAMD21), la jeg merke til at USB gpio PORTA 24 og 25 (som er henholdsvis D-/D+) også kan brukes som SERCOM (PAD 2 og 3).

Etter å ha lagt merke til dette i databladet, tenkte jeg at det noen ganger ville være ganske nyttig å feste en maskinvare seriell enhet direkte USB -porten i stedet for å feste flygende ledninger på et brødbrett eller lodde det direkte på brettet.

Så her er det en rask opplæring som viser deg hvordan du setter kortet ditt slik at du kan bruke USB -en som en maskinvare -seriell port.

I denne spesifikke opplæringen er den tilkoblede serielle enheten en Bluetooth HC-06 seriell adapter. Du kan imidlertid tilpasse koden til en hvilken som helst annen seriell enhet, så lenge du lodder en USB -kabeladapter til den serielle enheten.

Stykklister

uChipx 1

mikro-USB til USB/A-adapter x 1 (lenke)

HC-06 BT-modul x 1

Resirkulert USB -kabel x 1

Batteri (3V3 <VBAT <5) x 1

Trinn 1: Lag en seriell enhet med USB -kontakt

Trekk av USB -kabelen og lodd ledningene til den serielle enheten som vist på skjematisk og skrevet nedenfor.

- USB -kabel svart -> GND

- USB -kabel rød -> VCC (strøm)

-USB -kabel (D-) hvit -> RX

- USB -kabel (D+) grønn -> TX

Trinn 2: Program UChip

Program UChip
Program UChip

Koble uChip til datamaskinen og last skissen “HWSerialUSB.ino” inn i brettet. Koble deretter fra uChip for å fortsette med de neste trinnene.

TIPS: Hvordan fungerer koden? Hvorfor er USB -porten min annerledes nå?

Her er beskrevet i sammendrag trikset som jeg gjør i koden.

I utgangspunktet lager jeg en ny "SerialUSB_HW" -forekomst ved hjelp av GPIO som for øyeblikket er tilordnet til å fungere som D- og D+.

I Setup () aktiverer jeg SERCOM -funksjonaliteten for USB -pinnene, ved å bruke funksjonen "pinPeripherial ()" gitt i "wiring_private.h" -hodet som er inkludert i begynnelsen av koden.

Nå kan jeg bruke “SerialUSB_HW” -forekomst på samme måte som standard Serial eller SerialUSB, motta og sende data til min HC-06 serielle enhet.

Trinn 3: Monter - Koble til - Eksperiment

Monter - Koble til - Eksperiment
Monter - Koble til - Eksperiment

Koble batteriet til uChip

-pin_8-> VBAT--

- pin_16 -> VBAT+

Sett inn OTG -adapteren og deretter den serielle enheten med den splitter nye USB -porten og … det er alt, maskinvaren er klar!

Etter sammenkobling med HC-06-modulen (standard passord er 1234), kobler du til BT-enheten ved hjelp av telefonen eller BT-grensesnittet. Du bør nå motta statusen til den innebygde LED-en.

Send røyke 'o' for å slå på LED -en, eller en annen røye for å slå den av.

Eksperimenter og prøv andre serielle enheter. Nå vet du hvordan du bruker USB -porten som en maskinvare -seriell port!

TIPS: Det er en #define i koden, som lar deg veksle mellom å bruke USB -porten som emulert serie eller som maskinvare. Eksperimenter og kontroller at den tilkoblede serielle enheten (HC-06) ikke kommuniserer med mindre vi tvinger USB til å fungere som maskinvareserie!

Anbefalt: