■素材(LCDなし版)
Arduino UNO R3 +PC(Firmata+Processing)
BB
CdSセル(5mm)
LED
ジャンプワイヤ5本
抵抗器(330,10kΩ)
■CdSセルとは
Photoresistorの一種
硫化カドミウム(CdS)を用いたもの
光の強度が増加すると電気抵抗が低下する
・別名
光依存性抵抗(LDE Light Dependent Resistor)
光導電体(Photoconductor)
フォトセル(Photocell)
■回路
・IN
PIN(5V)–Cds– +–10kR–GND
|
+(PIN) Analog IN 0
・OUT
PIN(D PWM 9) — 330R — LED — GND
■ソース(Processing)
import processing.funnel.*;
Arduino arduino;
Pin sensorPin;
Pin ledPin;
void setup() {
size(100,100);
Configuration config = Arduino.FIRMATA;
config.setDigitalPinMode(9, Arduino.PWM);
arduino = new Arduino(this, config);
sensorPin = arduino.analogPin(0);
ledPin = arduino.digitalPin(9);
Scaler scaler = new Scaler(0, 1, 1, 0);
sensorPin.addFilter(scaler);
}
void draw() {
background(255);
}
void change (PinEvent e) {
if (e.target == sensorPin) {
ledPin.value = sensorPin.value;
}
}
■手順
1.回路を組む
2.PCとUSBで接続.Standard Firmataをアップロード
3.ProcessingでRun
4.光から隠すとLEDが強く光る、光があたるとLEDが弱く光る
■+α
チャタリングを取り除く
デジタル値に変換
一定時間経過
値のキャリブレーション(調整)