0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何構(gòu)建和使用FunShield

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-13 11:01 ? 次閱讀

步驟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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    23088

    瀏覽量

    657350
  • 移位寄存器
    +關(guān)注

    關(guān)注

    2

    文章

    258

    瀏覽量

    22213
  • 壓電揚(yáng)聲器
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    10205
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用Python構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型

    : NumPy:用于數(shù)學(xué)運(yùn)算。 TensorFlow:一個(gè)開源機(jī)器學(xué)習(xí)庫,Keras是其高級API。 Keras:用于構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型。 你可以使用pip來安裝這些庫: pip install
    的頭像 發(fā)表于 11-13 10:10 ?74次閱讀

    用GNU構(gòu)建裸機(jī)系統(tǒng)

    構(gòu)建和安裝GNU工具鏈,但是很難找到一個(gè)將GNU C/C++工具鏈用于裸機(jī)ARM系統(tǒng)的綜合例子,該系統(tǒng)將具有現(xiàn)實(shí)項(xiàng)目中所需的所有基本特性。即使你找到了這樣一個(gè)例子,你也很可能不知道為什么事情是這樣做的。
    發(fā)表于 10-16 17:34 ?0次下載

    應(yīng)用NVIDIA Spectrum-X網(wǎng)絡(luò)構(gòu)建新型主權(quán)AI云

    、Hugging Face、Golem.ai 等。Scaleway 提供一站式的云服務(wù),以開發(fā)創(chuàng)新解決方案并幫助用戶從零開始構(gòu)建和擴(kuò)展 AI 項(xiàng)目,目前 Scaleway 正在構(gòu)建區(qū)域 AI 云,提供 GPU 基礎(chǔ)設(shè)施
    的頭像 發(fā)表于 07-26 18:58 ?1131次閱讀

    RT-Thread Studio構(gòu)建和重新構(gòu)建的不同,一般我們編譯工程時(shí)用哪個(gè)?

    想請教在RT-Thread Studio中,構(gòu)建和重新構(gòu)建的不同,一般我們編譯工程時(shí)用哪個(gè),謝謝!
    發(fā)表于 07-25 07:38

    使用Psoc Creator和cy8ckit-42在blinky項(xiàng)目中添加了一個(gè)冗長的匯編文件,會導(dǎo)致M0120構(gòu)建錯(cuò)誤怎么解決?

    我正在使用 Psoc Creator 和 cy8ckit-42,并在簡單的 blinky 項(xiàng)目中添加了一個(gè)冗長的匯編文件。 雖然代碼一直在成功構(gòu)建和運(yùn)行,但隨著代碼的增大,在代碼的其他部分添加一個(gè)
    發(fā)表于 05-21 06:18

    鴻蒙OpenHarmony開發(fā):【編譯構(gòu)建指導(dǎo)】

    OpenHarmony編譯子系統(tǒng)是以GN和Ninja構(gòu)建為基座,對構(gòu)建和配置粒度進(jìn)行部件化抽象、對內(nèi)建模塊進(jìn)行功能增強(qiáng)、對業(yè)務(wù)模塊進(jìn)行功能擴(kuò)展的系統(tǒng),該系統(tǒng)提供以下基本功能
    的頭像 發(fā)表于 05-13 09:31 ?1556次閱讀
    鴻蒙OpenHarmony開發(fā):【編譯<b class='flag-5'>構(gòu)建</b>指導(dǎo)】

    HarmonyOS開發(fā)案例:【Stage模型下Ability的創(chuàng)建和使用】

    基于Stage模型,對Ability的創(chuàng)建和使用進(jìn)行講解。首先在課程中我們將帶領(lǐng)大家使用DevEco Studio創(chuàng)建一個(gè)Stage模型Ability,并使用UIAbilityContext啟動
    的頭像 發(fā)表于 05-08 14:41 ?661次閱讀
    HarmonyOS開發(fā)案例:【Stage模型下Ability的創(chuàng)<b class='flag-5'>建和</b>使用】

    計(jì)算機(jī)圖形學(xué):探索虛擬世界的構(gòu)建之道

    計(jì)算機(jī)圖形學(xué)是計(jì)算機(jī)科學(xué)的一個(gè)分支,它專注于創(chuàng)建和操縱計(jì)算機(jī)生成的視覺和圖形內(nèi)容。這一領(lǐng)域涵蓋了從基礎(chǔ)的二維圖形繪制到復(fù)雜的三維模型構(gòu)建和渲染的廣泛技術(shù)。在今天的數(shù)字化時(shí)代,計(jì)算機(jī)圖形學(xué)
    的頭像 發(fā)表于 05-07 08:27 ?345次閱讀
    計(jì)算機(jī)圖形學(xué):探索虛擬世界的<b class='flag-5'>構(gòu)建</b>之道

    基于液體積木的可重構(gòu)液體器件,可用于器官芯片的構(gòu)建

    “Reconfigurable liquid devices from liquid building blocks”的論文。該論文報(bào)道了一種新的液體器件構(gòu)建方法,實(shí)現(xiàn)了液體器件的快速構(gòu)建和即時(shí)重構(gòu)。
    的頭像 發(fā)表于 03-11 11:41 ?649次閱讀
    基于液體積木的可重構(gòu)液體器件,可用于器官芯片的<b class='flag-5'>構(gòu)建</b>

    基于液體積木的可重構(gòu)液體器件可用于器官芯片的構(gòu)建

    “Reconfigurable liquid devices from liquid building blocks”的論文。該論文報(bào)道了一種新的液體器件構(gòu)建方法,實(shí)現(xiàn)了液體器件的快速構(gòu)建和即時(shí)重構(gòu)。
    的頭像 發(fā)表于 03-04 17:29 ?690次閱讀
    基于液體積木的可重構(gòu)液體器件可用于器官芯片的<b class='flag-5'>構(gòu)建</b>

    鴻蒙開發(fā)【編譯構(gòu)建】講解

    編譯構(gòu)建是將應(yīng)用/服務(wù)的源代碼、資源、第三方庫等,通過編譯工具轉(zhuǎn)換為可直接在硬件設(shè)備上運(yùn)行的二進(jìn)制機(jī)器碼,然后再將二進(jìn)制機(jī)器碼封裝為HAP/APP軟件包,并為HAP/APP包進(jìn)行簽名的過程。其中
    發(fā)表于 02-27 17:41

    Modustoolbox3.1離線時(shí)無法構(gòu)建模板應(yīng)用程序怎么辦?

    : *** 庫:找不到“core-make recipe-make”。 運(yùn)行“make getlibs”以確保存在所有必需的構(gòu)建和代碼依賴項(xiàng)。停。 “C:/用戶/管理員/ModusToolbox
    發(fā)表于 01-19 08:33

    鴻蒙南向開發(fā)—OpenHarmony技術(shù)編譯構(gòu)建框架

    概述 OpenHarmony編譯子系統(tǒng)是以GN和Ninja構(gòu)建為基座,對構(gòu)建和配置粒度進(jìn)行部件化抽象、對內(nèi)建模塊進(jìn)行功能增強(qiáng)、對業(yè)務(wù)模塊進(jìn)行功能擴(kuò)展的系統(tǒng),該系統(tǒng)提供以下基本功能: 以部件為最小
    發(fā)表于 01-04 16:47

    常用的網(wǎng)絡(luò)服務(wù)搭建和使用

    一些常用的網(wǎng)絡(luò)服務(wù)的搭建和使用。首先ubuntu的網(wǎng)絡(luò)模式需要設(shè)置為橋接模式,電腦主機(jī)、ubuntu主機(jī)、開發(fā)板三者的ip要處于同一網(wǎng)段,且ubuntu主機(jī)要能上
    的頭像 發(fā)表于 12-06 15:44 ?450次閱讀
    常用的網(wǎng)絡(luò)服務(wù)搭<b class='flag-5'>建和</b>使用

    利用數(shù)字鎖相環(huán)(DPLL)實(shí)現(xiàn)相位增建和無中斷切換

    電子發(fā)燒友網(wǎng)站提供《利用數(shù)字鎖相環(huán)(DPLL)實(shí)現(xiàn)相位增建和無中斷切換.pdf》資料免費(fèi)下載
    發(fā)表于 11-24 09:36 ?0次下載
    利用數(shù)字鎖相環(huán)(DPLL)實(shí)現(xiàn)相位增<b class='flag-5'>建和</b>無中斷切換