Aus Raspberry Pi Geek 01/2016

Teil 6: Temperatur und Luftfeuchte messen mit dem AM2321 (Seite 3)

Listing 7

 

// AM2321.java
import com.pi4j.io.i2c.I2CBus;
import com.pi4j.io.i2c.I2CDevice;
import com.pi4j.io.i2c.I2CFactory;
public class AM2321 {
  private static final int i2cBus = 1;
  private static final int address = 0x5c;
  public static void main(String[] args)  {
    byte[] wb = new byte[] {(byte)0x03,(byte)0x00,(byte)0x04};
    byte[] rb = new byte[8];
    try {
      I2CBus bus=I2CFactory.getInstance(I2CBus.BUS_1);
      I2CDevice dev = bus.getDevice(address);
      // wecken
      try{dev.read();}catch(Exception e){Thread.sleep(100);};
      // messen
      dev.read(wb, 0, 3, rb, 0, 8);
      int crc = ((rb[6] & 0xff ) << 8) | rb[7] & 0xff;
      double hum = (((rb[2] & 0xff ) << 8) | rb[3] & 0xff);
      double temp = (((rb[4] & 0xff) << 8) | rb[5] & 0xff);
      hum=hum/10;
      temp=temp/10;
      System.out.println("Luftfeuchtigkeit:"+hum);
      System.out.println("Temperatur:"+temp);
    }
    catch(Exception e) {System.out.println(e.toString());}
  }
}

Listing 8

 

$ pi4j -c AM2321.java
+ javac -classpath '.:classes:*:classes:/opt/pi4j/lib/*' -d . AM2321.java
$ pi4j -r AM2321
+ sudo java -classpath '.:classes:*:classes:/opt/pi4j/lib/*' AM2321
Luftfeuchtigkeit:44.2
Temperatur:25.3

Fazit

Der Temperatur- und Luftfeuchte-Sensor AM2321 lässt sich relativ einfach anwenden, kommt aber etwas teurer als seine Verwandten aus der DHT-Baureihe. Dafür lässt er sich problemlos in den I2C-Bus integrieren. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben