forked from SilverThings/bulldog-examples
/
LM74Example.java
51 lines (37 loc) · 1.62 KB
/
LM74Example.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package org.bulldog.examples;
import java.io.IOException;
import java.util.List;
import io.silverspoon.bulldog.core.gpio.DigitalOutput;
import io.silverspoon.bulldog.core.io.bus.spi.SpiBus;
import io.silverspoon.bulldog.core.io.bus.spi.SpiConnection;
import io.silverspoon.bulldog.core.platform.Board;
import io.silverspoon.bulldog.core.platform.Platform;
import io.silverspoon.bulldog.devices.sensors.LM74TemperatureSensor;
import io.silverspoon.bulldog.raspberrypi.RaspiNames;
/**
* Example for reading temperature from temp sensor TI LM74 (SPI).
*
* @author <a href="mailto:mat.per.vt@gmail.com">Matej Perejda</a>
*/
public class LM74Example {
private static List<SpiBus> buses;
public static void main(String[] args) throws IOException {
// Get your platform
final Board board = Platform.createBoard();
// Returns available SPI buses {SPI_0_0, SPI_0_1} from board
buses = board.getSpiBuses();
// Retrieve the SPIBus object
SpiBus bus = buses.get(0);
// Output data stream via pin P1_19 = GPIO10 (SPI_MOSI)
DigitalOutput masterOutputSlaveInput = board.getPin(RaspiNames.P1_19).as(DigitalOutput.class);
// SPI connection initialization
SpiConnection connection = bus.createSpiConnection(masterOutputSlaveInput);
// Create object representing Texas Instruments LM74 sensor
LM74TemperatureSensor tempSensor = new LM74TemperatureSensor(connection, masterOutputSlaveInput);
// Open SPI bus if it's closed
bus.open();
// Print temperature to console
System.out.println("Temperature: " + tempSensor.readTemperature());
bus.close();
}
}