卒業研究の制作物の駆動システムの一部としてArduinoを用いて12VDCファンを1分間のみ駆動するプログラム(押してない時は駆動しない)と回路を構築したいです。単3乾電池8本を直列につないで12VDCファンの電源を供給しています。Arduinoを用いて制御するためトランジスタ(2SC1815Y)を用いて電流を増幅する必要があり、そのスイッチング回路の実装に苦戦しています。データシートより使用するトランジスタのhFEを200とし、使用するファンは12Vの電源をつないだときの電力が1.20Wのため、この時0.1Aの電流が流れます。そのためベースに流れる電流は0.1/200=0.00005A(0.5mA)となります。そこから各部分の抵抗値を計算する必要があるのですが、初めて回路を組むのでそこからの計算方法と実装した回路のどこが間違っているかがわかりません。構築した回路図の写真と組んだプログラムは以下のようになっております。ファンは電源を繋げば当然駆動するのですが、タクトスイッチを押しても全く制御できません。何か回路図やプログラムなどで不明な点、おかしな点、アドバイスがございました、どうぞよろしくお願い致します。
int fan = 13;
int buttonpin = 7;
void setup() {
pinMode(fan, OUTPUT);
pinMode(buttonpin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
int d_val;
d_val = digitalRead(buttonpin);
if (d_val == HIGH) {
digitalWrite(fan, HIGH);
delay(60000);
digitalWrite(fan, LOW);
}
else {
digitalWrite(fan, LOW);
}
delay(100);
}
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。