采用Bharat Pi板和OLED顯示器構(gòu)建一個(gè)火焰?zhèn)鞲衅?/h1>
我們的解決方案是使用Bharat Pi板和OLED顯示屏的緊湊型火焰檢測(cè)系統(tǒng)。它能快速探測(cè)到有火焰的火災(zāi)隱患
簡(jiǎn)化功能
?火焰傳感器向Bharat Pi板的GPIO引腳發(fā)送信號(hào)。
?Bharat Pi板讀取該信號(hào)并相應(yīng)地更新OLED顯示屏。
簡(jiǎn)化工作流程
火焰?zhèn)鞲衅髟O(shè)置:
?將傳感器的DO引腳連接到Bharat Pi上的GPIO引腳(例如GPIO17)。
?連接VCC和GND為傳感器供電。
?火焰?zhèn)鞲衅髟O(shè)置:將傳感器的DO引腳連接到Bharat Pi上的GPIO引腳(例如GPIO17)。連接VCC和GND為傳感器供電。
代碼的解釋:
?Bharat Pi板不斷檢查數(shù)字信號(hào)。
?如果信號(hào)為L(zhǎng)OW,則更新OLED顯示“檢測(cè)到火災(zāi)!”
?如果信號(hào)是HIGH,它會(huì)更新OLED顯示“No Fire”。
代碼說(shuō)明:巴拉特派板不斷檢查數(shù)字信號(hào)。如果信號(hào)為L(zhǎng)OW,則更新OLED顯示“檢測(cè)到火災(zāi)!”如果信號(hào)是HIGH,它會(huì)更新OLED顯示“No Fire”。
代碼
#include
#include
#include
#define flame 27
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
int flamevalue=0;
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup(){
Serial.begin(9600);
pinMode(flame,INPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.display();
delay(2000);
}
void loop(){
flamevalue=digitalRead(flame);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 10);
if (flamevalue == HIGH) {
Serial.println("The fire is present");
display.clearDisplay();
display.setTextSize(2);
display.setCursor(0,16);
display.print("fire ");
display.setTextSize(2);
display.setCursor(0,32);
display.print("Detected");
} else {
Serial.print("no fire detected");
display.print("no fire");
delay(2000);
}
display.display();
delay(1000);
}
本文編譯自hackster.io