2013年4月10日 星期三

Arduino + 可變電阻 + Process


//Arduino 程式
int sensorPin=0;
int val=0;

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

void loop()
{
val=analogRead(sensorPin)/4;
Serial.write(val); //老版本会用Serial.print(val,BYTE),现在已经不支持BYTE了。
delay(100);
}


//Process 程式
//String arduinoPort = Serial.list()[1];//如果[0]不行,就换[1]


import processing.serial.*;

Serial port; 
float val; 
float angle;
float radius;

void setup() {
size(440, 440);
frameRate(30);
strokeWeight(2);
smooth();
String arduinoPort = Serial.list()[1];//如果[0]不行,就换[1]
port = new Serial(this, arduinoPort, 9600);
background(0);
}

void draw() {
if ( port.available()> 0) { 
val = port.read(); 

radius = map(val, 0, 255, 0, height * 0.45);
}

int middleX = width/2;
int middleY = height/2;
float x = middleX + cos(angle) * height/2;
float y = middleY + sin(angle) * height/2;
stroke(0);
line(middleX, middleY, x, y);

x = middleX + cos(angle) * radius;
y = middleY + sin(angle) * radius;
stroke(255);
line(middleX, middleY, x, y);

angle += 0.01;
}





//stroke(255-val,10+val,val);

import processing.serial.*;

Serial port; 
float val; 
float angle;
float radius;

void setup() {
size(440, 440);
frameRate(30);
strokeWeight(2);
smooth();
String arduinoPort = Serial.list()[1];//如果[0]不行,就换[1]
port = new Serial(this, arduinoPort, 9600);
background(0);
}

void draw() {
if ( port.available()> 0) { 
val = port.read(); 

radius = map(val, 0, 255, 0, height * 0.45);
}

int middleX = width/2;
int middleY = height/2;
float x = middleX + cos(angle) * height/2;
float y = middleY + sin(angle) * height/2;
stroke(0);
line(middleX, middleY, x, y);

x = middleX + cos(angle) * radius;
y = middleY + sin(angle) * radius;
stroke(255-val,10+val,val);
line(middleX, middleY, x, y);

angle += 0.01;
}

沒有留言:

張貼留言

ESP32 微控制器 採集的環境數據,經由 MQTT 協定 轉換並寫入工業標準的 Modbus 暫存器 中

  一個典型的 IoT(物聯網)與工業自動化系統整合(SCADA/機台連線) 的架構圖。它透過 Node-RED 作為核心資料網關,將前端 ESP32 微控制器 採集的環境數據,經由 MQTT 協定 轉換並寫入工業標準的 Modbus 暫存器 中。 1. 各模組功能拆解...