~温度の変化で画面の色を変化させる~
スクーミーボードの温度センサーの値が画面に表示され、29℃以上になると色が変わります!
目次
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 19
#define SENSOR_BIT 9
int sensor[2];
int inByte;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float _sbeGetTemperature() {
sensors.requestTemperatures();
sensors.getTempCByIndex(0);
}
void setup(){
Serial.begin(9600);
sensors.setResolution(SENSOR_BIT);
pinMode(A1, INPUT);
sensor[0] = 0;
sensor[1] = 0;
inByte = 0;
establishContact();
}
void loop(){
if (Serial.available() > 0) {
inByte = Serial.read();
sensor[0] = _sbeGetTemperature();
sensor[1] = analogRead(A1);
Serial.print(sensor[0]);
Serial.print(",");
Serial.println(sensor[1]);
}
}
void establishContact() {
while (Serial.available() <= 0) {
Serial.println("通信中");
delay(300);
}
}
import processing.serial.*;
Serial myPort;
int temp;
void setup() {
background(255);
size(900, 900);
myPort = new Serial(this, Serial.list()[0], 9600);
myPort.bufferUntil('\n');
}
void draw() {
background(255);
if (temp< 29) {
stroke(0, 0, 255);
fill(0, 0, 255);
} else {
stroke(255, 0, 0);
fill(255, 0, 0);
}
textSize(100);
text(temp + "℃", 370, 820);
ellipse(450, 350, 600, 600);
}
void serialEvent(Serial myPort) {
String myString = myPort.readStringUntil('\n');
myString = trim(myString);
int sensors[] = int(split(myString, ','));
if (sensors.length > 1) {
temp= sensors[0];
}
myPort.write("A");
}
キャロット
このページのHelloNoは、050009 です!