Bluetooth


Az egyik legnépszerűbb vezeték nélküli protokoll, szinte minden laptop tudja és sok asztali pc is, így megspórolható a plusz adatátviteli egység. Könnyen csatlakoztatható arduinohoz vagy bármilyen mikrovezérlőhöz. Bluetooth segítségével (usb vezeték nélkül) fogjuk programjainkatfeltölteni, és a szenzorok által mért adatokat a pc-re küldeni.

A kapcsolás tartalmaz egy DHT22-es hőmérséklet és páratartalom mérő szenzort és egy bluefruit EZ-link bluetooth-ot. A bluetooth-ot ugyan úgy kell bekötni mint a többi kommunikációs soros eszközt, a TX csap az Arduino RX csapjához csatlakozik, az RX csap pedig a TX csaphoz. Csatlakoztatni kell még a DTR pint(ez csak az  EZ-LINKre érvényes) egy 1qF-es kondin keresztül az Arduino reset csapjához. A GND a GND-re, a Vin az 5V-ra.

 

Ha más típusú Bluetoothunk van, akkor DTR pin általában nem található rajta.

DHT bekötése:

    1.láb – 5V

    2.láb – Arduino 4-es pin

    3.láb – üres

    4.láb – Gnd

    A 2. lábat fel kell húzni egy 5-10kohmos ellenállással az 5V-os tápfeszre.

Kapcsolás:


Könyvtár a DHT szenzorhoz kell ami letölthető: https://github.com/adafruit/DHT-sensor-library
kicsomagolás után átnevezés DHT-ra majd bemásolás az Arduino/libraries könyvtárba.


Első lépésben párosítani kell a számítógépet a bluetooth eszközzel, az op rendszer „Bluetooth beállítások” menüjében keressük az új Bluetooth-eszközt. Ha az op rendszer felismerte és csatlakoztatta a géphez, akkor az Arduno IDE-ben kell beállítani a megfelelő kapcsolatot.

Az IDE-t újra indítjuk, majd az Eszközök / Soros port menüben kiválasztjuk a Bluetoothunkat.
Ettől kezdve ezzel a kapcsolattal tudunk feltölteni illetve adatokat fogadni az Unonkról.

A kód:

#include "DHT.h"
// kreálunk egy dht szenzort a négyes lábhoz
DHT dht(4, DHT22);

void setup()
{
dht.begin();
Serial.begin(9600);
}

void loop()
{
// várakozás a parancsra
if (Serial.available()) {

// parancs beolvasása
byte c = Serial.read ();


//ha "m" (mérés) akkor beolvassa a szenzor értékeit
if (c == 'm'){

int h = (int)dht.readHumidity();
int t = (int)dht.readTemperature();


// kiíratás a soros monitirra
Serial.println(String(t) + "," + String(h));
}
}
}


A progi lényege: az „m” parancs beírása a soros monitorba a szenzor értékeinek beolvasását indítja
el a bluetooth-on keresztül. A bluetooth az usb kábeles kapcsolatot váltja ki, durván 10m-es hatótávolságban.