int ledPin12 = 12; //設定D12為LED的連接腳位 void setup() //只會執行一次 {pinMode(12, OUTPUT); //設定D12模式為輸出 Serial.begin(9600); //設定鮑率為9600 } void loop() //在LOOP裡面的程式會一直重複執行 { int a; //超音波變數 a= Ping(8); //超音波變數(a)=副程式Ping(第八腳位)所計算的值 Serial.println(a); //可以顯示在電腦上,使用放大鏡可以查看,在使用前必須設定鮑率 if(a<100) //如果超音波小於10公分 { analogWrite(12, 255);} //D12輸出高電位 else //其他 { analogWrite(12, 0);} //D12輸出低電位 } //------------------------超音波 副程式------------------------------------------ long Ping(long pingPin) { long duration, cm; //  宣告  超音波接收數值,轉換CM pinMode(pingPin, OUTPUT); digitalWrite(pingPin, LOW); delayMicroseconds(2); digitalWrite(pingPin, HIGH); delayMicroseconds(10); digitalWrite(pingPin, LOW); pinMode(pingPin, INPUT); duration = pulseIn(pingPin, HIGH); return cm = duration / 2.9 / 2; } //------------------ 結束 超音波 副程式--------------------------------------