国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

DIY:自制紅外避障小黃人“別摸我”

發(fā)布時(shí)間:2014-2-6 11:59    發(fā)布者:lichen
關(guān)鍵詞: DIY

請自行腦補(bǔ)小黃人那賤賤的笑聲~(實(shí)物是有聲音的)

這個(gè)玩具還有個(gè)NB名字:BMW(別摸我)

制作背景

本玩具誕生于芯世界、創(chuàng)客空間、英特爾等機(jī)構(gòu)組織的極創(chuàng)48小時(shí)HACKATHON的比賽。并有幸獲得了本次比賽的第一名,感謝之前所有支持過我們的果殼er們!

在我們一群開發(fā)人猿的努力下,這個(gè)純手工制作的小黃人誕生了。

制作難度:3星

制作時(shí)間:比賽時(shí)我們3-4人工作了約8小時(shí)

制作材料電路控制部分
  • Arduino Mega2560*1
  • 紅外傳感器*3
  • 舵機(jī)*2
  • 揚(yáng)聲器*1
  • LM386*1
  • 導(dǎo)線、面包板、洞洞板*N
骨架與裝飾材料
  • 可樂瓶*1
  • 木板*N
  • A4紙*N
  • 工具部分:
  • 彩筆*N
  • 鋸條、螺絲刀、螺絲釘?shù)瘸R姽ぞ?br />
實(shí)現(xiàn)原理

我們在小黃人的眼睛和雙手的位置分別裝了三個(gè)紅外傳感器(眼睛里的那個(gè)是不是毫無違和感呢,哈哈)。當(dāng)人手靠近傳感器時(shí),傳感器的信號會發(fā)生變化。Arduino控制器接收到這種變化后,會控制對應(yīng)的舵機(jī)轉(zhuǎn)動到相應(yīng)的角度,保持一段時(shí)間后恢復(fù)原位。我們總共有兩個(gè)舵機(jī),分別控制小黃人的向后倒和左右閃躲。同時(shí),Arduino控制器通過LM386芯片驅(qū)動揚(yáng)聲器,播放小黃人笑聲的wav音頻。

電路控制部分連接紅外傳感器到Arduino控制器

紅外反射式傳感器可以發(fā)射紅外線,并檢測紅外線是否被反彈回來。這個(gè)傳感器因?yàn)閮?nèi)部已經(jīng)集成了放大、濾波等電路,使用起來非常方便。傳感器有3個(gè)引腳,分別是電源、地和信號。經(jīng)過測量,當(dāng)傳感器前方有遮擋物時(shí),信號線電壓變低。

直接將信號線接到Arduino的數(shù)字端口上,判斷這個(gè)數(shù)字端口的值是否為0,即可判斷傳感器前方是否有手靠近了。

如果紅外傳感器的質(zhì)量不太好的話(產(chǎn)生的信號電壓不穩(wěn)或者不夠低),則可以將信號線連接到Arduino的模擬信號引腳上,使用Arduino的AnalogRead函數(shù)(封裝好的函數(shù)用起來就是簡單)就可以讀出這個(gè)信號線上的電壓。設(shè)置一個(gè)電壓閾值,就可以判斷傳感器前方是否有手靠近了。

連接舵機(jī)到Arduino控制器

關(guān)于舵機(jī)的使用,DIY站的前輩寫了一篇很好的文章:DIYer修煉:舵機(jī)知識掃盲

這里簡單描述一下:

舵機(jī)收到一個(gè)用PWM波模擬的電壓值,就會讓驅(qū)動軸帶動舵盤旋轉(zhuǎn)到一個(gè)固定的角度。而在Arduino中,完全可以利用封裝好了舵機(jī)的控制函數(shù),命令舵機(jī)轉(zhuǎn)到對應(yīng)的角度即可。

下圖中展示了一個(gè)舵機(jī)和一系列的舵盤。

這里使用兩個(gè)舵機(jī)分別控制小黃人前后旋轉(zhuǎn)和左右旋轉(zhuǎn)。

結(jié)合第一步中的紅外傳感器,此時(shí)便已經(jīng)可以實(shí)現(xiàn)如下功能:

當(dāng)紅外傳感器檢測到小黃人前方有手時(shí),就命令前后舵機(jī)向后轉(zhuǎn)動90度;當(dāng)左方有手時(shí),就命令左右舵機(jī)向右旋轉(zhuǎn)90度;當(dāng)右方有手時(shí),就命令左右舵機(jī)向左旋轉(zhuǎn)90度。

當(dāng)然,控制邏輯還可以有更多花樣。比如,當(dāng)我使出“雙峰貫耳”時(shí),小黃人會前撲進(jìn)行反擊~

PS:舵機(jī)在工作時(shí)會對電源電壓產(chǎn)生一定的干擾,因此需要接電容濾波或者是單獨(dú)供電。否則會影響紅外傳感器的正常工作。

連接揚(yáng)聲器到Arduino控制器

由于器材限制,我們采用了比較簡單的音頻播放方法。使用單片機(jī)的PWM波來近似播放PCM編碼的單聲道音頻。為了操作簡單(不用外接flash或者ram),我們將音頻直接固化在程序中了。

這一段里我將介紹如何產(chǎn)生WAV音頻文件、如何將音頻文件固化在程序中、如何修改Arduino的PWM波產(chǎn)生函數(shù)的基本參數(shù)。

之前說了兩次Arduino封裝函數(shù)的方便,這里要來吐槽一下啦:有一些操作,在普通的單片機(jī),包括Arduino套件所采用的AVR中實(shí)現(xiàn)比較簡單,但是在函數(shù)高度封裝后的Arduino上,處理起來略有麻煩。

產(chǎn)生WAV音頻文件
  • 截。哼@步比較簡單,我是用KMPlayer從電影中抓取了1.5s的小黃人的笑聲音頻。
  • 轉(zhuǎn)碼:之后用GoldWave將其轉(zhuǎn)碼成WAV格式,參數(shù)選擇是PCM unsigh 8-bit mono,并將其采樣率降低到8KHz(語音信號的采樣率的最低要求是6.8KHz,這里就先不多解釋了)。8bit單聲道的PCM的編碼,就是用一個(gè)8bit的值表示當(dāng)時(shí)的聲音強(qiáng)弱,一秒鐘8000個(gè)點(diǎn),我的音頻總共12000個(gè)點(diǎn)。因此,只要Arduino能夠如實(shí)的將這12000個(gè)點(diǎn)的值變成電壓值,去驅(qū)動喇叭,就可以發(fā)聲了。
  • 取值:我用ultraedit打開wav文件,在16進(jìn)制的模式下能看到值,但是無法復(fù)制。最后被迫用了matlab去讀取wav文件,將12000個(gè)值取了出來。如果誰會更簡單的方法告訴我一下吧~
音頻文件固化在程序中

12000個(gè)8bit的數(shù)的大小約是12KB。Arduino的RAM大小只有8KB,而其程序Flash的大小有128KB。因此最簡單的方法就是將它直接寫到程序里。

在Arduino中,直接定義數(shù)組的方法是:

const byte sound[]={………………………………};

這樣的話,數(shù)組中的內(nèi)容作為變量會被要求加載到RAM,于是RAM就爆了。

固化到程序里的方法是:

#include //開頭要引用這個(gè)文件const byte sound[] PROGMEM={………………};//定義時(shí)候要加上關(guān)鍵字…………a=pgm_read_byte(&sound);//程序中的數(shù)組的使用方法用PWM波模擬聲音

PWM波使用不同占空比的方波,來模擬不同的直流電壓,就可以模擬一個(gè)模擬信號。(中文有點(diǎn)怪,英文是emulate an analog signal)

Arduino可以很方便的產(chǎn)生一個(gè)指定模擬電壓的PWM,使用函數(shù)AnalogWrite即可。因此我們讓Arduino依次將12000個(gè)聲音點(diǎn)的值,用PWM波模擬出來,理論上就只要再通過濾波和放大就大功告成了。

這里需要的一個(gè)前提是,PWM波的頻率要遠(yuǎn)高于聲音的采樣頻率(8kHz)。否則會很難濾波甚至發(fā)生錯(cuò)誤。

不幸的是,AnalogWrite中無法指定PWM的頻率。查閱資料后發(fā)現(xiàn),PWM波的默認(rèn)頻率只有幾百赫茲,因此剛開始實(shí)驗(yàn)時(shí)喇叭里全是噪聲。參考了Arduino的官方網(wǎng)站的使用教程 [url=http://playground.arduino.cc/Main/TimerPWMCheatsheethttp://playground.arduino.cc/Main/TimerPWMCheatsheet]Adjusting PWM Frequencies[/url] 中的資料,將PWM波的頻率改成312500Hz。終于能夠?qū)崿F(xiàn)聲音的播放了。

此時(shí)直接將揚(yáng)聲器接到PWM的輸出端口上,已經(jīng)可以聽到聲音了(揚(yáng)聲器本身的結(jié)構(gòu)具有低通濾波器的特性,可以濾去高頻分量)

后續(xù)的濾波器以及功放電路就不描述了,時(shí)間倉促,設(shè)計(jì)的也不好。

至此,電路部分已經(jīng)設(shè)計(jì)完成。此時(shí)用手擋住任何一個(gè)紅外傳感器,均會有一個(gè)舵機(jī)開始旋轉(zhuǎn),并且有賤賤的笑聲。

機(jī)械部分

由于我們沒有人是學(xué)機(jī)械或者設(shè)計(jì)的,不會畫CAD圖,無法使用高級的切割設(shè)備,只能采用手工加工木板。首先引用一段對舵機(jī)用法的介紹,出自于前面提到的 DIYer修煉:舵機(jī)知識掃盲 。

舵機(jī)的支架和連接裝置

  • 想在你的項(xiàng)目中用上舵機(jī),就要滿足兩個(gè)條件:一是需要個(gè)能把舵機(jī)固定到基座上的支架,二是得有個(gè)能將驅(qū)動軸和物體連在一起的連接裝置。支架一般舵機(jī)上就有,而且?guī)в袛Q螺絲用的安裝孔。如果你僅僅是測試的話,用點(diǎn)兒熱熔膠或者雙面泡沫膠帶就能輕松的固定住舵機(jī)。
  • 怎樣連接驅(qū)動軸呢,你會發(fā)現(xiàn)舵機(jī)都附帶了一些有孔的小東西,這就是舵盤,它可以套在驅(qū)動軸,臂上打上了些小孔。你只要用連接棒或者線把物體連到孔上,就可以將舵機(jī)的旋轉(zhuǎn)運(yùn)動變成物體的直線運(yùn)動了,當(dāng)然了,選用不同的舵盤或固定孔就能產(chǎn)生不同的運(yùn)動啦。
  • 圖示的是幾種不同的舵盤。前面4個(gè)白色的是舵機(jī)附帶的舵盤,右邊四個(gè)是用激光切割機(jī)切割塑料得到的DIY舵盤。最右邊的2個(gè)是舵盤和支架的組合,如果你想實(shí)現(xiàn)兩個(gè)舵機(jī)的組合運(yùn)動,把這個(gè)舵盤的支架固定到另一個(gè)舵機(jī)的支架上就OK了。

接下來的機(jī)械設(shè)計(jì)介紹,這可能會是你在果殼中看到的最坑爹的表達(dá)方式,大家對著實(shí)物圖和我畫的“偽三視圖”努力辨認(rèn)一下吧…

我們用了兩個(gè)舵機(jī)實(shí)現(xiàn)了兩個(gè)自由度。整個(gè)設(shè)備從下往上依次是:

  • 大木板A
  • 一個(gè)大木板A上豎直的固定了一個(gè)小木板B,固定方式用的是一個(gè)直角的金屬,名字未知……
  • 在小木板B上挖了一個(gè)槽,將一個(gè)舵機(jī)卡到了里面,并用螺絲固定。
  • 在舵機(jī)的驅(qū)動轉(zhuǎn)盤上固定一個(gè)小木板C,這個(gè)木板會隨著這個(gè)舵機(jī)的驅(qū)動轉(zhuǎn)盤實(shí)現(xiàn)前后旋轉(zhuǎn)。
  • 小木板C上用螺絲固定了第二個(gè)舵機(jī)。
  • 第二個(gè)舵機(jī)的驅(qū)動轉(zhuǎn)盤上固定木條D,這個(gè)木條D可以在驅(qū)動轉(zhuǎn)盤的帶動下,實(shí)現(xiàn)左右旋轉(zhuǎn)。
  • 在木條D上固定大可樂瓶,在可樂瓶的適當(dāng)位置開洞,固定3個(gè)紅外傳感器。
  • 最后,在可樂瓶外側(cè),用白紙畫上小黃人的外觀,就大功告成啦!

PS. 小黃人還在繼續(xù)成長中~我們將會在這個(gè)簡單的小黃人的基礎(chǔ)上,開發(fā)出一款真正的玩具。嗯?那款玩具會是什么樣的?現(xiàn)在還不能告訴你,肯定會更可愛,更聰明(或者更笨),變得會學(xué)習(xí)、會有情緒,也許還可以和很多人一起玩。敬請期待吧!


本文地址:http://m.qingdxww.cn/thread-126155-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 四虎在线最新永久免费 | 亚洲二区在线播放 | 久久精品免费一区二区视 | 久久夜夜视频 | 99精品视频在线观看免费播放 | 97视频在线观看免费 | 久久国产精品久久精品国产 | 亚洲视频免 | 中文字幕一区二区三区 精品 | 五月月色开心婷婷久久合 | 中文天堂最新版www在线观看 | 国产日韩免费视频 | 黄页网址大全免费观看22 | 日本高清色视频www 日本高清色本在线www游戏 | aaaa大片| 日韩福利一区 | 久草视频在线资源 | 亚洲一区二区影视 | 欧美日韩精品一区三区 | 九月激情网| 在线观看亚洲免费视频 | 欧美综合在线观看 | 四虎影视网 | 成人麻豆视频 | 一区二区三区四区免费视频 | 免费看污黄网站 | a高清免费毛片久久 | 欧美一级va在线视频免费播放 | 亚洲高清在线观看 | 91极品反差婊在线观看 | 国产极品美女网站在线观看 | 日本在线不卡免费 | 女人一级毛片免费观看 | 国产一级一片 | 三级精品 | 欧美日韩精品国产一区二区 | 成人亚洲国产综合精品91 | 亚洲综合色网 | 国产一级视频 | 亚洲欧美在线综合一区二区三区 | 最新日剧 |