Hur man styr arduino ombord med en android-telefon och en bluetooth-modul (5 / 6 steg)
Steg 5: Fjärrsensor - arduino kod
Arduino kodenMärk väl att du behöver ett OneWire bibliotek - du kan hitta en länk till den här:
http://Playground.Arduino.cc/Learning/OneWire
Arduino koden >>>>>>>
#include < OneWire.h >
int DS18S20_Pin = 2; DS18S20 Signal stift på digital 2
Temperaturen chip i/o
OneWire ds(DS18S20_Pin); på digital stift 2
void setup()
{
initiera den seriell kommunikationen:
Serial.BEGIN(19200);
initiera ledPin som en utgång:
}
void loop() {
flyta temperatur = getTemp();
Serial.println(temperature); fördröjning (500).
}
float getTemp() {
Returnerar temperaturen från en DS18S20 i grader Celsius
byte data [12].
byte addr [8].
om (! ds.search(addr)) {
Inga fler sensorer på kedja, Återställ sökning
DS.reset_search();
återvända -100;
}
om (OneWire::crc8 (addr, 7)! = addr[7]) {
Serial.println ("CRC är inte giltig!");
återvända-1000;
}
om (addr [0]! = 0x10 & & addr [0]! = 0x28) {
Serial.Print ("enhet identifieras inte");
återvända-1000;
}
DS.Reset();
DS.Select(addr);
DS.write(0x44,1); Starta konvertering, med parasit driver på i slutet
byte närvarande = ds.reset();
DS.Select(addr);
DS.write(0xBE); Läs Scratchpad
för (int jag = 0; jag < 9; i ++) {
data [i] = ds.read();
}
DS.reset_search();
byte MSB = data [1].
byte LSB = data [0];
flyta tempRead = ((MSB << 8) | LSB);
flyta TemperatureSum = tempRead / 16;
återvända TemperatureSum;}