課前學(xué)習(xí)
單詞 | 含義 |
---|---|
buzzer | 蜂鳴器 |
distance | 距離 |
一.進(jìn)制
1.什么是進(jìn)制待侵?
進(jìn)制也就是進(jìn)位計(jì)數(shù)制,是人為定義的帶進(jìn)位的計(jì)數(shù)方法(有不帶進(jìn)位的計(jì)數(shù)方法理郑,比如原始的結(jié)繩計(jì)數(shù)法肴甸,唱票時常用的“正”字計(jì)數(shù)法寂殉,以及類似的tally mark計(jì)數(shù))。
2.生活中的進(jìn)制
關(guān)于進(jìn)制原在,我們平時接觸的最多的就是十進(jìn)制友扰,用于計(jì)數(shù)。除了常用十進(jìn)制庶柿,比較常用的還有跟時間相關(guān)的進(jìn)制村怪,比如七進(jìn)制(一周七天)、十二進(jìn)制(一年12個月)浮庐、二十四進(jìn)制(一天24小時)甚负、三十進(jìn)制(一月30天)、六十進(jìn)制(一小時60分鐘)等审残。
3.二進(jìn)制的由來
發(fā)明二進(jìn)制的德國數(shù)學(xué)家哲學(xué)家萊布尼茨(1646-1716)是計(jì)算機(jī)科學(xué)的奠基人梭域, 萊布尼茨有個神父朋友叫白晉,早年就來到中國傳播主的福音维苔,癡迷于中國文化尤其是《易經(jīng)》的博大精深碰辅,萊布尼茨在1703年收到白晉寄自中國的邵雍版《伏羲六十四卦方位圖》懂昂,并在同年發(fā)表了《論單純使用0和1的二進(jìn)制算術(shù)兼論其用途及它賦予伏羲所使用的古老圖形的意義》一文介时。
4.二進(jìn)制與十進(jìn)制的相互轉(zhuǎn)換
-
十進(jìn)制轉(zhuǎn)二進(jìn)制方法:除2取余法
-
二進(jìn)制轉(zhuǎn)十進(jìn)制方法:把二進(jìn)制數(shù)按權(quán)展開、相加即得十進(jìn)制數(shù)凌彬。
二.超聲波傳感器
1.什么是超聲波傳感器沸柔?
超聲波測距模塊是用來測量距離的一種產(chǎn)品,通過發(fā)送和就接收超聲波铲敛,利用時間差和聲音傳播速度褐澎,計(jì)算出模塊到前方障礙物的距離。2.特點(diǎn)
HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能伐蒋,測距精度可達(dá)高到3mm工三;模塊包括超聲波發(fā)射器迁酸、接收器與控制電路。
3.工作原理
- 1.采用IO口TRIG觸發(fā)測距俭正,給最少10us的高電平信呈奸鬓。
- 2.模塊自動發(fā)送8個40Khz的方波,自動檢測是否有高電平返回掸读;
- 3.有信號返回串远,通過IO口ECHO輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間儿惫。測試距離=(高電平時間*聲速(340M/S))/2澡罚。
三.制作倒車?yán)走_(dá)
1.作品說明
倒車?yán)走_(dá)(PDC,Parking Distance Control)全稱叫“倒車防撞雷達(dá)”肾请,也叫“泊車輔助裝置”留搔,是汽車泊車或者倒車時的安全輔助裝置,由超聲波傳感器(俗稱探頭)筐喳、控制器和顯示器(或蜂鳴器)等部分組成催式。在倒車時,幫助司機(jī)“看見”后視鏡里看不見的東西避归,以聲音或者更為直觀的顯示告知駕駛員周圍障礙物的情況荣月,解除了駕駛員泊車、倒車和起動車輛時前后左右探視所引起的困擾梳毙,并幫助駕駛員掃除了視野死角和視線模糊的缺陷哺窄,提高駕駛的安全性。倒車?yán)走_(dá)也存在一定的盲區(qū)账锹,包括過于低矮的障礙物(低于探頭中心10~15cm以下的障礙物)萌业、過細(xì)的障礙物(例如隔離樁、斜拉鋼纜)還有溝坎奸柬。2.準(zhǔn)備器材
名稱 | 實(shí)物圖 | 數(shù)量 |
---|---|---|
主控板 | 1 | |
面包板 | 1 | |
超聲波傳感器 | 1 | |
無源蜂鳴器 | 1 | |
LED燈 | ||
220歐姆電阻 | 1 | |
導(dǎo)線 | 若干 |
3.畫電路連接圖
4.實(shí)物連接圖
5.程序設(shè)計(jì)
(模塊代碼)(英文代碼)
volatile int distance;
float checkdistance_10_9() {
digitalWrite(10, LOW);
delayMicroseconds(2);
digitalWrite(10, HIGH);
delayMicroseconds(10);
digitalWrite(10, LOW);
float distance = pulseIn(9, HIGH) / 58.00;
delay(10);
return distance;
}
void setup(){
distance = 0;
pinMode(10, OUTPUT);
pinMode(9, INPUT);
pinMode(2, OUTPUT);
pinMode(11, OUTPUT);
}
void loop(){
distance = checkdistance_10_9();
if (distance <= 40 && distance > 20) {
digitalWrite(2,HIGH);
tone(11,988,50);
delay(1000);
digitalWrite(2,LOW);
tone(11,988,50);
} else if (distance <= 20 && distance > 10) {
digitalWrite(2,HIGH);
tone(11,587,50);
delay(400);
digitalWrite(2,LOW);
tone(11,587,50);
} else if (distance <= 10) {
digitalWrite(2,HIGH);
tone(11,988,50);
delay(100);
} else {
digitalWrite(2,LOW);
}
}