Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino met Bluetooth om een ​​LED te bedienen!

Componenten en benodigdheden

Arduino UNO
× 1
HC-05 Bluetooth-module
× 1
Weerstand 1k ohm
× 1
Mannelijke/Mannelijke doorverbindingsdraden
× 8
5 mm LED:rood
× 1

Apps en online services

Arduino IDE
MIT App Inventor

Over dit project

De Arduino Bluetooth-verbinding maken!

Ik had onlangs een kit gekocht om een ​​robot te maken, en die kwam met een HC-05. Omdat ik een lijnvolgende robot aan het maken was, had ik deze nog niet nodig. Ik was er echter nog steeds behoorlijk nieuwsgierig naar en wilde het gebruiken - ik wilde niet dat een onderdeel gewoon op mijn tafel zat. Dus besloot ik het te gebruiken om een ​​LED te besturen, met behulp van een mobiele app die is ontwikkeld met de uitvinder van de MIT-app.

Je hebt toegang tot de uitvinder van de MIT-app via deze link:

https://appinventor.mit.edu/

Het is ook heel fijn om een ​​LED aan en uit te kunnen zetten met een mobiele app.

Om dit te doen, heb je eigenlijk helemaal niet veel voorkennis nodig en is heel gemakkelijk te doen.

De MIT App Inventor is gemaakt door MIT om eenvoudige app-creatie mogelijk te maken. Je hebt bijna geen tot geen programmeerkennis nodig om dit te doen - er zijn alleen blokken die je moet verplaatsen.

De belangrijkste manier waarop dit gaat werken, is wanneer u op een knop in de app op uw telefoon klikt. Vervolgens wordt er via bluetooth-communicatie een signaal naar de arduino uno gestuurd en ontvangt de arduino het signaal. Vervolgens kunnen we de Arduino programmeren om te handelen op basis van dit signaal. We kunnen de MIT App Inventor gebruiken om te kiezen welk signaal wordt verzonden. In dit geval heb ik ervoor gekozen om de tekst '0' of '1' te verzenden. Je kunt het echter wijzigen om te verzenden wat je maar wilt.

Via bluetooth kan een bluetooth-module worden aangesloten en via seriële communicatie worden gecommuniceerd. De RX- en TX-pinnen zijn dus belangrijk. Als u deze pinnen niet wilt gebruiken, moet u de Software Serial-bibliotheek gebruiken. Deze tutorial behandelt dat niet.

Dus de belangrijkste manier om dit te doen is door ook de bluetooth-module en de uitvinder van de MIT-app te gebruiken. Je moet een app maken om de LED te bedienen via bluetooth. Ik zal het proces van het maken van de app demonstreren.

De Schema's

Ten eerste zijn de verbindingen belangrijk. Er zijn 6 pinnen op de bluetooth-module. Voor dit project hoeven we alleen de middelste 4 pinnen te gebruiken.

De afbeelding is een nauwkeurige weergave van de verbindingen. De labels staan ​​op de achterkant van de HC-05 bluetooth-module. De RX-pin moet worden aangesloten op TX op de Arduino, terwijl de TX-pin moet worden aangesloten op RX op de Arduino. De rest is zoals bij normale componenten:De GND naar GND op arduino en VCC naar 5 volt voeding.

HC-05-->Arduino

RX-->TX

TX-->RX

GND-->GND

VCC-->5v

Om op veilig te spelen, is het echter belangrijk om eerst RX aan te sluiten op een weerstand en vervolgens op TX op de Arduino. Sluit vervolgens RX aan op een andere weerstand en vervolgens op GND.

De GND van de HC-05 maakt verbinding met deze weerstand en gaat dan naar GND op de Arduino. Dus zowel de RX als de GND van HC-05 gaan naar GND van Arduino. Dit zorgt ervoor dat er geen defecten zijn aan componenten.

Omdat we echter een breakout-bord gebruiken (met een ingebouwde spanningsregelaar), zullen er helemaal geen problemen zijn, zelfs als u het beschreven schema niet volgt.

Dit wordt een spanningsdelercircuit genoemd, dat de spanning verdeelt en werkt als een weerstand. De volgende afbeelding is het schema ervan. Het wordt weergegeven met behulp van een Arduino-mega, hoewel het ook van toepassing is op de Arduino Uno.

HC-05-->Arduino

RX-->TX

RX-->GND

TX-->RX

GND-->GND

VCC-->5v

Sluit de lange LED van de LED aan op pin 5 op de Arduino terwijl u de korte poot van de LED op GND aansluit. Het is raadzaam om een ​​weerstand te gebruiken bij het aansluiten vanaf pin 5 om te voorkomen dat de LED doorbrandt. De LED heeft over het algemeen maar 1,7 volt nodig, niet 5! Sluit pin 5 aan op het breadboard en gebruik een weerstand om verbinding te maken met de lange poot van de LED. Ik heb pin 5 gekozen, hoewel je elke pin kunt kiezen, maar ook de code op de juiste manier moet wijzigen.

LED-->Arduino Uno

Positieve poot (Lange poot)-->Elke pin die je leuk vindt

Negatief been (kort been)-->GND

Opmerking:tijdens het uploaden van de code moet u ervoor zorgen dat er geen draden zijn aangesloten op de TX- en RX-pinnen van Arduino. Zodra de code is geüpload, kunt u die draden aansluiten. Arduino gebruikt TX en RX om code te uploaden, dus een andere draad daar kan interfereren en zal resulteren in een fout.

Als u andere pinnen dan TX- en RX-pinnen wilt gebruiken, moet u de Software Serial-bibliotheek gebruiken.

De app

Hier zijn de blokken die je nodig hebt voor de uitvinder van de MIT-app. Het is vrij eenvoudig. U hebt een lijstkiezer, twee knoppen en een Bluetooth-client nodig, die u eenvoudig kunt kiezen in het gedeelte 'Ontwerp'.

U kunt de componenten een naam geven zoals u wilt. Ik hield het gewoon bij eenvoudige namen zoals Button1 en Button2, zoals te zien is. U kunt uw componenten hernoemen in het deelvenster dat zich het meest rechts bevindt. U kunt componenten en ontwerpen kiezen in het meest linkse deelvenster.

De twee panelen in het midden zijn voor het ontwerp en de componentenlijst. Ik ben voor een heel eenvoudig ontwerp gegaan, zoals te zien is. Een lijstkiezer is essentieel. Dit is wat ik 'Bluetooth' heb genoemd.

We zullen zo coderen dat wanneer deze knop wordt ingedrukt, alle Bluetooth-apparaten in de buurt worden weergegeven. De Bluetooth-client is te zien in een van de middelste weergegeven vensters. Het staat niet op het scherm, omdat de gebruiker het niet kan zien, maar het is wat andere Bluetooth-apparaten zal volgen. De 'AAN' en 'UIT' die ik heb gebruikt zijn de knoppen.

Na het ontwerpen moet je overschakelen naar het gedeelte met blokken, wat je rechtsboven op de pagina kunt doen. Dan hoef je alleen maar de blokken als volgt te slepen! Op onze telefoons willen we, voordat we iets in de lijstkiezer kiezen, de lijst met alle Bluetooth-apparaten op onze telefoons.

Dus stellen we de elementen van listpicker1 in op adressen en namen die de Bluetooth-client kan vinden, voordat we er iets op kiezen. We hebben de app zojuist gevraagd om een ​​lijst met alle Bluetooth-apparaten weer te geven.

Nadat we onze keuze hebben geselecteerd, willen we er verbinding mee maken. Afhankelijk van op welke knop u klikt, wilt u vervolgens een '1' of een '0' verzenden. Het kan elk personage zijn dat je maar wilt. Vervolgens programmeren we, op basis van het ontvangen teken, de Arduino om de LED in of uit te schakelen. Ik heb Button1 gevraagd om tekst van '1' te sturen. Dit is mijn 'AAN'-knop. Dus ik zal de Arduino op de juiste manier programmeren.

Dan is de rest heel eenvoudig! Het enige wat je hoeft te doen is de MIT app uitvinder begeleidende app op je telefoon te downloaden, en dan een code van de website te scannen, en je kunt de app op je telefoon hebben.

Je hoeft alleen maar je app te openen die je op de website hebt gemaakt, op verbinden te klikken en vervolgens AI-metgezel te selecteren. Vervolgens scan je gewoon de QR-code van de MIT-app van je telefoon, en dan heb je de app op je telefoon, maar slechts tijdelijk. Je moet elke keer dat je het wilt gebruiken scannen. Het blijft een tijdje open, maar het zal de verbinding verliezen als je het sluit of het lange tijd inactief laat.

Klik vervolgens op de lijstkiezer en kies een Bluetooth-apparaat. Het wachtwoord voor HC-05 is over het algemeen 1234 of 0000. Maak verbinding met de HC-05 en klik vervolgens op de knoppen 'AAN' en 'UIT' (of hoe je ze ook hebt genoemd) en het zal werken, als je de circuit goed!

Vergeet niet de Arduino te programmeren! Dat is het belangrijkste. De code staat aan het einde van de pagina.

Als je dit eenmaal hebt geleerd, kun je hetzelfde principe gebruiken om andere geweldige projecten te maken met Bluetooth! Vergeet niet om via de app tekst van de module naar Arduino te sturen en vervolgens de Arduino te programmeren om iets te laten gebeuren! Het is net zo eenvoudig als het programmeren van een knop, maar je moet gewoon voorzichtig zijn om 'char' met tekst te gebruiken en niet 'int' tijdens het programmeren. Ik heb die fout gemaakt! Ik ben van plan om vervolgens een Bluetooth-gestuurde robot te maken, die je vanaf je telefoon kunt bedienen.

Code

  • De code voor HC-05 en Arduino Interfacing
De code voor HC-05 en Arduino InterfacingC/C++
Dit is de code die je in de Arduino IDE moet typen. De opmerkingen zijn niet nodig, maar ik heb veel opmerkingen gemaakt voor een beter begrip, vooral voor mensen die net beginnen met Arduino.
/*Code om een ​​LED via bluetooth te bedienen via een telefoon-app. Project van MukeshArvindh. Code door MukeshArvindh.*//*Als je de code gaat kopiëren en plakken, vergeet dan niet om de void setup() en void loop() functie te verwijderen uit de sketch die je gebruikt voordat je dit doet, aangezien de functies al bestaan in deze schets. Het kopiëren en plakken van de opmerkingen veroorzaakt geen wijzigingen in het resultaat of de code.*//*Opmerking:deze code is meerdere keren gecompileerd en gecontroleerd en is nauwkeurig gebleken. Het product werkt ook zoals bedoeld.*///Bluetooth maakt gebruik van seriële communicatie. We gebruiken dus veel seriële functies // in deze schets. const int LED =5;/*Verklaren dat er een LED is op pin 5 van het Arduino-bord. We gebruiken const omdat we dit niet zullen veranderen. Je hoeft het geen LED te noemen. U kunt in plaats daarvan zelfs uw naam invoeren.*/char switchstate;/*verklaar dat er een variabele is genaamd switchstate, die een tekenwaarde zal bevatten. Dit komt door het programmeren van de app, die een tekstwaarde naar Arduino zal sturen. Als we 'int' gebruiken in plaats van 'char', zal de code niet goed werken.*/void setup() {//Hier wordt de code maar één keer uitgevoerd.Serial.begin(9600);/*Om seriële communicatie met een snelheid te starten van 9600 bits per seconde. Dit is sowieso de standaardwaarde.*/pinMode(LED, OUTPUT);//Verklaren dat de LED een uitgang is.}void loop() {//Deze code wordt herhaald. Dit is onze hoofdcode.while(Serial.available()>0){ //code die alleen mag worden uitgevoerd als Serial.available()>0 /*Serial.available>0 is om te controleren of er iets is gelezen van de HC -05 Bluetooth-module.*/ switchstate =Serial.read();/*Het teken dat we eerder hadden gedeclareerd, krijgt nu een waarde toegewezen - de waarde van wat Serial.read() ook is.*///Serial.read() is om de waarde te lezen die afkomstig is van app.Serial.print(switchstate);//Hiermee wordt de waarde afgedrukt op de seriële monitor.Serial.print("\n");//Dit gaat naar de volgende regel na elke nieuwe regel gedrukt.delay (15);/*Geeft een pauze van 15 milliseconden. Vertraging is voor het menselijk oog en voor de snelheid van sommige computers, aangezien sommige bij hoge snelheden crashen.*/if(switchstate =='1'){//Controleren of de waarde van de app '1' is digitalWrite(5, HIGH); //Als dat zo is, schrijf dan de component op pin 5 (LED) hoog. }else if(switchstate =='0'){//Anders, als de waarde van de app '0' is, digitalWrite(5, LOW);//Schrijf de component op pin 5(LED) laag.}}}

Schema's

Dit is de manier waarop een circuit moet worden gevormd tussen een HC-05 en een Arduino.

Productieproces

  1. LCD-paneel met Arduino voor Flight Simulator
  2. Schakel/LED-paneel met Arduino voor FS2020
  3. Bedien muntvangers met Arduino
  4. Arduino Nano:bedien 2 stappenmotoren met joystick
  5. Arduino Quadruped
  6. Bluetooth spraakgestuurde apparaten met OK Google
  7. Bedien uw led met Cortana
  8. Een LED-matrix besturen met Arduino Uno
  9. ThimbleKrox - Muisbediening met je vingers
  10. Bedien een kakkerlak met Arduino voor minder dan $30
  11. 25 kHz 4-pins PWM-ventilatorregeling met Arduino Uno