スポンサーリンク

programming

照度センサー(CDSセル)を使う。

投稿日:

照度センサー(CDSセル)を使ってみた。

照度センサー(CDSセル)を使ってみた。
前回のシリアルポートを調べてちょっと組んでみた。

Ardino側に記述した内容

int val = 0;

void setup() {  
  Serial.begin(9600);
}

void loop() {  
  val = analogRead(0);
  
  // valを0~255の範囲に正規化してP5に送る  
  Serial.write(map(val, 0, 1023, 0, 255));    
  delay(100);  
}

Processingで画像を生成するのですが、Ardinoから受けた変数をProcessingに入れる。
Ardinoからの変数 valを定義して図形の横幅に入れる。

Processing側に記述した内容

import processing.serial.*;  
Serial myPort;  
  
int val;  
   
void setup()  
{  
  size(640, 640);
  String port = Serial.list()[3];  
  myPort = new Serial(this, port, 9600);
  
  noFill();
  stroke(0, 255, 150);
  rectMode(CENTER);
  
}  
   
void draw()  
{  
  
  background(20, 0, 50);
  translate(width/2, height/2);
  for (int i = 0; i < 360; i+=50) {
    float angle = sin(radians(i/2-frameCount*5))*15;
    if (angle > 1) {
      strokeWeight(angle);
    } else {
      strokeWeight(1);
    }
    pushMatrix();
    rotate(radians(i*angle/255));
    rect(0, 0, val, i);
    popMatrix();
  }
}  

void serialEvent(Serial p){  
  // Arduinoからデータを読み取り  
  val = myPort.read();  
}

実行結果

照度センサー(CDSセル)の結果です。図形のX大きさ(横幅)は明るさ、暗さで変化するように組みました。

Originally posted 2016-01-01 22:13:37.

スポンサーリンク

-programming
-, ,

Copyright© office606 , 2023 All Rights Reserved Powered by STINGER.