|
|
最近公司有一款產(chǎn)品正在開(kāi)發(fā),由於產(chǎn)品要燒機(jī)測(cè)試,測(cè)試滿載功能。
在燒機(jī)時(shí)如果有產(chǎn)品過(guò)載,必須要發(fā)出警報(bào)功能知會(huì)檢驗(yàn)人員。
原本可以在每個(gè)燒機(jī)制具上增加幾個(gè)電子元件來(lái)做,但是成本比較高
最後想到,由於每個(gè)燒機(jī)治具都有一個(gè)LED燈(電源指示燈)
那何不如採(cǎi)用光敏電阻來(lái)做一個(gè)對(duì)應(yīng)的治具哩!?!?
由於我還是個(gè)Arduino的新手...原本還在苦惱程式碼該怎麼寫(xiě)
結(jié)果進(jìn)到Cooper Maa的教學(xué)網(wǎng)誌直接就看到一篇?jiǎng)倓偤脋不多也不少的教學(xué)範(fàn)例
我直接在警示迴路並聯(lián)了一顆小蜂鳴器,在光敏電阻迴路多串了幾顆光敏電阻來(lái)對(duì)應(yīng)一次要燒機(jī)多個(gè)產(chǎn)品。
迴路如下
然後將下列機(jī)碼寫(xiě)入Arduino
int photocellPin = 2; // 光敏電阻 (photocell) 接在 anallog pin 2
int photocellVal = 0; // photocell variable
int minLight = 200; // 最小光線門檻值(這個(gè)要看光敏電阻讀取的阻值去設(shè)定)
int ledPin = 9;
int ledState = 0;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// 讀取光敏電阻並輸出到 Serial Port
photocellVal = analogRead(photocellPin);
Serial.println(photocellVal);
// 光線不足時(shí)打開(kāi) LED
if (photocellVal < minLight && ledState == 0) {
digitalWrite(ledPin, HIGH); // turn on LED
ledState = 1;
}
// 光線充足時(shí)關(guān)掉 LED
if (photocellVal > minLight && ledState == 1) {
digitalWrite(ledPin, LOW); // turn off LED
ledState = 0;
}
// 警示燈 & 蜂鳴器叫的頻率(每秒一聲)
delay(1000);
}
寫(xiě)入上述的機(jī)碼後就完成了
最後要驗(yàn)證一下光敏電阻的阻值(讀取值)
要打開(kāi)Serial Monitor去看值~(預(yù)設(shè)200,剛好可以符合我手上光敏電阻的需求)
最後就~~OK啦!
只要燒機(jī)治具沒(méi)有通電~治具上的LED沒(méi)亮,就會(huì)用LED(燈光)以及蜂鳴器(聲音)來(lái)示警。
上面這影片只是測(cè)試用滴,沒(méi)接上蜂鳴器,動(dòng)作都一樣,接上蜂鳴器後就會(huì)跟著LED燈叫
|
|