步驟1:收集零件
首先,請檢查您是否具備以下所有條件:
從SparkFun發(fā)明家的工具包(或您最喜歡的供應(yīng)商):
(1)Photocell,SparkFun SEN-09088, $ 1.50
(1)SN74HC595N移位寄存器16-DIP,SparkFun COM-00733,$ 1.50
(1)IC傳感器溫度,SparkFun SEN-10988,$ 1.50
(1)壓電揚(yáng)聲器,SparkFun COM-07950,$ 1.95
(1)TRIMMER 10K OHM 0.2W PC PIN,SparkFun COM-09806,$ 0.95
(1)迷你按鈕,SparkFun COM-00097、0.35美元
(2)瞬時(shí)按鈕開關(guān)-12mm方形,SparkFun COM-09190、1.00美元
(1)普通陰極RGB LED 5或10mm,SparkFun COM-11120,$ 0.95
(8)彩色5mm LED,COM-12062,$ 2.95
(12)330歐姆1/6W電阻,SparkFun COM-11507,$ 0.95/ea
(4)10K 1/6W電阻,SparkFun COM-08374,1.00美元
(1)二極管SparkFun COM-08588,0.15美元
(1)NPN晶體管,COM-12852,0.50美元
其他項(xiàng)目:
(1)PCB板,http://oshpark.com/shared_projects/lPWpxju2,三個(gè)副本$ 22.10
(1)40針分離頭,SparkFun PRT-00116,$ 1.50
(2)CONN HEADER FEMALE 2POS。 1“ TIN,Digikey S7000-ND,$ 0.68
(1)CONN女性4POS .100” R/A金,Digikey S5479-ND,$ 0.74
(1)CONN HEADER 4POS .100 R/A 30AU,Digikey 609-3312-ND,$ 0.39
請記住,如果您只是想在Tindie.com上購買套件,我已經(jīng)做了所有的辛苦工作。/p》
第2步:輕拍,開始動手
我們將假設(shè)您有一些套件-建筑經(jīng)驗(yàn)。如果您需要焊接方面的幫助,請?jiān)L問www.sparkfun.com/tutorials/213進(jìn)行刷涂。
組裝順序主要取決于偏好。如果您沒有幫手或虎鉗,通常我會從最低的高度到最高的高度,這樣當(dāng)木板在桌子上翻轉(zhuǎn)時(shí),零件就會留在原處。
電阻:
strong》
讓我們從電阻器入手,因?yàn)樗鼈兪亲钬S富,最低的座墊,而且最容易焊接。它們具有更高的耐熱性,將使您有機(jī)會熟練掌握技術(shù)。它們也沒有極性,因此您可以以任何一種方式放置它們。
但是,如果您希望LED保持正確的亮度,則必須獲得正確的值。通常,我將330歐姆用于紅色和黃色,將180歐姆用于綠色和藍(lán)色。如有疑問,請檢查數(shù)據(jù)表中的正向電壓,然后在http://led.linear1.org/1led.wiz上計(jì)算5伏的正確電阻。其他組件的電阻值,例如I2C總線的10K歐姆,已在PCB上標(biāo)出。
二極管和光電管:
現(xiàn)在,您已準(zhǔn)備就緒,時(shí)間到了嘗試一些帶有極性的東西。在電路板中央上方的330歐姆電阻上方添加二極管,觀察PCB上的白線和二極管上的黑帶。這是電機(jī)晶體管的“反沖”二極管,因此,如果電機(jī)向后旋轉(zhuǎn),電機(jī)將無法工作(它將繞過電機(jī),可能會過熱。
光電管位于右下角
第3步:I2C標(biāo)頭和移位寄存器
右側(cè)的strong》 I2C接頭連接器是可選的,可讓您將兩塊板連接在一起,或連接到Wii Nunchuk或Adafruit I2C LCD之類的另一個(gè)I2C設(shè)備。
移位寄存器允許我們僅使用Arduino的I/O引腳中的三個(gè)來控制八個(gè)LED。 是一種16針I(yè)C,必須以正確的方向插入才能正常工作,注意一端的凹口,這表明芯片的哪一側(cè)具有插腳,使該凹口與PCB上的輪廓匹配。在每個(gè)對角線的銷釘上,然后檢查座位。 仔細(xì)檢查方向,因?yàn)樵诤附觾蓚€(gè)以上的引腳后,將很難切換。相信我,我必須做多個(gè)以上的操作。
第4步:溫度傳感器和晶體管
溫度傳感器和晶體管一樣,除了標(biāo)記不同。通過使用強(qiáng)光和放大鏡在臉上的標(biāo)記來識別它們。您正在從諸如“ TMP36”之類的溫度IC和“ 2Nxxxx”之類的晶體管中查找。
溫度傳感器位于左上角,其平坦的一面朝向電路板的中心。這是一個(gè)模擬設(shè)備,其產(chǎn)生的電壓與溫度成正比。
NPN晶體管位于電路板的右上角,平面可能會也可能不指向電路板的中心,取決于您的制造。檢查數(shù)據(jù)手冊和上面的示意圖,以了解基極,集電極和發(fā)射極引腳的位置。晶體管是一個(gè)電子開關(guān),可讓我們使用Arduino數(shù)字引腳可提供的小電流來控制需要200毫安的電機(jī)。另一方面,LED僅需要10毫安,因此可以直接通過數(shù)字引腳供電。
步驟5:按鈕和揚(yáng)聲器
接下來是按鈕。有兩個(gè)輸入按鈕,可以使用12mm按鈕或較小的觸覺按鈕,以及重置設(shè)置按鈕。這些確實(shí)需要按一定的方向安裝,PCB孔要對齊以解決這一問題(不要彎曲插針以使其插入)。
接下來是揚(yáng)聲器。有兩組孔。 SparkFun銷售的揚(yáng)聲器的引線更靠近,并且具有極性。兩組孔相距90度,相距更遠(yuǎn),適合Adafruit銷售的沒有極性的PS1202揚(yáng)聲器。
第6步:放光吧!或LED。
LED 的時(shí)間。您應(yīng)該已經(jīng)決定了顏色和電阻值,所以現(xiàn)在您只需要在正確的位置獲得正確的LED即可。 LED具有極性,較長的腳為正極。焊接每個(gè)LED的一只腳,然后檢查另一側(cè)的位置(如果只加熱一個(gè)焊點(diǎn),則更容易復(fù)位?。?/p>
RGB 指示燈在左上角。 RGB有兩種類型:公共陰極,其中較長的引腳具有電源電壓,并且每種顏色都接地;以及公共陽極,其中較長的引腳具有電源電壓。地面。在這兩種情況下,更長的引線都會通過方形焊盤穿過孔。該板可用于通用陰極,該板由SparkFun套件提供,但如果您是從Adafruit獲得的,則可以很容易地對其進(jìn)行修改。在電路板的下側(cè),切割CC焊盤,然后用焊料橋接CA焊盤。用萬用表檢查兩者的連續(xù)性。注意:我已經(jīng)留出足夠的空間使用10mm RGB LED代替標(biāo)準(zhǔn)的5mm。
第7步:測量電位-修剪電位器
電位器或“修剪鍋”位于左下角。電位計(jì)的引腳布置有幾種類型,SparkFun套件隨附一種可與面包板友好的裝置,一行中有3條0.1英寸間隔的引線。我還添加了偏置孔,用于安裝更常見且便宜的修整罐。
第8步:前往或進(jìn)入-I/O頭
沒有足夠的空間來容納所有SparkFun套件組件,因此我添加了一些接頭,以幫助我們與外界連接。左側(cè)的2針母接頭將電動機(jī)連接到晶體管控制的數(shù)字輸出。右側(cè)的2針母接頭連接到模擬引腳和接地,以連接撓性傳感器等組件。使用一塊公接頭將其固定到位并在焊接時(shí)對齊。
用于連接到伺服,在電機(jī)接頭旁邊添加3針公接頭。
步驟9:最終熱加工-Arduino接頭
您需要焊接的最后一點(diǎn)是連接ct兩個(gè)8針和2個(gè)6針公頭,用于將屏蔽板連接到Arduino。我發(fā)現(xiàn)最簡單的方法是先將接頭連接器放在Arduino中,然后將屏蔽層覆蓋在引腳上,然后再將其焊接到位。
步驟10:啟動Sparkin
您應(yīng)該已經(jīng)注意到,現(xiàn)在所有的引腳分配都標(biāo)記在了板的底部,并且可以以常規(guī)Arduino方式使用。在很多情況下,它們實(shí)際上與SparkFun Inventors Kit的演示草圖中使用的匹配。最多只需更改針腳號即可使用它們。
SparkFun Inventors套件指南:http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Kit 。..
SparkFun Inventors套件示例草圖:http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Kit 。..
將“ SIK指南代碼”文件夾放置在Arduino IDE“示例”目錄中:
PC:將“ SIK指南代碼”文件夾拖到C: program files Arduino-x examples
MAC:將“ SIK指南代碼”文件夾拖到Arduino-x/內(nèi)容/資源/Java/示例
Linux:請參見http://www.arduino.cc/playground/Learning/Linux
啟動Arduino IDE;這些示例應(yīng)該在文件/示例/SIK指南代碼
中可見
這是FunShield引腳分配:
A0 TRIM
A1 LIGHT
A2 TEMP
A3 ANALOG
A4 I2C-SDA
A5 I2C-SCL
D2移位寄存器數(shù)據(jù)
D4移位寄存器鎖存
D12移位寄存器時(shí)鐘
D6 RGB-BLUE
D9 RGB-紅色
D10 RGB-GREEN
D3馬達(dá)
D5伺服器
D7右按鈕
D8左按鈕
D11揚(yáng)聲器
步驟11:FunShield庫
我為FunShield編寫了一個(gè)庫,以幫助您完成設(shè)置和管腳分配的工作。該庫包含演示草圖,幫助您入門。
步驟:
從以下位置下載zip文件:https://github.com/MakersBox/FunShield/archive/mas。 。.
解壓縮文件夾。
將“ FunShield-master FunShield libraries FunShield”文件夾移至素描本的“ library”文件夾。
重新啟動Arduino IDE。
示例草圖現(xiàn)在應(yīng)顯示在以下位置:
[文件]-》 [示例]-》 [FunShield]
步驟12:ArduBlock
ArduBlock是與Arduino IDE集成的圖形化編程環(huán)境。這是一個(gè)用Java編寫的開源項(xiàng)目。
如果您尚未從以下位置下載zip文件:https://github.com/MakersBox/FunShield/archive/master.zip
將工具 文件夾移動到您的 sketchbook 文件夾中。
將 ArduBlockExamples 文件夾移至您的 sketchbook 文件夾。
重新啟動Arduino IDE。
從[工具]-》 [ArduBlock]啟動ArduBlock。
如果“ ArduBlock”選項(xiàng)不可見,請返回并檢查是否將其放在正確的位置。
實(shí)際的目錄結(jié)構(gòu)應(yīng)最終看起來像:。./sketchbook/tools/ArduBlockTool/tool/ardublock-FunShield.jar
如果仍然遇到問題,請?jiān)趆ttp://blog.ardublock.com/engetting-started-ardublockzhardublock/
打開中查看更詳細(xì)的說明。一個(gè)示例項(xiàng)目(您必須導(dǎo)航到 。./sketchbook/ArduBlockExamples 文件夾。
步驟13:組件集成示例
您已經(jīng)完成了!我想剩下的就是為您朝正確的方向輕輕推。讓我們看一下名為“ FS_01_LED.ino”的示例草圖“:
首先,我們需要表明我們要使用FunShield庫,并實(shí)例化一個(gè)名為” fs“的FunShield對象:
// sets up and initialize FunShield
#include
#include // Require for I2C communication
FunShield fs; // Instanciate FunShield instance
幾個(gè)簡單的變量為我們提供幫助:
// variable declarations
int led = 0; // Can be any led from 0 to 7
int delayTime = 1000; // Delay time in milliseconds
由于FunShield庫可以處理所有設(shè)置,因此setup()函數(shù)可以為空。我通常會添加一些代碼,以查看通過consol進(jìn)行的操作e:
void setup() {
Serial.begin(9600); // Setup serial communications for troubleshooting
Serial.println(“FS_01_LED.ino”);
}
現(xiàn)在進(jìn)入主循環(huán):
void loop(){
LED(led, HIGH); // turn LED on
delay(delayTime);
LED(led, LOW); // turn LED off
delay(delayTime);
}
您應(yīng)該使用FunShield將其識別為基本的Arduino“眨眼”草圖。 LED()函數(shù)代替了 digitalWrite()。
讓我們進(jìn)入一個(gè) for循環(huán),以便我們可以打開和關(guān)閉所有LED。
void loop(){
for(led=0; led《8; led++){
LED(led, HIGH); // turn LED on
delay(delayTime);
LED(led, LOW); // turn LED off
}
}
您可能想降低 delayTime 值,因此遍歷LED不需要花費(fèi)整整8秒鐘的時(shí)間。
現(xiàn)在,當(dāng)?shù)竭_(dá)終點(diǎn)時(shí),如何使LED反轉(zhuǎn)?可能是另一個(gè) for循環(huán)?
void loop(){
for(led=0; led《8; led++){
LED(led, HIGH); // turn LED on
delay(delayTime);
LED(led, LOW); // turn LED off
}
for(led=6; led》0; led--){
LED(led, HIGH); // turn LED on
delay(delayTime);
LED(led, LOW); // turn LED off
}
}
注意我重新開始使用led#6,因?yàn)榈谝粋€(gè)for循環(huán)已經(jīng)點(diǎn)亮了led#7。我也將第二個(gè)循環(huán)停在led#1處,因?yàn)榱硪粋€(gè)for循環(huán)也可以處理它。
如果我們想在燈光改變方向時(shí)添加一個(gè)可聽見的線索怎么辦?在這里,圖書館的美麗派上了用場。無需查找引腳號。只需調(diào)用 speaker()函數(shù)
void loop(){
for(led=0; led《8; led++){
LED(led, HIGH); // turn LED on
delay(delayTime);
LED(led, LOW); // turn LED off
}
speaker(440, 10); // short beep
for(led=6; led》0; led--){
LED(led, HIGH); // turn LED on
delay(delayTime);
LED(led, LOW); // turn LED off
}
speaker(880, 10); // short beep
}
最后一個(gè)技巧即可。我們?nèi)绾胃鶕?jù)微調(diào)電位器的值來改變LED的速度?小菜一碟!只需將 delayTime 變量更改為 trim()函數(shù):
void loop(){
for(led=0; led《8; led++){
LED(led, HIGH); // turn LED on
delay(trim()); // read potentiometer to determine delay time.
LED(led, LOW); // turn LED off
}
speaker(440, 10); // short beep
for(led=6; led》0; led--){
LED(led, HIGH); // turn LED on
delay(trim());
LED(led, LOW); // turn LED off
}
speaker(880, 10); // short beep
}
責(zé)任編輯:wv
-
led
+關(guān)注
關(guān)注
240文章
23088瀏覽量
657350 -
移位寄存器
+關(guān)注
關(guān)注
2文章
258瀏覽量
22213 -
壓電揚(yáng)聲器
+關(guān)注
關(guān)注
0文章
8瀏覽量
10205
發(fā)布評論請先 登錄
相關(guān)推薦
評論