Kirjeldus
Anduril on minimaalselt lisakomponente ning väga väike energiatarve
- Andurit juhib ATTINY44A mikrokontroller,
- niiskust mõõdetakse mahtuvuslikult, valgustugevuse anduriks kasutatakse märguande LED’i,
- muud põhilised lisakomponendid on 3V patarei pesa, summer ning nupp kalibreerimiseks,
- anduril on ISP ühenduse võimalus, mille kaudu saab lugeda andurite väärtusi ning programmeerida anduri mikrokontrollerit.
Andur on “täielikult häkitav”
- Mulla niiskuse ning valguse anduri signaale on võimalik lugeda I2C protokolli kaudu välise seadme, näiteks Arduino, abil;
- anduri mikrokontroller on võimalik ümber programmeerida ISP ühenduse kaudu (näiteks Bluetooth või WiFi mooduliga koostööks).
Lisainfo
Arduino kood andurite väärtuste lugemiseks I2C kaudu
#include <Wire.h>
void setup() {
Serial.begin(9600);
Serial.println("Starting up...");
Wire.begin();
Serial.println("Wire initialized");
}
void writeI2CRegister8bit(int addr, int value) {
Wire.beginTransmission(addr);
Wire.write(value);
Wire.endTransmission();
}
unsigned int readI2CRegister16bit(int addr, int reg) {
Wire.beginTransmission(addr);
Wire.write(reg);
Wire.endTransmission();
delay(1100);
Wire.requestFrom(addr, 2);
unsigned int t = Wire.read() << 8;
t = t | Wire.read();
return t;
}
void loop() {
Serial.print(readI2CRegister16bit(0x20, 0)); //read capacitance register
writeI2CRegister8bit(0x20, 3); //request light measurement
delay(9000); //this can take a while
Serial.print(",");
Serial.println(readI2CRegister16bit(0x20, 4)); //read light register
delay(500);
}