和12歲小同志搞創(chuàng)客開發(fā):手撕代碼心例,做一款密室自動門

所謂密室自動門宵凌,就是這門不是輕易能打開的,存在著某些玄關(guān)需要你去破解止后。這里設(shè)計的這個門瞎惫,是通過不斷晃動手中的傳感器才能開。

有人會說译株,傳感器我知道是那個數(shù)字震動傳感器瓜喇,那門呢?你沒看錯就是舵機(jī)歉糜,它能控制角度乘寒。所以,所謂的門的轉(zhuǎn)動匪补,是靠舵機(jī)來完成的伞辛。做個來看下效果就知道了~

拓展學(xué)習(xí):和12歲小同志搞創(chuàng)客開發(fā):遙控舵機(jī)_不脫發(fā)的程序猿-CSDN博客

項目連線如下所示:

實現(xiàn)代碼如下所示:

#include <Servo.h>

int sensorPin = 3;? ? ? ? ? //震動傳感器 – Digital 3

Servo myservo;? ? ? ? ? ? ? ?

int pos = 0;?

void setup() {

? ? Serial.begin(9600);

? ? pinMode(sensorPin, INPUT);?

? ? myservo.attach(9);? ? ? ? //舵機(jī) – Digital 9

}

void loop() {

? int sensorState = digitalRead(sensorPin);//讀取震動傳感器的狀態(tài)

? Serial.println(sensorState);

? if(!sensorState){? //一旦狀態(tài)發(fā)生變化,舵機(jī)加2°夯缺,直到加到180°

? ? ? ? ? ? pos = pos +2;

? ? ? ? ? ? if(pos >=180){? ? ?

? ? ? ? ? ? ? ? pos = 180;? ? ? ? ? ? ? ?

? ? ? ? ? ? }

? ? ? ? ? ? myservo.write(pos);? ? ? //寫入舵機(jī)的角度? ? ?

? ? ? ? ? ? Serial.println(pos);? ? //串口同時輸出角度值

? ? ? ? ? ? delay(100);?

? } else{? //狀態(tài)不發(fā)生變化蚤氏,舵機(jī)減2°,直到減到0°

? ? ? ? ? ? pos = pos - 2;

? ? ? ? ? ? if(pos <=0){

? ? ? ? ? ? ? ? pos = 0;? ? ? ? ? ? ? ?

? ? ? ? ? ? }

? ? ? ? ? ? myservo.write(pos);? ? ? ? ? ? ?

? ? ? ? ? ? Serial.println(pos);

? ? ? ? ? ? delay(100);? ?

? }

? delay(1);? ? ? ?

}

代碼的開始先調(diào)用<Servo.h>庫:

#include <Servo.h>

這個庫已經(jīng)在Arduino IDE中了喳逛,可以打開Arduino安裝路徑瞧捌,例如我的安裝路徑:D:\Arduino\libraries\Servo\src,這就是Servo庫所在位置润文。

如果要在代碼中用庫中函數(shù)姐呐,是不能直接調(diào)用的,需要給庫找個中介典蝌,讓“他”建立代碼和庫中間的關(guān)系曙砂,也就是類的使用:

Servo myservo;

這里的myservo起到的就是這個作用。建立聯(lián)系骏掀,之后調(diào)用庫中的方法和變量的話鸠澈,就要按照下面這個模式進(jìn)行:

myservo.方法名

myservo.變量

如何定義舵機(jī)是接到那個引腳呢?用到就是attach()方法了。

myservo.attach(引腳ID); //舵機(jī) – Digital 9

知道了如何定義一個舵機(jī)之后截驮,如何把對應(yīng)的角度寫進(jìn)去呢?

myservo.write(角度); //寫入舵機(jī)的角度

最后笑陈,運行程序,不斷的晃動震動傳感器葵袭,可以看到舵機(jī)的角度會隨之變大涵妥。停止晃動后,舵機(jī)角度又開始慢慢減小坡锡。好比一扇門慢慢打開蓬网,合上窒所。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市帆锋,隨后出現(xiàn)的幾起案子吵取,更是在濱河造成了極大的恐慌,老刑警劉巖锯厢,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件皮官,死亡現(xiàn)場離奇詭異,居然都是意外死亡实辑,警方通過查閱死者的電腦和手機(jī)臣疑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來徙菠,“玉大人,你說我怎么就攤上這事郁岩⌒霰迹” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵问慎,是天一觀的道長萍摊。 經(jīng)常有香客問我,道長如叼,這世上最難降的妖魔是什么冰木? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮笼恰,結(jié)果婚禮上踊沸,老公的妹妹穿的比我還像新娘。我一直安慰自己社证,他們只是感情好逼龟,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著追葡,像睡著了一般腺律。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宜肉,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天匀钧,我揣著相機(jī)與錄音,去河邊找鬼谬返。 笑死之斯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的朱浴。 我是一名探鬼主播吊圾,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼达椰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了项乒?” 一聲冷哼從身側(cè)響起啰劲,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎檀何,沒想到半個月后蝇裤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡频鉴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年栓辜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垛孔。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡藕甩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出周荐,到底是詐尸還是另有隱情狭莱,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布概作,位于F島的核電站腋妙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏讯榕。R本人自食惡果不足惜骤素,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望愚屁。 院中可真熱鬧济竹,春花似錦、人聲如沸霎槐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽栽燕。三九已至罕袋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碍岔,已是汗流浹背浴讯。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留蔼啦,地道東北人榆纽。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親奈籽。 傳聞我的和親對象是個殘疾皇子饥侵,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容