Spisu treści:

Przekształcanie portu USB płyt SAMD21 w sprzętowy port szeregowy!: 3 kroki
Przekształcanie portu USB płyt SAMD21 w sprzętowy port szeregowy!: 3 kroki

Wideo: Przekształcanie portu USB płyt SAMD21 w sprzętowy port szeregowy!: 3 kroki

Wideo: Przekształcanie portu USB płyt SAMD21 w sprzętowy port szeregowy!: 3 kroki
Wideo: Jak zrobić kabel zasilający dysk SSD z gniazda USB dla cienkiego klienta #shorts 2024, Lipiec
Anonim
Image
Image
Utwórz urządzenie szeregowe ze złączem USB
Utwórz urządzenie szeregowe ze złączem USB

Obecnie standardem jest używanie portu USB na płycie Arduino (lub innej kompatybilnej) jako emulowanego portu szeregowego. Jest to bardzo przydatne do debugowania, wysyłania i odbierania danych z naszych sympatycznych tablic.

Pracowałem nad uChip, kiedy przeglądając arkusz danych jego MCU (SAMD21), zauważyłem, że USB gpio PORTA 24 i 25 (które są odpowiednio D-/D+) mogą być również używane jako SERCOM (PAD 2 i 3).

Po zauważeniu tego w arkuszu danych pomyślałem, że czasami przydałoby się podłączyć sprzętowe urządzenie szeregowe bezpośrednio do portu USB, zamiast podłączać latające przewody do płytki stykowej lub przylutować je bezpośrednio do płytki.

Dlatego tutaj jest szybki samouczek pokazujący, jak ustawić swoją płytę tak, aby można było używać jej USB jako sprzętowego portu szeregowego.

W tym konkretnym samouczku podłączonym urządzeniem szeregowym jest adapter szeregowy Bluetooth HC-06. Możesz jednak dostosować kod do dowolnego innego urządzenia szeregowego, o ile przylutujesz adapter kabla USB do urządzenia szeregowego.

Zestawienie materiałów

uChipx 1

przejściówka micro-USB na USB/A x 1 (link)

Moduł HC-06 BT x 1

Kabel USB z recyklingu x 1

Akumulator (3V3 < VBAT < 5) x 1

Krok 1: Utwórz urządzenie szeregowe ze złączem USB

Zdejmij kabel USB i przylutuj jego przewody do urządzenia szeregowego, jak pokazano na schemacie i opisano poniżej.

- kabel USB czarny -> GND

- kabel USB czerwony -> VCC (zasilanie)

- Kabel USB (D-) biały -> RX

- kabel USB (D+) zielony -> TX

Krok 2: Program UChip

Program UChip
Program UChip

Podłącz uChipto do komputera i załaduj szkic „HWSerialUSB.ino” na płytkę. Następnie odłącz uChip, aby przejść do następnych kroków.

WSKAZÓWKA: Jak działa kod? Dlaczego mój port USB jest teraz inny?

Tutaj jest opisana w skrócie sztuczka, którą wykonuję w kodzie.

Zasadniczo tworzę nową instancję „SerialUSB_HW” za pomocą GPIO, które są obecnie przypisane do pracy jako D- i D+.

W Setup() włączam funkcję SERCOM dla pinów USB, używając funkcji „pinPeripherial()” podanej w nagłówku „wire_private.h” zawartym na początku kodu.

Teraz mogę używać instancji „SerialUSB_HW” podobnie jak standardowego SerialUSB lub SerialUSB, odbierając i wysyłając dane do mojego urządzenia szeregowego HC-06.

Krok 3: Złóż - Połącz - Eksperyment

Złóż - Połącz - Eksperymentuj
Złóż - Połącz - Eksperymentuj

Podłącz baterię do uChip

- pin_8 -> VBAT--

- pin_16 -> VBAT+

Włóż adapter OTG, a następnie urządzenie szeregowe z nowym portem USB i… to wszystko, sprzęt jest gotowy!

Po sparowaniu z modułem HC-06 (standardowe hasło to 1234) połącz się z urządzeniem BT za pomocą telefonu lub interfejsu BT. Powinieneś teraz otrzymać status wbudowanej diody LED.

Wyślij znak „o”, aby włączyć diodę LED, lub dowolny inny znak, aby go wyłączyć.

Eksperymentuj i wypróbuj inne urządzenia szeregowe. Teraz wiesz, jak używać portu USB jako sprzętowego portu szeregowego!

WSKAZÓWKA: W kodzie znajduje się #define, który pozwala przełączać się między używaniem portu USB jako Emulowany szeregowy lub jako szeregowy sprzętowy. Poeksperymentuj i sprawdź, czy podłączone urządzenie szeregowe (HC-06) nie komunikuje się, chyba że zmusimy USB do pracy jako szeregowy sprzętowy!

Zalecana: