Processing × スクーミー ⑧~温度によって画面の色が変化~【Python】

~温度の変化で画面の色を変化させる~

スクーミーボードの温度センサーの値が画面に表示され、29℃以上になると色が変わります!

動画

スクーミーIDEのコード

#include <SchooMyUtilities.h>
#include <OneWire.h>
#include <DallasTemperature.h>

SchooMyUtilities scmUtils = SchooMyUtilities();

#define SENSOR_BIT 9
OneWire oneWire_19(19);
DallasTemperature sensors_19(&oneWire_19);
float _sbeGetTemperature_19() {  
  sensors_19.requestTemperatures();  
  return sensors_19.getTempCByIndex(0);
}

void setup() {
  Serial.begin(9600);
  sensors_19.setResolution(SENSOR_BIT);
}

void loop() {
  int analogValue = int(_sbeGetTemperature_19());
  
  byte analog_highByte = (analogValue >> 8) & 0xFF;
  byte analog_lowByte = analogValue & 0xFF;

  Serial.write(analog_highByte);
  Serial.write(analog_lowByte);
}

ProcessingIDEのコード

add_library('serial')

myPort = None
available_serialport = 2
arduinoPort = Serial.list()[available_serialport]
sensingValue = 0
temp = 0

def setup():
    global myPort
    size(900, 900)
    myPort = Serial(this, arduinoPort, 9600)

def draw():
    background(255)
    if temp < 30:
        stroke(0, 0, 255)
        fill(0, 0, 255)
    else:
        stroke(255, 0, 0)
        fill(255, 0, 0,)
    textSize(100)
    text(str(temp) + u"℃", 370, 820)
    ellipse(450, 350, 600, 600)

def serialEvent(myPort):
    global sensingValue, temp
    if myPort.available() >= 2:
        analog_highByte = myPort.read()
        analog_lowByte = myPort.read()
        
        sensingValue = (analog_highByte << 8) | analog_lowByte
        
        if sensingValue >= 32768:
            sensingValue -= 65536
        
        temp = sensingValue
キャロット
キャロット

このページのHelloNoは、050019 です!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です