Innehållsförteckning:

Arduino Smartphone Coms/Serial Monitor Via Bluetooth HC-05, HC-06: 4 steg (med bilder)
Arduino Smartphone Coms/Serial Monitor Via Bluetooth HC-05, HC-06: 4 steg (med bilder)

Video: Arduino Smartphone Coms/Serial Monitor Via Bluetooth HC-05, HC-06: 4 steg (med bilder)

Video: Arduino Smartphone Coms/Serial Monitor Via Bluetooth HC-05, HC-06: 4 steg (med bilder)
Video: Amazing arduino project 2024, Juli
Anonim
Arduino Smartphone Coms/Serial Monitor Via Bluetooth HC-05, HC-06
Arduino Smartphone Coms/Serial Monitor Via Bluetooth HC-05, HC-06

Detta är otroligt användbart om du vill testa din skiss i en verklig värld, bort från din dator. Resultatet är att din smartphone fungerar på samma sätt som Arduino seriell bildskärm på din dator. HC-05 och HC-06 Bluetooth-modulerna är tillgängliga för cirka £ 3 på ebay och det finns många gratis smartphone-appar att välja mellan. Det finns några fallgropar som du förhoppningsvis kommer att undvika genom att följa exemplen här. Den kostnadsfria smartphone -appen som används här kan också spara texten som tas emot i en fil för senare användning. Det krävs ingen ändring av dina skisser eftersom samma seriepinnar används.

Jag använde det här först när jag testade en enhet som mäter avståndet bilar ger när jag kör omkörning på min cykel. Jag kunde registrera avståndsmätningar som togs 30 gånger per sekund på min telefon där de sparades i en fil. Jag analyserade detta senare med video som jag också spelade in med en sportkamera och min spårningsapp som gav min hastighet och plats.

Du kommer behöva:

  • Din favorit Arduino (Uno används här)
  • HC-05 eller HC-06 Bluetooth-modul
  • En smartphone (Android -telefon används här) och gratis Bluetooth -app

Steg:

  • Installera gratis Bluetooth -app
  • Konfigurera Bluetooth -modul
  • Anslut Bluetooth till Arduino
  • Ladda exempel skiss
  • Testsystem

Steg 1: Installera Bluetooth -appen

Det finns många Bluetooth -appar tillgängliga och många är gratis. Jag använder Android -telefoner men jag förväntar mig att detsamma är fallet för de andra systemen. Jag bestämde mig för att använda BlueTerm 2 eftersom det också ger möjlighet att logga data som tas emot till filen. Jag tyckte också att det var väldigt enkelt att använda. Så gå till Google Play och begär nedladdning av BlueTerm 2.

När du har appen installerad kan du ansluta till Bluetooth -enheter. Observera att Bluetooth -enheten först måste kopplas ihop med telefonen innan de kan användas i alla appar:

Slå på BlueTooth: Jag går via Inställningar> Bluetooth.

Telefonen visar en lista över redan parkopplade enheter och efter några sekunder visas tillgängliga enheter. Namnet kan initialt visas som en uppsättning siffror snarare än enhetsnamnet. Men när du väljer det visas namnet och frågar efter PIN -koden som vanligtvis är 1234.

Starta nu BlueTerm 2. Klicka på inställningar, klicka sedan på Anslut enhet och välj efter behov. Du kan bara slå på en HC-05/HC-06-modul i detta skede och kontrollera parningsprocessen om du vill (koppla negativ strömförsörjning till jord och 5v till Vcc).

Bild
Bild

Steg 2: Konfigurera Bluetooth -modul - Del 1 - Anslutningar och HC -06

Om du vill använda standardnamnet och överföringshastigheten kan du hoppa över det här steget. Standardinställningarna är namn: HC-05 eller HC-06 och baud: 9600. Fördelen med att konfigurera om modulen är att snabbare överföringshastigheter kan väljas och namnet kan ställas in på något som är lättare att känna igen.

Konfiguration behöver kommandon för att skickas från en dator till modulen via en seriell anslutning. En FDTI USB -seriell länk är idealisk, särskilt om den har ett 3.3v -alternativ. Arduino -kort har dock en USB till seriell omvandlare och därför kan detta också användas och detta är metoden som visas här. För att göra detta är det bäst att inaktivera Arduino -huvudprocessorns seriella port så att vi kan kommunicera mellan PC och Bluetooth -modulen utan störningar.

Skissen för att inaktivera Arduino -serien har helt enkelt instruktionerna:

pinMode (0, INPUT):

pinMode (1, INPUT);

i avsnittet om konfiguration {}.

Jag har bifogat skissen NoSerial.ino. Skapa en mapp som heter 'NoSerial' i din skissmapp och lägg till NoSerial.ino till detta. Starta Arduino IDE, navigera till Arkiv> Skissbok> skisser> NoSerial för att öppna skissen. Välj korttyp och Port från Verktyg -menyn och klicka på nedladdningsknappen.

Anslutning för konfiguration

Med skiss laddad kan vi nu ansluta Bluetooth -modulen till Arduino -kortet. Tx- och Rx -anslutningarna byts ut jämfört med vad vi kommer att göra senare eftersom vi vill kommunicera med PC -porten för Serial Monitor och inte Arduino -huvudprocessorn. PC Tx är ansluten till Arduino Rx och vice versa.

Observera att Bluetooth -modulerna har 3.3v -nivåer för Tx och Rx. Därför bör en spänningsdelare användas för Bluetooth Rx -ingången vid anslutning till 5v -system. Bluetooth 3.3v Tx -utgången detekteras vanligtvis fint av 5v -system och kan därför anslutas direkt.

Jag har upptäckt att en spänningsdelare med 3k3 och 6k8 motstånd fungerar upp till 115200 seriella överföringshastigheter.

HC05- och HC06-modulerna har inbyggda spänningsregulatorer och körs därför med Vcc ansluten till 5v.

Så anslut:

  • 3k3 motstånd mot D0
  • 6k8 motstånd mot jord
  • Anslut de andra ändarna av de två motstånden tillsammans och till Rx -stiftet på Bluetooth -modulen
  • Anslut Bluetooth -modulens Tx -stift till D1
  • Anslut Bluetooth -modulens jordstift till GND Anslut Bluetooth -modulens jordstift till GND
  • Anslut Bluetooth -modulens Vcc -stift till 5v

Se bild för detaljer.

Bild
Bild

För att konfigurera modulen måste den ställas in i AT -läge. Proceduren är annorlunda för modulerna HC-05 och HC-06.

HC-06

Dessa är de enklaste. De ställer in sig i AT -läge om de inte är ihopkopplade med någon enhet. Baud -inställningen kommer dock att vara oavsett vilken normal drift -baud har ställts in på. Detta är normalt 9600 vid leverans. Om detta inte fungerar, försök med 38400 eller andra vanliga priser.

Anslut USB -kabeln från PC till Arduino och starta Arduino IDE. Bluetooth -lysdioden blinkar snabbt (~ 4 Hz) i AT -läge.

Öppna Arduino seriell bildskärm via Verktyg> Seriell bildskärm. Ställ in baud till 9600 och ställ in 'No line ending'.

Ange nu AT och klicka på Skicka. Om allt fungerar ser du "OK" återgå till bildskärmen. Om inget kommer tillbaka dubbelkolla kablarna och prova olika Baud -inställningar.

Med en OK som bekräftar god kommunikation kan vi ändra namnet och ange egen Baud -hastighet.

Ange AT+NAMEARDUINO och klicka på skicka. Detta ställer in modulnamnet på ARDUINO. Annan text kan användas. Observera inga mellanslag i kommandot.

Svaret ska vara OKsetname. Detta läggs till OK som skickades tidigare

Ange nu AT+BAUD8. Detta sätter baud till 115200.

Svaret ska vara OK115200. Om fler AT -kommandon ska skickas måste seriell bildskärmens baud -inställning ändras till 115200.

Andra priser kan ställas in. Baud4 är 9600, Baud5 är 19200, Baud6 38400, Baud7 57600. Det finns högre inställningar än 115200 men kontrollera först att din PC och Arduino kan acceptera dem (min får inte överstiga 128000). Obs - Om du anger en hastighet som är för hög kommer du inte att kunna kommunicera med den för att ställa in den igen !!!

Bild
Bild

Steg 3: Konfigurera Bluetooth -modul - del 2 - HC -05 och första test

HC-05

Dessa har den komplikationen att de måste ställas in manuellt i AT -läge. Handboken säger att om AT -läge utlöses efter uppstart fortsätter Baud -inställningen med den hastighet som redan är inställd för normal kommunikation. Jag kunde inte få det här att fungera! Om dock AT -läget är inställt på ström på är baud inställd på 38400. Därför är det senare alternativet det mest pålitliga eftersom vi kan vara säkra på att baud är 38400.

Öppna Arduino seriell bildskärm via Verktyg> Seriell bildskärm. Ställ baud på 38400 och ställ in 'Carriage Return'.

Nästa steg är att sätta styrelsen i AT -läge. Det är här som de flesta problem uppstår på grund av skillnader i bärarkorten.

Den grundläggande processen är att hålla "nyckel" -stiftet (stift 34) lågt några sekunder vid uppstart.

Mitt kort har en knapp för att göra detta (de två extra anslutningsstiften är EN och STATE). Koppla bort Vcc -kabeln från Bluetooth -modulen. När du håller knappen intryckt, applicera sedan 5v igen på Vcc. Lysdioden ska blinka med cirka 2 sekunders mellanrum. Jag håller knappen tills den andra blinkningen.

Vissa kort har en nyckelstift som en av de 6 stiften på modulen. Om så är fallet, koppla detta till 3,3v under uppstart.

Vissa kort har ingen och användarna har behövt lödda en knapp mellan nyckelstiftet (34) och 3,3v (stift 12). Se bifogad manual.

Med lysdioden långsamt blinkande kan vi kontrollera kommunikationen. Ange AT och klicka på Skicka. Svaret ska vara OK. Jag fann att detta svar upprepades hela tiden tills jag skickade en tom rad - klicka bara på skicka. Om du får ERROR: (0) skickar du sedan en tom rad och skickar sedan AT.

Ange nu ett nytt namn. Ange AT+NAME = ARDUINO Svaret ska vara OK. Men i mitt fall återställs modulen från AT -läge (lysdioden blinkar snabbt). Jag kunde inte hitta orsaken och detta hände också när jag använde en FDTI -seriell anslutning snarare än Arduino. Jag kom tillbaka till AT -läge som tidigare: Koppla bort strömkabeln till kortet och återanslut medan knappen trycktes in. Senare kontroller visade att namnet hade ändrats.

Ställ sedan in Baud. Ange AT+UART = 115200, 1, 0 Svaret ska vara OK. Men det hoppade ibland ur AT -läge enligt ovan.

UART -inställningen kan kontrolleras med kommandot: AT+UART? Svaret ska vara OK och +UART = 115200, 1, 0

Första testet

I detta skede har vi datorn med en seriell anslutning till Bluetooth -modulen. Så ett första valfritt test kan göras genom att starta smarttelefonens BlueTerm 2 -app (förutsatt att modulen redan har kopplats ihop med telefonen). Anslut till ARDUINO. Ställ in Arduino Serial Monitor på 115200 baud. Skriv "Hej världen" och klicka på skicka. Detta ska nu visas på BlueTerm 2. Skriv nu "Hej till dig" i BlueTerm 2. Detta ska nu visas i Serial Monitor.

Bild
Bild
Bild
Bild

Steg 4: Anslut Bluetooth -modulen till Arduino

Vi måste ladda vår Arduino testskiss först. Den bifogade BTtest.ino skickar ett nummer var 0,5: e sekund och ökar sedan det och rullar över till 0 från 255. Skapa en mapp som heter BTtest i din skissmapp och lägg till BTtest.ino

Arduino seriell anslutning används också för att ladda ner skisser. Så de två ledningarna till Bluetooth -modulen måste kopplas bort så att den inte stör.

Efter nedladdning av skissen återanslut Bluetooth -modulen. Observera dock att Tx och Rx på Arduino måste bytas jämfört med den tidigare konfigurationsinställningen.

Så anslut:

  • 3k3 motstånd mot D1
  • 6k8 motstånd mot jord
  • Anslut de andra ändarna av de två motstånden tillsammans och till Rx -stiftet på Bluetooth -modulen
  • Anslut Bluetooth -modulens Tx -stift till D0
  • Anslut Bluetooth -modulens jordstift till GND Anslut Bluetooth -modulens jordstift till GND
  • Anslut Bluetooth -modulens Vcc -stift till 5v

Se bild för detaljer.

Bild
Bild

Slå nu på Arduino. Det behöver inte vara anslutet till en dator.

Koppla kortet med smarttelefonen om den inte redan är ansluten (se Installera Bluetooth -appen ovan). Starta sedan BlueTerm 2, klicka på inställningar, klicka sedan på Anslut enhet och välj ARDUINO. Du bör se skärmen fyllas med siffror som ökar från 0 till 255.

Bild
Bild

Jag hoppas att du tycker att detta är lika användbart som jag har.

Mikrofon

Bluetooth -utmaning
Bluetooth -utmaning
Bluetooth -utmaning
Bluetooth -utmaning

Tvåa i Bluetooth -utmaningen

Rekommenderad: