在上篇文章中我們介紹了包含超音波、光強度、溫室度等三種擴充感測元件,但咱們的飛龍在天可不只有這三種元件可以擴充,另外還有聲音感測、伺服馬達還有背後的紅外線及雷射,就讓小編繼續來為各位飛客一一介紹!
<聲音感測>
聲音感測器就類似一個電子式的耳朵,使用高靈敏度的電容式麥克風收音,產生不同的電壓訊號,一般用來檢測周遭的聲音強度。
而輸出有兩種,第一種是可以隨著麥克風的電壓訊號實時輸出類比數字大小的類比輸出,另一種是當電壓高於某個閥值時切換高低電位的數位訊號輸出,當偵測到有音源輸出低電位開啟led燈提示,沒有感測到音源則輸出高電位關閉電源。
Arduino程式碼:
#define led A0
#define voice A1
int v=0;
void setup(){
Serial.begin(115200);
pinMode(led,OUTPUT);
pinMode(voice,INPUT);
}
void loop(){
digitalWrite(led,);
v=analogRead(voice);
Serial.println(v);
if(v>=250){
digitalWrite(led,LOW);
delay(2000);
}
}
<Servo>
Servo中文叫做伺服馬達,做為一個常常使用於模型飛機的馬達所以也常被稱作RC伺服機(RC servo),伺服馬達裡是由直流馬達、齒輪箱、轉軸以及控制電路組成的模組,我們可以通過arduino輸入PWM訊號到Servo中來操控轉軸的角度。
我們可以看到伺服馬達拉出棕紅橘三條杜邦線分別是代表接地(-)、電源(+)以及橘色的訊號線,在飛龍在天底部預留出伺服馬達的位置上,按照順序連接到GND、1S、A2(左翼)orA3(右翼)腳位上即可使用。
Arduino程式碼:
#include
<Servo.h>
Servo
myservo;
int pos = 0;
void setup()
{
myservo.attach(A2);
}
void loop()
{
for(pos = 0; pos <= 180; pos += 1)
{
myservo.write(pos);
delay(15);
}
for(pos = 180; pos>=0; pos-=1)
{
myservo.write(pos);
delay(15);
}
}
<紅外線感測>
紅外線模組具有一對紅外線發射與接收管,發射管發射出一定頻率的紅外線,當檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收管接收,經過比較器電路處理之後,綠色指示燈會亮起,同時信號輸出接口輸出數字信號(一個低電平信號)。紅外線模組對於環境光線適應能力很強,不需要擔心會因為環境光的強弱受到干涉,並且可使用螺絲起子旋轉藍色電位器旋節檢測距離,有效距離範圍2〜30cm順時針旋轉感色距離加長反之則會縮短,實際測量距離與紅外線接觸到物體的大小、形狀有關係,測量黑色和較小物體時感測距離會比較近,而白色以及較大的物體可以感測的距離則會加長。
Arduino程式碼:
const int buttonPin = A2;
const int ledPin = 2;
int buttonState =0;
void setup() {
pinMode(ledPin,
OUTPUT);
pinMode(buttonPin, INPUT);
digitalWrite(ledPin, HIGH);
Serial.begin(115200);
}
void loop() {
buttonState = digitalRead(buttonPin);
Serial.print(buttonState);
if
(buttonState == HIGH) {
digitalWrite(ledPin,HIGH);
Serial.print("0");
}
else {
digitalWrite(ledPin, LOW);
Serial.print("1");
}
Serial.print("\n");
delay(100);
}
<雷射發射器>
最後我們要來介紹的就是無人機感測擴充包裡的最後一件,紅光雷射激光模組,在學校教學或是簡報的時候常常會需要用到雷射筆來標示PPT或是簡報內容的人,對於雷射一定不會很陌生,沒錯!只要把這個紅外線模組擴充到飛龍在天上面,就可以讓它也擁有發射機光的能力囉~
Arduino程式碼:
void setup()
{
pinMode(A2,OUTPUT);
}
void loop()
{
digitalWrite(A2,HIGH);
delay(1000);
digitalWrite(A2,LOW);
delay(1000);
}
沒有留言:
張貼留言