LED kontroll med hjälp av Arduino Bluetooth och Android. (Del 1) (1 / 2 steg)
Steg 1: HC-06 och Arduino
Bluetooth är en typ av trådlös kommunikation som används för att överföra röst och data med hög hastighet med hjälp av vågor av radio. Det är allmänt används i mobiltelefoner för att ringa samtal, headset och dela data. Denna typ av kommunikation är ett billigt och enkelt sätt att styra något distans med arduino.
HC-06 modul har 4 stift skall anslutas till arduino, de är:
- RXD
- TXD
- VCC
- GND
RXD får data från arduino; TXD skickar data till arduino; VCC är nätaggregatet (3.3V 6.6V) och GND är marken.
Du måste vara uppmärksam om RXD, vissa moduler fungerar med 5V, men detta fungerar med 3.3V och arduino TX skickar en 5V signal, då den behöver en spänningsavdelare.
Spänningsavdelare med R1 = 300Ω:
Vout = R2/(R2+R1) * Vin
3.3 = R2/(R2+300) * 5
3.3 * R2 + 990 = 5 * R2
R2 = 990/1.7
R2 ~ 600Ω
Om du har en annan resistor:
R2 = (3.3 * R1) / 1.7Ω
Ställa in:
1ª ansluta modulen HC-06 (se Pict.):
Arduino---HC-06
RX---TXD
TX---RXD
+ 5V---VCC
GND---GND
2ª C kod:
Skiss för detta projekt är mycket enkelt, allt du behöver göra är att kontrollera den seriella porten om det finns data tillgängliga.
Med en android-telefon med en spp bluetooth apk, skickas kommandot till bluetooth (RX/TX). Vad som händer är bluetooth-modulen kommunicerar med android bluetooth använder en profil som heter SPP (Serial Port Profile). Den emulerar en USB-Port anslutna till arduino och android.
Definiera alla stift och variabler.
röding, kommando;
Sträng sträng;
#define ledde 8
Standard överföringshastigheten för HC-06 module är 9600. Void åtkomstkoden:
void setup()
{
Serial.BEGIN(9600);
pinMode ledde (, OUTPUT);
}
Ogiltig loop:
void loop()
{
om (Serial.available() > 0)
{sträng = "";}
While(Serial.available() > 0)
{
kommandot = ((byte)Serial.read());
om (kommandot == ':')
{
bryta;
}
annat
{
sträng += kommando;
}
Delay(1);
}
om (sträng == "LO")
{
LEDOn();
}
om (sträng == "LF")
{
LEDOff();
}
}
Det finns två funktioner i koden. Deras namn säger faktiskt allt.
void LEDOn()
{
digitalWrite (ledde, högt);
}
void LEDOff()
{
digitalWrite (ledde, låg);
}