💡
ピエゾ素子でLチカ (Arduino, RaspiPico, 直繋ぎ)
つくるモノ
衝撃を検知して、LEDがチカチカ光るモノ。
▼ Arduino
完成図
配線図
Arduino UNO (互換機)で実装。
衝撃は、ピエゾ素子で検知。
LED側の抵抗は、150Ω。ピエゾ素子側の抵抗は、1MΩ。
※LED側抵抗の計算: (電源5V - LED順方向電圧2V) / LED最大電流0.02A = 抵抗150Ω
用意したもの
コード
叩いた強さに応じて、点灯時間を変化させて、叩いた時の強弱を把握。
void setup() {
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop() {
int val = analogRead(A0);
if (val > 1) {
Serial.println(val);
digitalWrite(13,HIGH);
delay(val/5);
digitalWrite(13,LOW);
}
}
▼ Raspberry Pi Pico
完成図
配線図
【参考: Raspberry Pi Pico - pin layout 】
用意したもの
Name | 購入したところ |
---|---|
Raspberry Pi Pico | https://www.switch-science.com/catalog/6900/ |
スルーホールワイヤ | https://www.switch-science.com/catalog/6799/ |
※その他は基本、Arduinoと同じ |
コード
MicroPythonで実装。Picoでコードを走らせるところまでの説明は、ここでは割愛。
from machine import Pin, ADC
from time import sleep
led = Pin(18, Pin.OUT)
adc = ADC(0)
while True:
val = adc.read_u16()
slp = val / 65535
if slp > 0.1:
led.value(1)
sleep(slp)
led.value(0)
else:
led.value(0)
▼ LED光らせるだけなら、Arduino無しでもOK
Discussion