Ik blijf robots modelleren en bouwen. Ik heb al instructies geschreven voor het maken van een afstandsbediening modellen en robots. De afstandsbediening is gebaseerd op de oude Sega-joystick. Deze joystick heeft vier pijlen en 8 knoppen, genoeg om een machine of een kleine robot te besturen. Het beheer werd uitgevoerd door middel van een IR-LED. Vandaag zal ik instructies schrijven voor de modernisering van deze afstandsbediening, namelijk de conversie ervan naar een Bluetooth-afstandsbediening. Afhankelijk van de gebruikte Bluetooth-module, maakt de afstandsbediening verbinding met een voorgeprogrammeerd apparaat of is het mogelijk om verbinding te maken met de afstandsbediening. Ik zal beide opties beschrijven. We hebben nodig:
- Joystick van Sega
- Arduino Pro Mini 3.3v 8 MHz
- USB-TTL
- 2 Ni-Mn-batterijen 1.2v 1000mA
- Bluetooth-module HC-05 of HC-06
- Rode LED
- Blauwe LED
- Weerstand 2x75Om, 2x5Om, 1x2Om
- Connector PLSx5 "moeder"
- Hete lijm
- draden
- 4xAAA batterijvak
- Meerkleurige draden
- Soldeerbout, soldeer, hars
- rechte armen
Stap 1 Een Bluetooth-module kiezen
Voor communicatie zijn twee modules vereist. We zullen er een in de afstandsbediening steken en de tweede zullen we verbinden met de typemachine of de robot. Er zijn een groot aantal Bluetooth-modules. Ze verschillen in functies en ondersteunde communicatieprotocollen. Een voorbeeldlijst met gevonden modules:
- HC-03, HC-04 (HC-04-M, HC-04-S) op de BC417143-chip;
- HC-05, HC-06 (HC-06-M, HC-06-S) op de BC417143-chip;
- HC-05-D, HC-06-D;
- HC-07 - module met een CSR 41C6 chip;
- HC-08 - module met ultralaag stroomverbruik en Bluetooth 4.0-protocol;
- HC-09 is de nieuwste module die is ontworpen om de HC-06 en HC-07 te vervangen.
Ik heb gekozen voor twee modules HC-05 en HC-06, omdat ze qua prijs / functionaliteit optimaal zijn. Ze ondersteunen het communicatieprotocol - Bluetooth-specificatie v2.0 + EDR. Het bereik is maximaal 10 meter (vermogensniveau 2). Compatibel met alle Bluetooth-adapters die SPP ondersteunen. Het volume van het flashgeheugen (voor het opslaan van firmware en instellingen) is 8 Mbit. Ze werken op een frequentie van een radiosignaal - 2,40 .. 2,48 GHz. De hostinterface is USB 1.1 / 2.0 of UART. Ze hebben een laag stroomverbruik - de stroom tijdens communicatie is 30-40 mA. De gemiddelde stroomwaarde is ongeveer 25 mA. Nadat de verbinding tot stand is gebracht, is de opgenomen stroom 8 mA. Deze modules zijn gemakkelijk te vinden, ze komen het meest voor. De modules lijken erg op elkaar, maar het belangrijkste verschil is dat de HC-05 zowel in master-modus als in slave-modus kan werken.HC-06 kan alleen een slaaf zijn. Simpel gezegd, de HC-06 kan een gekoppeld apparaat niet detecteren en er geen verbinding mee maken; het kan alleen de master gehoorzamen. De modules worden verkocht als twee aan elkaar gesoldeerde platen. De kleinere is de fabrieksmodule. Groot - een speciale breadboard voor doe-het-zelf. Het lijkt op een kleiner bord met een BC417-chip:
En dus de doe-het-zelfmodules HC-05 en HC-06 zelf:
U kunt een module kopen zonder breadboard. Het kost iets goedkoper, maar dan moet je wel een 3.3 V spanningsregelaar voor de module installeren. Ook is de afstand tussen de contacten klein en zul je jezelf moeten kwellen door te solderen aan de draadmodule.
Om communicatie tussen de afstandsbediening en de robot of machine tot stand te brengen, moet je twee Bluetooth-modules op elkaar configureren. In dit geval zullen we de HC-05-module configureren zodat deze de HC-06 vindt en er verbinding mee maakt.
Stap 2 Configureer de HC-06.
Eerst moet u de HC-06 op de computer aansluiten. Dit kan door de module aan te sluiten via een USB-UART adapter. In dit geval is de verbinding als volgt:
Bluetooth - USB-UART
TX - RX
RX - TX
VCC - +5
GND - GND
Als je geen USB-UART bij de hand hebt, kun je de volgende schets naar elk Arduino-bord schrijven:
Verbind als volgt:
Bluetooth - Arduino
TX - pin 2
RX - pin 3
VCC - +5
GND - GND
Vervolgens openen we elk terminalprogramma, selecteren we de com-poort waarop de HC-06 is aangesloten, de standaardsnelheid is 9600, NL en CR zijn niet nodig. Als er geen Bluetooth-verbinding tot stand wordt gebracht met de HC-06, bevindt de module zich in de modus voor het invoeren van AT-opdrachten. Als de module niet reageert, probeer hem dan te overbelasten door de positieve draad los te koppelen en opnieuw aan te sluiten. En voer de volgende opdrachten in:
"AT" - zonder aanhalingstekens zou het antwoord "OK" moeten komen.
"AT + ADDR" - met dit commando zullen we het unieke adres van HC-06 ontdekken, noteer dit adres
"AT + BAUD7" - stel de snelheid in op 57600
"AT + RESET" - we overbelasten de module
De volgende commando's hoeven niet te worden ingevoerd, maar voor het geval het beter is om ze te kennen:
"AT + NAME
“AT + ORGL” - resetten van de module naar fabrieksinstellingen
Hiermee is de installatie van de HC-06 voltooid.
Stap 3 Configureer HC-05.
We verbinden de module op dezelfde manier als HC-06. Open vervolgens een terminalprogramma, selecteer de com-poort waarop USB-UART of Arduino hangt, de standaard communicatiesnelheid is 9600, maar ik ontmoette ook een snelheid van 38400, als je het niet hebt gewijzigd, selecteer 9600, je kunt geen verbinding maken, verander naar 38400. Het is de moeite waard om de parameters NL en CR op te nemen. Om de AT-opdrachtinvoermodus over te dragen, moet u op de knop op de HC-05-kaart drukken en vervolgens het volgende invoeren:
"AT" - ingevoerd zonder aanhalingstekens, het antwoord "OK" zou moeten komen. Als je komt, gaan we door met het invoeren van opdrachten.
“AT + ROLE = 1” - met deze opdracht stellen we de rol van de module in met het cijfer:
0 - slave, 1 - master, 2 - slave in de cyclus *. Je zou het antwoord "+ ROLE: 1 \ r \ n" of "OK" moeten krijgen
"AT + CMODE = 0" - de module in de rol van de master is alleen verbonden met dat Bluetooth-apparaat, waarvan het adres wordt aangegeven door de opdracht "AT + BIND".
“AT + BIND: 1234,56,123456” - om een verbinding met uw HC-06 tot stand te brengen, moet u hier het adres invoeren. Na het invoeren van alle opdrachten, is de module in de rol van de master (ROLE = 1) en is de verbindingsmodus met het vaste adres ingesteld (CMODE = 0), het zal alleen verbinding maken met het Bluetooth-apparaat waarvan het adres is gespecificeerd door deze opdracht. Delen van het adres worden ingevoerd: tijdens de installatie - gescheiden door een komma en bij beantwoording - door een dubbele punt. Je krijgt het antwoord: "+ BIND: 1234: 56: 789ABC \ r \ n" of "OK"
"AT + UART = 57600,0,0" - stel de snelheid in op 57.600 bps, het stopbit wordt vertegenwoordigd door het nummer: 0 - een, de controle wordt vertegenwoordigd door het nummer: 0 - zonder verificatie
Als u niet zeker weet wat de module-instellingen zijn of niet meer correct werkt, probeer dan de volgende opdracht:
"AT + ORGL" - De module reset de volgende instellingen KLASSE = 0, IAC = 9e8b33, ROLE = 0, CMODE = 0, UART = 38400,0,0, PSWD = 1234, NAME = hc01.com.
En configureer vervolgens de benodigde instellingen opnieuw.
Op deze manier hebben we een sterke link gelegd tussen HC-05 en HC-06. Wanneer de HC-05-modules worden ingeschakeld, wordt er verbinding gemaakt met de HC-06. Uit persoonlijke ervaring kan ik zeggen dat het beter is om eerst de HC-05 aan te zetten, en dan de HC-06. Als de verbinding wordt verbroken, moet u beide modules overbelasten.
Stap 4 De afstandsbediening voorbereiden.
Deze stap wordt in detail beschreven in de vorige instructies op:
https://nlm.imdmyself.com/8626-ik-pult-iz-dzhoystika-ot-sega.html
Het is noodzakelijk om de stappen 1 t / m 4 uit te voeren. Solderen van de IR-diode is optioneel, maar zal niet storen.
Stap 5 Een Bluetooth-module verbinden.
Ik raad je aan om HC-06 in de afstandsbediening te installeren. Om de instellingen van de module te veranderen hoef je alleen de bijbehorende schets in de Arduino Pro Mini in te vullen. In het geval van de HC-05 moet u de console demonteren om op de knop te drukken om over te schakelen naar de AT-opdrachtmodus.We verbinden alles volgens het volgende schema
Joystick - Arduino
Pijl-omhoog - pin 2
Pijl-omlaag - pin 4
Pijl naar links - pin 5
Rechterpijl - pin 6
Knop A - pin 8
Knop B - pin 10
C-knop - pin 7
X-knop - pin 12
Y-knop - pin 11
Z-knop - pin 9
Startknop - pin 14 (A0)
Reset-knop - RST
Algemeen - GND
Bluetooth - Arduino
TX - pin 16 (A2)
RX - pin 17 (A3)
VCC - + 5
GND - GND
HC-05 maken we verbinding met uw typemachine of robot die u gaat besturen. Verbindingsopties en schetsen zijn te vinden in mijn andere instructies. Wanneer u een robotschets schrijft, moet u de verbindingssnelheid instellen op 57600 en de SoftwareSerial-bibliotheek in de schets gebruiken.
Stap 6 De omgeving en firmware voorbereiden.
De beste manier om een schets te schrijven en te bewerken, is door de Arduino IDE te gebruiken. De Arduino IDE-versie mag niet lager zijn dan 1.8. Download de Arduino IDE van de officiële website:
https://www.arduino.cc/en/Main/Software
Dan moet je de bibliotheek toevoegen aan de Arduino IDE. De schets maakt gebruik van één SoftwareSerial.h-bibliotheek (voor communicatie met de Bluetooth-module):
Je moet het downloaden en installeren. U kunt de bibliotheek installeren door het archief uit te pakken en de uitgepakte bestanden te verplaatsen naar de map "libraries" in de map met de Arduino IDE geïnstalleerd. Of u kunt de ingebouwde tool voor het toevoegen van bibliotheken gebruiken - zonder het gedownloade archief uit te pakken, selecteert u het Sketch - Connect Library-menu in de Arduino IDE. Selecteer bovenaan de vervolgkeuzelijst het item ".Zip-bibliotheek toevoegen". En geef de locatie van het gedownloade archief aan. Na het installeren van de bibliotheek moet je de Arduino IDE opnieuw opstarten.
Onze afstandsbediening flitst op dezelfde manier als de vorige versie van de afstandsbediening, aangesloten via USB-TTL via een connector, opladen gaat er ook doorheen. Klik bij het invullen van de schets op Reset.