Inhoudsopgave:

HiFive1 Arduino met HC-05 Bluetooth-module zelfstudie - Ajarnpa
HiFive1 Arduino met HC-05 Bluetooth-module zelfstudie - Ajarnpa

Video: HiFive1 Arduino met HC-05 Bluetooth-module zelfstudie - Ajarnpa

Video: HiFive1 Arduino met HC-05 Bluetooth-module zelfstudie - Ajarnpa
Video: Светодиодный контроллер Arduino Bluetooth с Bluetooth-модулем Android HC-05 | Разработчик прилож MIT 2024, Juli-
Anonim
HiFive1 Arduino met HC-05 Bluetooth-module zelfstudie
HiFive1 Arduino met HC-05 Bluetooth-module zelfstudie

De HiFive1 is het eerste Arduino-compatibele RISC-V-gebaseerde bord gebouwd met FE310 CPU van SiFive. Het bord is ongeveer 20 keer sneller dan Arduino UNO en omdat UNO geen draadloze connectiviteit heeft. Gelukkig zijn er verschillende goedkope modules op de markt om deze beperking te verminderen.

Voor WiFi-connectiviteit met ESP01 / ESP32 / ESP8266 kunt u de AT-, WEB- en MQTT-tutorials raadplegen.

In deze tutorial gebruiken we een HC-05 Bluetooth-module. Het is goedkoop, kan als slave of master werken en is gemakkelijk om mee te werken via AT-commando's. Een andere optie is de ESP32, maar die is duurder en moet apart worden geprogrammeerd.

Dit project is gericht op het creëren van een draadloze verbinding tussen HiFive1 en Windows PC of Android Phone met behulp van de HC-05 Bluetooth-module. Via de verbinding zullen we de HiFive1 ingebouwde RGB LED-kleuren aansturen.

Voor dit project heb je nodig:

  • HiFive1 bord
  • HC-05 Bluetooth-module
  • Jumperkabel x 4"
  • Android-telefoon of Windows-pc

Stap 1: De omgeving instellen

De omgeving instellen
De omgeving instellen
De omgeving instellen
De omgeving instellen
  1. Installeer de Arduino IDE
  2. Volg de instructies om het HiFive1-bord Arduino-pakket en USB-stuurprogramma te installeren.

Stap 2: Bedrading van de HC-05

Bedrading van de HC-05
Bedrading van de HC-05
Bedrading van de HC-05
Bedrading van de HC-05
Bedrading van de HC-05
Bedrading van de HC-05

DI/O 10 (HiFive1) - > Tx (HC-05)DI/O 11 (HiFive1) - > Rx (HC-05)GND (HiFive1) - > GND (HC-05) 3.3v (HiFive1) - > VCC (HC-05)

Zorg ervoor dat de IOREF-jumper is ingesteld op 3,3 V, zoals weergegeven in de afbeelding door de rode cirkel.

Stap 3: Programmeren

Stel voor het programmeren de "Tools->Board" in op HiFive1-kaart, de "Tools->CPU Clock Frequency" op "256MHz PLL", de "Tools->Programmer" op "SiFive OpenOCD" en stel de juiste seriële poort in.

Nadat we alles met elkaar hebben verbonden, kunnen we proberen met de HC-05 te praten via Arduino Serial Monitor. Hiervoor moeten we een eenvoudige schets programmeren die hieronder is bijgevoegd. Het luistert naar de AT-commando's die van de monitor komen via het HW Serial-kanaal en stuurt ze door naar de HC-05 via het SoftwareSerial32-kanaal. Het luistert naar de HC05-antwoorden van het SoftwareSerial32-kanaal en stuurt deze door naar de monitor via het HW-serieel kanaal.

Als alles correct was ingesteld in de vorige stappen, zou elk AT-commando een "OK"-antwoord van de HC-05 moeten retourneren.

Let op: Vergeet niet om de Serial Monitor in te stellen op 9600 baudrate met "Both NL & CR"

De schets is gebaseerd op de hier gevonden code

Meer over AT Commands vind je hier

Stap 4: De HC-05. configureren

In deze stap gaan we de HC-05 configureren. U hoeft deze stap maar één keer uit te voeren, omdat de configuratie dan wordt onthouden in HC-05.

  • Ga naar de AT-modus op de HC-05. Dit wordt gedaan door de VCC-kabel van de HC-05 te verwijderen en vervolgens op de knop rechtsonder te drukken terwijl u de VCC weer in het stopcontact steekt. Als dit correct wordt gedaan, moet het licht met een interval van ongeveer 2 seconden aan en uit gaan.
  • Open de seriële monitor in de IDE die overeenkomt met het bord dat is aangesloten op de HC-05. Zorg ervoor dat de seriële monitor is ingesteld op baudrate 9600 en dat "Beide NL + CR" is geselecteerd. Als het correct is gedaan, zou het "OK" moeten retourneren wanneer u "AT" verzendt.
  • Voer “AT+ORGL” in (Hiermee zet u de module terug naar de fabrieksinstellingen).
  • Voer "AT+ROLE=0" in (Dit stelt de module in op de rol "Slaaf").
  • Voer "AT+CMODE=0" in (Hiermee stelt u de module in om verbinding te maken met elk apparaat).
  • Voer "AT+NAME=_" in. Vervang onderstrepingstekens door een naam naar keuze (deze naam wordt weergegeven in Bluetooth-detectie).
  • Voer "AT+UART=38400, 0, 0" in (Dit stelt de baudrate van de module in op 38400)
  • Voer "AT+RESET" in om de AT-modus te verlaten.
  • Upload nu de laatste schets die bij deze stap is gevoegd
  • Stap 5: De afstandsbediening instellen (Windows-pc)

    De afstandsbediening instellen (Windows-pc)
    De afstandsbediening instellen (Windows-pc)
    De afstandsbediening instellen (Windows-pc)
    De afstandsbediening instellen (Windows-pc)

    Opmerking: als u een Android-telefoon gebruikt, gaat u verder met de volgende stap.

    1. Schakel Bluetooth in.
    2. Zoek onder apparaten naar de naam die u hebt opgegeven in Stap 3 - Slave instellen.
    3. De koppelingscode is 1234.
    4. In apparaatbeheer zou u een nieuwe COM-poort voor Bluetooth moeten zien. *
    5. Download en installeer PuTTY.
    6. Open PuTTY.
    7. Vink de optie "Serial" aan en vervang "COM1" door "COM_" (onderstrepingsteken moet uw nieuwe COM-poortnummer zijn).

    * Als er meer dan één COM-poort is toegevoegd, probeer dan stap 7 met de verschillende poorten totdat er één werkt.

    Stap 6: De afstandsbediening instellen (Android-telefoon)

    De afstandsbediening instellen (Android-telefoon)
    De afstandsbediening instellen (Android-telefoon)
    1. Schakel Bluetooth in.
    2. Zoek onder Bluetooth-apparaten naar de naam die u hebt opgegeven in Stap 4 - De HC-05 configureren.
    3. De koppelingscode is 1234.
    4. Open uw Arduino Bluetooth-app.
    5. Het zou u moeten vragen om het apparaat opnieuw te selecteren.
    6. Open de terminal.

    Stap 7: Eindresultaat

    Eindresultaat
    Eindresultaat
    Eindresultaat
    Eindresultaat
    Eindresultaat
    Eindresultaat

    Reset de HiFive1-kaart (voor het geval dat) en open de seriële monitor.

    Typ 'r', 'g' of 'b' in uw terminal en kies vervolgens een intensiteit tussen 0 en 255 en voeg 'n' toe aan het einde van de intensiteit die u hebt gekozen ('n' wordt gebruikt als een afsluitend teken).

    Hierdoor zal de ingebouwde RGB-LED oplichten tot de waarden volgens de door u gekozen intensiteiten.

Aanbevolen: