Category Archives: 電子電路相關

[教學文] 快說!怎樣不用Arduino也能做出電子鐘!!(顯示器篇)

站在火車站大廳,抬頭仰望就可看見有一個大大的時鐘,醒目地提醒旅客們現在的時刻;在電梯門前,望著旁邊的指示器,看看電梯現在位在哪個樓層。這種分成七節,外觀很像方形的8的東西,就是我們的七段顯示器。

本文就是要帶大家一窺七段顯示器的奧秘!

作者/攝影

CAVEDU實習生 陳俊霖

文章分類教學技術文
時間

1hr

成本

約60元

難度**(1-10)
材料表
  • 指撥開關(4位元) *1

  • 三用電表 *1

  • 杜邦線or單心線

  • 555 *1

  • 7490 *1

  • 7447 *1

  • 220Ω *11

  • LED *4

  • 七段顯示器 *1

  • 1kΩ *4

  • 51kΩ *1

  • 47kΩ *1

  • 10u電解電容 *1

  • 0.1u陶瓷電容 *1

(若想購買相關材料,請洽機器人王國商城)

上一篇文章  [教學文] 不用Arduino做出電子鐘?!(計數器篇) 中,我們介紹怎麼使用7490,接下來,就讓我們把計算的數字「視覺化」吧!

 

我們使用最常見的七段顯示器(7-segment display)作為數字顯示器。

圖1 七段顯示器外觀

 

下圖是七段顯示器,以及7447接腳圖和連接範例:

圖2 七段顯示器接腳圖

 

圖3 七段顯示器連接範例

 

原廠datasheet 網址(RS Components ): 7-segment-display 圖中的顯示器是共陽極。

 

Step1:在選擇驅動IC時,要先確認自己使用的七段顯示器是共陰極或共陽極。

先拿出我們的三用電表,若是數位型的三用電表,先將檔位調整至歐姆檔的X1。接下來,將紅棒放在七段顯示器的正中央接腳(COM)上。黑棒則隨意置於其它不是COM的腳位,以測試這個顯示器是否有字節故障。數位電表中,紅棒是正極,黑棒是負極。

圖4 數位電表七段顯示器測試

 

若使用指針型三用電表的讀者們,一樣將檔位調整至歐姆檔的X1,但這次我們將黑色棒放置於七段顯示器的中央接腳(COM)上,紅色隨意置於其他不是COM的腳位,測試這個顯示器是否有字節故障。指針電表中,黑棒是正極,紅棒是負極

圖5 指針電表七段顯示器測試

 

數位型電表與指針型電表接腳相反的原因,是因內部結構不同,剛好兩種電表在歐姆檔時,兩隻探棒內部連接至電池的極性相反。比較好記的方法是,記得數位型電表紅色就是正(比較直觀),指針型則與數位型相反。這部分在許多場合需要判讀零件的正負接腳時非常重要,若因不小心買錯零件而需重新設計整個電路將會得不償失。

 

確認好自己的七段顯示器規格後,就來選擇驅動IC吧!

 

Step2:常見的驅動七段顯示器專用IC有7447與7448。7447是驅動共陽極的七段顯示器;而7448則是驅動共陰極。我們這次使用共陽極的七段顯示器,因此使用7447進行解說。下圖是7447的腳位圖:

圖6 74LS47腳位圖

 

74LS47 datasheet 原廠網址(TI):  74LS47 BCD to seven segment decoder
將IC放置於麵包版上後,如圖7連接電路。

圖7 指撥開關和七段顯示器

 

電路說明:

LT、BI、RBI 三隻腳位是用來控制7447的,功能如同上次的7490的RST接腳,因此全部接至電源正極即可。若想更了解這幾隻腳位的用途,可參考上方的datasheet連結。

 

A、B、C、D 是我們的資料輸入腳位,輸入二進制資料(BCD碼)至7447後,會轉換成對應的顯示器輸出。

 

a~g則是七段顯示器的LED腳位。

 

最左邊的圖示是指撥開關,每一個開關接一個下拉電阻到地,以確保開關未動作時不會浮接。

圖8 麵包板接線參考圖

 

圖9 實體圖

 

若接線皆正確,那麼讀者的七段顯示器應該可以工作了!若有不亮或顯示亂碼的狀況,可以檢查一下指撥開關的地方是否接觸不良,或是LT、BI、RBI 三隻腳是否接至正極,又或是七段顯示器的規格用錯了。

 

Step3:我們將四個指撥開關撥出我們想要的數字,0往下撥,1往上撥。我們若輸入十進制的5,轉換成二進制就是「0101」,那麼七段顯示器就會對應輸出5了!

 

Step4:我們把上一次接好的555與7490計數電路(Q0~Q3)接至7447解碼電路上。7490的數字輸出對應接入7447資料輸入,如下面電路圖所示:

圖10 自動計數電路

 

接好後,接上電源,專屬的0~9計數時鐘就完成了!實體電路圖如圖11,看起來稍微有點複雜,但還是可以完成的。

圖11 自動計數實體電路圖

 

 

看著它自己從0數到9,還有一旁LED相對應的跳動,是不是很有趣呢!只要把兩個7490串在一起,甚至可做出從0數至99的計數器呢!有這個應用,就可組合出專屬的時鐘了。

 

不僅如此,若讀者也可以自己做開發板的相關應用。除可利用它來顯示溫度、電壓、電流之外,還可將開發板連上網路,顯示網頁的瀏覽次數、貼文的按讚次數,甚至是Youtube的訂閱者數目喔!

 

小小的七段顯示器配合Maker的創意,可以產生出眾多應用,從小小的零件變成如此重要的工具呢!

相關文章

[教學文] 快說!怎樣不用Arduino也能做出電子鐘!!(計數器篇)

在前一篇文章  [教學文] 快說! [教學文] 快說!怎樣不用Arduino也能做出電子鐘!!(555 IC篇)中,我們介紹了555IC的故事及應用, 本文要帶讀者們進入下一個部分:

 

計算時脈的計數器

 

生活中最常見的計數器應該是去遊樂園玩的時候,總會有人站在門口,手裡拿著一顆黑黑的東西一直按,那便是常見的機械式計數器,每按一下計數器上的數字就會加一。而另一個常見的計數器,就在汽機車的儀表板上。若仔細觀察,儀表板下方會有一排數字,車子每前進一公里,白色部分就會一直累加,直至全部變為9999或按下歸零按鈕為止。電子電路也有相同功能的IC,那就是7490系列。

作者/攝影

CAVEDU實習生 陳俊霖

文章分類教學技術文
時間

約1hr

成本

約50元

難度**(1-10)
材料表
  • 指撥開關(4位元) *1

  • IC:74LS90*1、555*1

  • 電阻:1kΩ*1、220Ω*5

  • LED*5

  • 杜邦線或單心線

  • 10uF電容*1

  • 0.1uF電容*1

(若想購買相關材料,請洽機器人王國商城)

7490是一顆10模計數器,與其相似的IC還有7492(12模計數器)、7493(16模計數器)、74390(雙十模計數器)⋯⋯等等,他們的功能就是每接收到一個時脈訊號(CLK)便把輸出加1,直至特定模數(Mod)為止。

 

舉例而言,一開始計數器的輸出是0000(二進制),在一個時脈訊號進來後,計數器會將輸出加一,此時輸出變成0001(二進制),再加入一個時脈訊號後輸出變成0010,以此類推一直至輸出變成1001(十進制的9)時,7490會自動將計數器歸零。

 

所以,整個計數器的輸出就是:0000>0001>0010>0011>0100>0101>0110>0111>1000>1001>0000⋯⋯如此循環。

 

讀者可能納悶:明明是10模為甚麼只數到9?別忘了,還有一開始的0也要算進去呀!

圖1 74LS90外觀

 

仔細瞧圖中IC上的文字,為甚麼是「74”LS”90」,而非標題的7490?他們是一樣的嗎?

 

廣義來說,是的,他們都是7490系列的IC,功能相同,接腳也相同。

 

但若就消耗功率及速度來看,他們是不一樣的,這部分就跟積體電路的製造技術和結構有關,在此不多贅述,有興趣的讀者可以上網找TTL邏輯,以獲得更多相關知識。

 

接下來讓我們看看7490的腳位:

圖2 7490腳位圖

 

74LS90 Datasheet (TI) : Decade, Divide-by-Twelve And Binary Counters (Rev. A)

 

其中:

第14腳(CKA)和第1腳(CKB)是時脈訊號輸入,輸入時脈訊號。第4腳和第13腳(NC)是指「No Connected 」的空腳位,是允許浮接的。Vcc 與GND分別接至電源的正和負。

 

第12腳、第9腳、第8腳及第11腳(QA~QD)是資料輸出,其中QDMSB(Most Significant Bit,最高有    效位元),是權序最大的。R0(1)、R0(2)與R9(1)、R9(2)皆為控制接腳,可以運用邏輯運算控制此接腳,讓計數器運用更廣泛。

圖3 7490構造圖

 

由圖3可看到,R0(1)、R0(2)和R9(1)、R9(2)皆各別接至一個「NAND」的符號,而NAND後又接至正反器(Flip-Flop)下面的小圓點,那個小圓點相當於機械式計數器的歸零鈕,只要這個腳位處於低電位,計數器便會歸零。

 

所以我們的R0(1)、R0(2)和R9(1)、R9(2)若同時為1時,NAND輸出0,計數器就會歸零,並且重新計數。

 

這裡提供一些關於數位邏輯的參考資料給讀者,想更深入研究可以參考教育部的教育大市集 :  基礎數位邏輯。雖然數位邏輯並不是那麼容易學習,但我們CAVEDU教育團隊也提供易於學習的Boson Inventor Kit  ,讓所有有興趣的大小朋友可以了解數位邏輯的有趣之處!

 

言歸正傳,就讓我們動手做出10模計數器吧!

 

Step1:7490如圖接於麵包板上,按鈕開關上拉電阻使用1kΩ,LED 限流電阻使用220Ω。將開關和電阻的連接端連接至7490的CKA(第14腳),QA輸出端接至CKB(第1腳),R1和R9腳全接地。QA~QD串聯220Ω電阻後連接LED,方便判讀數值。

圖4 接線圖

 

圖5 電路圖

 

小提示:麵包板模擬圖上的電阻值與我們要使用的不同,圖4只是給位置參考而已,實際電路元件數值如圖5所示。

 

完成接線後,確認正負極無誤就可以通電測試嘍!

圖6 完成圖

 

每按下一次按鈕開關,LED燈就會顯示二進制的數字,從0到9之後又歸零。

 

那麼我們把上次的555電路與這次的計數IC做結合,接成如下電路:

圖7 555+7490接線圖

 

小提示:麵包板模擬圖上的電阻值與我們要使用的不同,圖7只是給位置參考而已,實際電路元件數值如圖8所示。

圖8 555+7490電路圖

 

把555的第三隻腳(OUT)接至7490的CKA,我們用555取代我們手按開關的動作,就可讓它自動計數了!

 

看著LED燈號一顆顆往前堆疊,是不是挺有趣的呢!若我們再發揮一點想像力便會發現,若迴圈執行一次相當於產生一個時脈訊號,計數器的功能好比於程式語言i=i++,每當迴圈執行一次,就將變數+1,每收到一個時脈,輸出就+1。

 

延伸挑戰:

讀者可發揮創意將555產生的時脈訊號用其他元件取代,例如改成傾斜開關,就變成計步器了 ; 若改用旋轉編碼器,就可計算轉動的次數呢;裝在存錢筒上還可以幫自己算錢呢!

相關文章

[教學文] 快說!怎樣不用Arduino也能做出電子鐘!!(555 IC篇)

  現在是微處理器盛行的時代,許多東西皆簡化成以一顆MCU取代所有電路,但要編寫MCU需要的不僅僅是程式語言編寫能力,還要有很多基本程式觀念及門檻,以及要有一台電腦才能作業。想像一下70年代的矽谷,電腦一台要價4,700,000美金,這可不是人人負擔得起的,那麼那時的電子鐘要怎麼製作出來呢?

 

本系列專題就要帶大家不用Arduino做出電子鐘。電子鐘分成三個部分:

  1. 頻率為1Hz的時脈
  2. 計算時脈的計數器
  3. 顯示數字的七段顯示器

本篇重點在於介紹1Hz時脈的產生。

作者/攝影

CAVEDU實習生 陳俊霖

文章分類教學技術文
時間

30mins

成本

約20元

難度*
材料表
  • 麵包版X1

  • IC555  X1

  • 杜邦線或單心線

  • 剝線鉗x1

  • 電池組x1

  • 51k電阻 x1

  • 47k電阻x1

  • 10u電容x1

(若想購買相關材料,請洽機器人王國商城)

  對於沒有學過電子電路的讀者想必對555這組數字很陌生,有人說555的名字是來自於使用三顆5KΩ的電阻,所以就直接取名為555,也有人說555只是當時老闆喜好的一組數字而已。

 

  當時工程師Hans R. Camenzind花費好幾周的時間想出方法,運用簡單的電晶體與電阻,做出可任意調整周期與空占比的電路,使用時只需外加電阻與電容,便可完成相似於能夠程式化編寫的時脈產生器。雖然現今電腦普及,但我們仍可用不到10元的價格從網路取得555計時晶片,現在就讓我們看看怎麼使用這顆「經典IC」吧!

 

  555的功能主要分成三種:單穩態模式、雙穩態模式及無穩態模式。我們這次使用的是無穩態模式,這種模式用在產生方波,如同它的名稱,無穩態表示不會穩定下來,會一直震盪。至於其他的使用模式在先前文章有提過,不妨參考看看:[ 電路設計軟體Multisim Blue ] 自己來設計一個腳踏車方向燈吧!

圖1 555IC外觀

 

Step1:首先,我們拿出麵包板,並將555 IC、電阻、電容如圖連接。

圖2 麵包板電路

 

圖3 接線圖

 

小提醒:

  麵包板模擬圖上的電阻值與我們要使用的不同,圖2只是給位置參考而已,實際電路元件數值如圖3所示。

 

  在這裡跟大家補充介紹555的腳位及對應功能,以及IC腳位識別:

圖4 IC接腳辨認

 

  第一次看到IC時,請仔細觀察它的表面會有一個小圓點在IC的邊角(有的IC其中一邊有一個缺口)。那個圓點的位置,就是IC的第一隻腳(若是只有一邊有缺口的,就把缺口朝向自己的左手邊,左下的腳就是第一隻腳)。若腳位接錯會使電路無法作動,嚴重一點會使整顆IC燒壞。

圖5 555 接腳圖

第1腳(接地GND):接至電源負極

第2腳(觸發TRI):當此腳位電壓低於1/3Vcc時,會使第三隻腳(OUT)輸出高電位,且讓第7腳(DIS)對地開路。

第3腳(輸出OUT):555IC的輸出腳,受到2、4、6腳控制產生對應的輸出。

第4腳(重製RST):若此腳電壓低於0.4v時,會使第三腳(OUT)輸出為低態。

第5腳(控制 CTRL):控制晶片的閾值電壓,一般使用都接一顆0.1uF電容後接地。

第6腳(臨界 THR):當此腳位電高於2/3Vcc時,會使第三腳(OUT)輸出為低態,且讓第7腳(DIS)對地短路。

第7腳(放電 DIS):與第3腳(OUT)同步動作,第3腳輸出高態則第7腳對地開路;第3腳輸出低態第7腳對地短路。

第8腳(電源Vcc):接至電源正極

 

  以TI生產的 NC555為例,最高可接至18V電源,輸出腳可輸出200mA,使用時也要注意負載有沒有超出額定功率。而這次元件和工作模式都和上面提到的文章:[ 電路設計軟體Multisim Blue ] 自己來設計一個腳踏車方向燈吧!一樣。

 

  頻率公式 f = 

 

  我們將頻率設定成1Hz,並使用常見的電子元件得到元件數值:R1=51kΩ、R2=47kΩ、C=10μF。(由於電阻與電容的製造誤差,出來的時間無法太精準。)連接完成後接上電源,LED燈就會一秒一秒閃爍了!

圖5 成果

 

成果影片:

 

  為什麼我們在今日仍需要555 IC呢?因為,555的發明讓只想產生簡易時脈功能的Maker,不必仰賴MCU去編寫一個相似於Arduino裡的「Blink」程式,更能降低生產成本且電路也很簡單。而555的應用還不只這些,許多有關脈波的應用,例如伺服馬達(Servo motor)控制電路;以及頻率應用,例如音調產生器(Tone Generator)⋯⋯等等,讀者們還可以發揮創造力與想像力來運用555 IC。

 

延伸挑戰:

  1. 既然頻率可由公式計算出來,我們是否可把R1、R2以可變電阻取代呢?會產生甚麼變化呢?

  2. 若把可變電阻改成光敏電阻、熱敏電阻,又有什麼應用呢?

  3. 若把第3腳(OUT)連接至小型揚聲器上,會有甚麼事情發生呢?

 

相關文章

[Arduino專題好用] 自己製作Arduino擴充板,使用Multism Blue

 

設計/撰寫者

皓云/鈺莨

時間

三小時

難度

***

材料表

今日要跟大家分享的作品是Arduino馬達擴充板,我們在作馬達控制的專題,尤其要接兩顆馬達的時候(例如:自走車),如果直接接Arduino,可能會因為Arduino的電流太小而推不動馬達,或是馬達電流太大把Arduino燒壞的風險,所以必須要外接馬達驅動晶片L298N。

當我們在做專題時,都會先用杜邦線接,但是馬達驅動晶片的腳位很多,接好之後如果要帶去展示時,在運送過程中難免會有杜邦線脫落的現象,造成要查線路的問題,畫擴充板便可以解決這個問題。

那麼作成擴充板的形式還有何麼好處呢?

  • 馬達驅動晶片接線複雜,可以減少電路斷路的風險
  • 將常用的元件焊在一起,具有獨特功能性
  • 利用擴充板形式可以節省空間,好收納
  • 可以小型量產

在繪製之前必須要先下載Arduino的所需檔案

本文是用Multism Blue的電路軟體來繪製,下載軟體及安裝步驟請參閱:

[不錯用的電路設計軟體Multisim Blue]手把手安裝教學

我們的目標就是要畫出下列的接線示意圖:

圖2

Arduino接腳對應馬達驅動晶片

ArduinoL293D
D3P15
D5P10
D6P7
D9P2
5VP1、9、16
GNDP4、5、12、13

 

 

繪製Arduino擴充板電路圖

1.先開啟舊檔,先匯入 『arduino_uno.ms14』的檔案

圖3

 

2.開啟之後會是Arduino 的電路圖,和l293d馬達驅動晶片底座,為什麼說是馬達驅動晶片底座呢?

因為實際上是鑽16個孔再把馬達驅動晶片底座焊在擴充板上,另外再把l293d嵌入在底座上面,如果l293d燒壞,還可以鑷子更換l293d。

 

圖4

 

3.新增電路的電壓Vcc元件,也就是Arduino所提供的5V

「Source 」→「POWER_SOURCES」→「VCC」 → 點選「OK」

圖5

 

  1. 新增兩個Vcc 元件連接在l293d的1、9、16號腳位

圖6

 

5.再新增接地線共地,以保持電位為零。

「Source」 →「GROUND」 → 點選「OK」

 

圖7

 

6.一樣也是新增兩個接地線接到L293D的4、5、12、13號腳位

圖8

 

 

7.新增當頁接頭,這功能是Multism Blue特點之一

  • 可以取代了從l293d的腳位直接拉線到Arduino腳位的線路複雜度
  • 畫面較為簡潔,能快速了解線路

 

在選項欄位的「Place」→「Connect」→「On-page  connector」

圖9

 

圖10

 

8.選擇IO3,即是代表Arduino的腳位

圖11

 

圖12

 

 

  1. 重複7、8的步驟,另外在新增接頭IO5、 IO6、 IO9

圖13

 

 

10.將IO3、IO5、 IO6、 IO9分別接到l293d的15、10、7、2腳位

11.繪製輸出三個端子台來外接電池和2顆馬達,這種端子台上方有螺絲孔,可用一字起子轉鬆,將馬達或電池的單芯線插入孔內,再利用一字起子轉緊即可完成線路連接。

 

到「Mouser Database」→「Connectors」 →

「CONN_SCREW_TERM_Phoenix_Contact」→「1715721」

圖15

 

  1. 查詢元件相關資料
    有些電路符號都長得很類似,如果想知道實體元件長得如何,可以在上圖第5個步驟有元件的網路連結提供查閱相關資訊

圖16

 

  1. 一個接l293d的3號和5號腳位;一個接l293d的14號和11號腳位;另一個則是接l293d的8號腳位及接地。

圖17

 


將電路圖轉成PCB

 

14.在MultisimBlue電路圖繪製完成之後,再來就是將電路圖轉換成PCB繪圖軟體檔案

欄位上的「Transfer」→「Transfer to Ultiboard」→「Transfer to Ultiboard 14.0」

 

圖18

 

15.轉換完畢之後,MultisimBlue會開啟另一個PCB繪圖軟體,在電路圖中電子元件的接線,會在PCB軟體轉換成預拉線。

圖19
16. 刪除長方形黃色外板框

在左邊PCB欄位,點選兩下Board Outline,Board Outline即是外板框的意思,就是板子的外型,可以任意改變形狀。

[ 電路設計軟體Multisim Blue ] 花朵、小雞、金魚造型LED燈設計 外板框就是設計成圓形。

 

圖20

 

點選黃色外板框之後會變成虛線,之後按下鍵盤的「Delete」,即可刪除。

圖21

 

 

17.匯入Arduino 外板框

「File」→ 「Import」→「DXF」

圖22

 

然後選取『arduino_un.DXF』檔案

圖23

 

在「Ultiboad layer 」裡,有下拉式選單選擇「Board Outline」,再將把所有的單位改成mm(重要)。

圖24

 

18.匯入後需將Arduino外板框回歸到原點(就是白色的十字),要把所有的外框線設為群組,這樣所有的外框線就會一起移動。

 

首先將全選外框線

圖25

 

在外框線上按滑鼠右鍵選擇「Group selection」,再按「Properties」

圖26

 

 

 

會進到 「Group Properties」 裡 ,在分頁的「Position」的X、Y欄位分別都填上0,單位記得也要改成mm。

圖27

 

19.解除群組,一樣也是先框住所有的外框線,按右鍵選擇「Ungroup selection」,這樣的作法是為了要把元件放進外板框裡,如果沒有解除群組,元件就會把外板框擠掉而放不進去。

圖28

 

 

20.將Arduino的腳位和其他電子元件排列,先排列Arduino腳位,之後再放其他元件。

 

網路上有網友繪製出Arduino的尺寸圖,原點一樣也是在左下角,但是圖中所有尺寸皆是mil,必須換成mm(1mil = 0.0254mm ),也就是所有尺寸皆乘上0.0254。

 

圖29

 

(圖片來源: https://blog.arduino.cc/2011/01/05/nice-drawings-of-the-arduino-uno-and-mega-2560/)

 

 

將上述的尺寸轉換成座標,便可以定義出Arduino 腳位配置圖,這邊單位一律為mm。

圖30

 

現在座標已經定義出來了,這邊在畫上圖中J1、J2、J4、IOL時,我要怎麼知道位置是對的呢?以J4為例,在其中一個腳位(就是藍色圈圈)中按下滑鼠右鍵,點選「Properties」,會跑出「Through Hole Pin Properties」的視窗,分頁選「General」,欄位上有「Net」,就知道這個腳位是Arduino的8號腳位了,其他以此類推。

圖31

圖32

 

知道了大概的位置之後接下來要輸入座標,繼續以J4座標(30.22,50.8)為例,點選整個J4元件(注意圖33中虛線),在按一下滑鼠右鍵,點選「Properties」,會跑出「 Group Properties」的視窗,分頁選「Position」,在X欄位輸入30.22,Y欄位輸入50.8,單位選mm,其他腳位以此類推。

圖33

圖34

 

排列好Arduino腳位後,再依序把其他元件排至適當位置

圖35

 

21.點選 ,可以快速佈線。

圖36

22.調整線徑的寬度

[ 電路設計軟體Multisim Blue ] 花朵、小雞、金魚造型LED燈設計的內文有提到: 『設計電路板時,線徑的大小與電磁干擾成反比,線的長度與電磁干擾成正比為了降低不必要的電磁干擾,將線徑加寬。』,在此我們設定0.5mm。

 

我們如果只要選線路,單單對線路做改變的話,只需要打開,再把其他選項關閉,便可以只選線,而不會選到其他元件。

圖37

 

選取所有線路之後按右鍵,一樣點選「Properties」,會出現「Trace  Properties」 視窗 ,「General」分頁欄位有「Width」,填入0.5。

圖38

 

之後會出現會有紅色圈圈的出現,左下角的「DRC」也開始變紅色為警示效果,是因為線和線之間太靠近,還需要做一些調整。

圖39

 

將線路整理

 

圖40

 

23.調整好之後可以按下,做3D預覽查看元件排列位置,焊錫走線是否一致。

 

圖41

 

[Micro:bit] 使用DFROBOT BOSON套件設計智慧小屋

在本篇文章中,我們將介紹如何用micro:bit和DFROBOT BOSON套件打造智慧小屋,套件上安裝孔位與樂高相容,組裝上更方便了。

我們將實做三個特別的功能,第一個是能夠根據環境光源自動調整亮度的LED燈,第二是設計一個可以按鈕控制吊扇,第三則是做出一個地震警報器。

作者/攝影  袁佑緣
時間  3小時
成本 放課後的製作時間便是我的成本
難度  * * *
材料表
  • Micro:bit
  • 樂高積木
  • Micro:bit Boson 擴充板

準備工作

Microbit and Boson Kit

 

在這篇文章中,我們將使用BBC推出的Micro:bit開發板來當作是我們智慧屋的控制器。

為了要能夠控制智慧屋中的電子元件,也就是上面的感測器與制動器,除了原本的Micro:bit之外,我們還要額外裝上一塊DFRobot推出的Boson擴充板來控制Boson Kit中的電子模組。

如果讀者想獲得關於 Boson Kit更進一步的資訊的話,不妨去以下的網站觀看詳細的介紹喔。 (https://www.dfrobot.com/boson).

以下是我們在本篇文章中,我們將會用到的Boson電子積木有LED、按鈕、傾斜、風扇、聲音、光感應。

1.Light Sensor Module
2.LED Module
3.Button Module
4.Fan Module
5.Tilt Sensor Module
6.Buzzer Module

Mu editor

接下來,為了要撰寫micro:bit的micro python 程式碼,我們需要去下載以下的編輯器:Mu Editor(https://github.com/mu-editor/mu/releases).

此外,我們也建議讀者可以去官方的文件查看Micro Python API for Micro:bit (https://microbit-micropython.readthedocs.io/en/0.9/)的詳細使用說明,裡面還有許多的範例教學可以參考喔!

硬體

以下的圖片是本文所使用的雙層樂高屋以及樂高屋內部的構造。

注意到除了一般水平放置的Boson元件可以接在樂高的平板上,一些懸掛的Boson元件可以用其他的方式固定在樂高小屋上面,例如下圖中使用BOSON的中間積木,我們使用金屬螺絲與螺絲帽固定,底座固定之後,Boson電子元件就可以用磁力吸附在上面。

範例教學

 

接下來我們就來在 Mu Editor中撰寫 Micro Python吧!

 

1. 小夜燈

在第一個範例中,我們將原本的LED燈擴充成可以自動調整亮度的LED燈,更進一步它能根據環境光的亮度適當地調整LED燈亮度。

於是我們要在LED燈上再加上一個光源感測器,如下圖。

首先,我們必須先用以下的程式碼來去偵測光源感測器的最大最小值,而為了要讓數值更精確一點,我們讓程式在一段時間內的對光感值進行取樣,將光感值加總後再依取樣的次數做平均,經過計算就能得我們想要的平均值。

 

night-light-measure.py

from microbit import *

light_sensor = pin1.read_analog()
counter = 0
timer = running_time()

while (running_time() - timer) <= 3 * 1000:
    light_sensor += pin1.read_analog()
    counter += 1

light_sensor /= counter
print("mean light sensor value: ", light_sensor)

打開Mu Editor的REPL視窗,並在有環境光跟沒有環境光的情況下執行程式,你將會得到如下圖的光源平均值,當環境光很亮時的平均亮值是900多,環境光很暗時的平均暗值10多。

接下來,我們將前面求出的平均亮值跟平均暗值,帶入到變數ligjt跟dark中,將這兩個數值作為最大值與最小值,是按照比例換算成Micro:bit的類比角為數值,控制LED燈的亮度。

 

算式:

((light – light_sensor)/(light – dark)*1023)

比如:light=966、dark=14,數值範圍為952。現在讀到一個光感數值為500,帶入算式((966-500)/(952))*1023 = 500,最後micro:bit的類比輸出值為500。

 

night-light.py

from microbit import *

light_sensor = pin1.read_analog()
counter = 0
timer = running_time()

light = 966.4033
dark = 14.81614

while True:
    light_sensor = pin1.read_analog()
    LED = int((light - light_sensor)/(light - dark)*1023)

    if LED > 1023:
        LED = 1023
    elif LED < 0:
        LED = 0

    print("LED lightness: ", LED)

    pin2.set_analog_period(1)
    pin2.write_analog(LED)
    sleep(0.5)

 

範例影片:

 

2. 吊扇設計

在第二個範例中,我們用以下簡單的程式碼來打造一個可以用按鈕控制的電風扇。

在程式中,我們用一個switch的布林變數紀錄開關的狀態,我們希望使用開關時,每次按下開關再放開,switch的狀態就會切換成相反的狀態。

注意到我們在以下的程式碼中會多加一些延遲,例如sleep(0.5),這是為了要確保可以正確的判斷到一次的開關按壓。

ceiling-fan.py

 

from microbit import *

switch = False

while True:
    if pin12.read_digital() is 1:
        while pin12.read_digital() is 1:
            sleep(0.5)
        switch = not switch
        if switch:
            pin16.write_digital(1)
            print("Turn ON")
        else:
            pin16.write_digital(0)
            print("Turn OFF")

 

3.地震警報器

 

在第三個範例中我們將實做一個安裝在小屋的地震警報器。

為了要偵測到小屋的晃動,我們使用一個傾斜感測器,並在每一次的迴圈中,觀察一小斷時間中的傾斜變化。

如果說屋子靜止不動的話,隨著時間的傾斜變化量應該是完全是零,所以我們只要去計算一段時間的變化是否為零的話,就能推出此時是否有地震的發生。

 

而如果偵測到有地震發生的話,程式會播放一段音樂作為地震的警報,播放音樂的方式直接使用Micro Python內建的music函式庫,music函式庫預設輸出聲音為0號腳位,驅動蜂鳴器發出聲音。

 

如果想自己設計音樂的話,不妨去以下網址查看micro python的範例(https://microbit-micropython.readthedocs.io/en/0.9/music.html),裡面有介紹如何用指定的音符做特定的旋律。

alarm.py

from microbit import *
import music

status = pin8.read_digital()

def detect_shake():
    old_tilt_status = pin8.read_digital()
    sleep(0.1)
    new_tilt_status = pin8.read_digital()
    return abs(new_tilt_status - old_tilt_status)

while True:
    counter = 0
    timer = running_time()
    shake = detect_shake()
    while (running_time() - timer) <= 500:
        shake += detect_shake()
        counter += 1

    status = shake/counter
    print(status)

    if status is not 0.0:
        print("Alarm!!!")
        music.play(music.DADADADUM)

 

範例影片:

 

相關文章:

 

 

[開箱]DFRobot Boson Starter Kit for BBC micro:bit

作者/攝影  曾吉弘
時間  30分鐘
成本
  • DFRobot Boson Starter Kit for BBC micro:bit
難度  *
材料表
  • DFRobot Boson Starter Kit for BBC micro:bit

本文要介紹DFRobot公司針對BBC micro:bit所推出的 BOSON kit 套件包(micro:bit另購),這樣可以讓您的專題更豐富喔

感謝DFRobot很快就寄出一套給我們玩,這次封面的色調走粉色系,看起來非常舒服。

其中最重要的就是這片micro:bit擴充板囉,上面有電源開關、六個周邊接頭、音量鍵以及耳機插孔(之前用microbit居然要剪線… 覺得不太方便)。當然原本板子上的0、1、2、3V與GND鱷魚夾頭也都在喔

 

盒子裡面有哪些東西呢?

  • micro:bit 之Boson 擴充板 x 1
  • 紅色按鈕 x 1
  • 紅色 LED 模組 x 1
  • 旋轉感測器(旋鈕式電位計) x 1
  • 聲音感測器 x 1
  • 動作感測器 x 1
  • 迷你風扇模組 x 1
  • 迷你伺服機 x 1
  • RGB LED 燈條 x 1
  • Micro USB 傳輸線 x 1
  • 3-Pin 傳輸線(連接microbit 與模組),短中各數條
  • 教學色卡 1批

 

盒子裡面提供了很多有趣的範例,馬上就可以開始玩喔,例如以下的彩虹燈,可以根據旋鈕來調整燈光顏色~

看看這些色卡,真的很漂亮。有四個馬上可以做出來的小專題喔!

(*圖片經同意引用自DFRobot網站)

 

相關文章:

 

 

DesignSpark 新軟體 Electrical – 電子領域的 CAD 軟體

DesignSpark 推出新軟體了:Electrical,這是一套新款、免費,針對希望節省設計時間並降低錯誤的專業工程人員所量身訂做的電子 CAD 軟體解決方案。有了 DesignSpark Electrical,您也能免費取得企業級的 CAD 功能服務。

RS 原廠下載頁面與教學請按我

 

dselectrical

主要功能

您可運用本軟體來搞定麻煩的 2D 軟體以及多重程式工作環境:

  • 自動連線與元件編號
  • 智慧型系統變更,各種修正可直接配置到整體設計案
  • 即時產生物料表 (BOM) – 可快速透過 RS 訂貨
  • 立即性的正確性與參照檢查
  • 超完整的零件庫,光是來自施耐德電機 (Schneider Electric) 就高達八萬種。

150919 CAVEDU Day 現場有電路板體驗活動

下週六就是 CAVEDU Day囉,針對近來愈來愈多朋友詢問如何自行製作電路板,以便讓專案更小更貼近個人需求(Arduino UNO有時候還是大了點)。因此在 9/19 活動現場我們有舉辦了兩梯 PCB 電路板製作體驗活動,會有專業講師協助您理解原理並操作相關設備,最後可以帶一片小小電路板當作紀念品帶回家喔。

網路報名請點我,並在 “是否要報名現場的PCB電路製作體驗活動” 這個問題勾選”我要參加”就完成報名,期待您大駕光臨。

11169167_10204873246378715_592199908480625636_n

請提前10分鐘報到,未到者視同棄權。活動開始前10分鐘開放現場報名

第一梯 13:30~14:30 /  第二梯 1500~1600

流程

原理介紹與安全措施 10 min

繪製底圖 10 min

曝光 10 min

顯影 10 min

蝕刻 10 min

相關教學

使用 DesignSpark PCB 自行設計電路板

使用 DesignSpark PCB 自行設計電路板

颱風假隔天,CAVEDU 實習生齊聚一堂,學習如何使用 DesignSpark PCB 自行設計電路板。在使用 Arduino 製作各式專題之後,是否覺得 麵包板上的元件鬆垮垮且太佔空間嗎?這時候進階玩家就會想要根據自己的需求來做一片小而美的電路板來用於某個專題了。繪製電路板的軟體種類繁多,免費的話主要有 EAGLE 與 DesignSpark PCB 等。大致上來說就是在板子上配置好孔位之後,再佈線就可以了。說是這麼說,軟體會告訴您哪邊發生干涉以及線路未導通等等問題,也是要花一段時間才能上手喔!

有這樣的想法,但不知從何下手嗎?請按照本文中的投影片來操作就可以學會了,當然您如果真的想要做一片出來的話,需要購買一些設備(例如顯影機與蝕刻機等),也請注意蝕刻劑含強酸與重金屬,操作時請務必處於通風良好且有妥善之回收設備,不可以亂倒廢水!

參考資料:

 

請參考本日教學投影片



 

接下來是實作過程。如果您想要自己玩玩看,可以來 CAVEDU 喔。也歡迎學校找我們去辦研習,合格者會頒發 RS Components 原廠訓練證書。

大致的步驟如下:

  1.  繪製電路圖
  2. 使用投影紙列印出來
  3.  曝光,使用曝光機
  4.  顯影,需有顯影劑
  5.  放入氣泡蝕刻機來蝕刻
  6.  完工啦

 

 

11181281_10200587669210768_458877654274193490_n
氣泡蝕刻機,開始洗電路板囉

洗洗洗~

11745328_10200587669050764_8130475549668156323_n

把電路板用酒精擦乾淨就完工了

11169167_10204873246378715_592199908480625636_n

按下按鈕,LED 就可以亮起來啦,真是感動呢 (純電路沒有使用 Arduino 來寫程式喔)

11233266_10204871072164361_5790791115506954773_n

150712 漫談 DIY 二輪平衡車 @FutureWard 未來產房

還記得 Maker Faire Taipei 的二輪平衡車大賽嗎?本活動將請到開發團隊與您分享開發秘辛,介紹如何採買零件、製作組裝與編寫關鍵的自平衡程式。呼呼,多少燒焦的血淚啊~  到場的三個團隊分別使用不同的開發板,也是很有趣的現象喔( Arduino 、Raspberry Pi 與 LinkIt ONE)

時間:7/12 13:00~ 16:00

地點:FutureWard 未來產房 (大同大學進校門走路約 3 分鐘)

參與講者:Maker Faire 二輪平衡車大賽參賽團隊:MediaTek Labs、馥林文化、CAVEDU

請直接到 Facebook 活動頁面報名,免費參加喔!

1300-1330:開場

1330-1500:開發團隊分享會

1500-1600:交流與體驗

IMG_1176  IMG_1108IMG_1193   IMG_1115

 

神秘出場:大腳二輪平衡車(桌上型,不能載人喔!

11655454_10205894993151817_451672063_n

[雙A計劃] Part5:Paperduino 藍牙控制 LED 閃爍

引用網址「[paperduino]android control led」

大家好  我是偉和,本篇將會教導各位如何利用App Inventor控制Paperduino。就是先前的 Arduino 換成自製的 Paperduino,小小一片的功能也是很不錯的。

Paperduino 製作請按我(程式需使用專用的Arduino IDE)

[雙A計畫] 常見問題整理

       [雙A計畫] 藍芽模組(HC05/06)常用指令教學

[雙A計劃] Part0:App Inventor 透過藍牙傳送訊號給 Arduino

[雙A計劃] Part1:App Inventor 經由藍牙控制 Arduino LED 亮滅

[雙A計劃] Part2:App Inventor 經由藍牙控制 Arduino LED 漸明漸暗

[雙A計劃] Part3:Android 手機透過藍牙接收 Arduino 類比腳位狀態

[雙A計劃] Part4:App Inventor 藍牙遙控 Arduino 雙輪機器人

[雙A計畫] Part6:Arduino 傳兩筆資料到 Android 手機

[雙A計劃] Part7:Arduino超音波感測距離回傳數值給Android手機

[雙A計劃] Part8:Android 手機對 Arduino 同時進行資料收發

先來看影片:

Continue reading

線上電路模擬軟體 EveryCircuit,還有Android與iOS版

線上電路模擬軟體 EveryCircuit,還有Android與 iOS 版。專業版是需要付費的,但是您可以先使用基本功能來玩玩看。直接在網頁中就能拉出各類電路,能做到線上模擬,觀看電壓,電流與電阻等數值的即時變化,還有豐富的教學與網友分享,很有與 123D Circuit 一別苗頭的味道。

以下圖來說,您可以直接調整 time interval,方便您觀看電壓的變化。

螢幕快照 2014-10-31 下午9.21.07來看影片吧:

 

141022 吹氣耳朵燈工作坊@FabCafe Taipei

電子電路的東西總是帶給你冰冷的感覺嗎?FabCafe Taipei CAVEDU教育團隊 要讓大家對互動改觀囉!這次帶給大家的是有趣又有點害羞的吹氣互動燈,從電子電路的教學、接線到組裝,一步一步完成臉紅心跳的吹氣燈吧!

報名網址請按我

活動名額:10人

體驗價:NT$1200(包含所有材料費)

活動時間:10/22(三) 6:30pm-9:30pm

活動地點:FabCafe Taipei (台北市八德路一段1號 華山文創園區中三館)

聯絡電話:02-332247492420eb208b074d66a0a9fc31135f19fb

 

附上 FabCafe 的宣傳照,好害羞的港覺,耳朵都癢了

10291054_852242898140871_1797804174478718375_n

『分靈體』展場感應燈互動牆

經過五月底的Maker盛事Maker Faire之後

軟滑小編趕回學校繼續學校的展覽

這是一個關於淡江大學社團學習與實作課程的成果展

可以追朔至三年前開始的第一屆社團必修學分開始

而小編在這個名為北極星服務團的團隊裡是擔任學生總監

主要是在學生學習成效以及課外活動能力氛圍營造兩大塊去專案

 

這次的展覽裡面運用到自己在CAVEDU學到的感應燈(希望可以在任何地方都慢慢地貼上CAVEDU的影子 哈)

就是在『學院特質剖析』這面牆上的白色小盒子,當展場的燈開啟時並不會發光,反而是會在手揮過去的時候發光。

其實這只是展場的小活動,叫做『分靈體』-尋找自我價值。

校長跟學務長看到的時候都頻頻誇讚喔!

(照片裡面的女孩們就是軟滑的學生面組員們喔!)

IMG_3325

許多人看到之後都覺得很酷,但是其實電路並不會很難喔!

就只是使用了核爆燈的電路而已

不過還是在努力製作的過程中遇到了很多問題

1. 電晶體若是要焊在洞洞版上,不能直接焊,可能會使電晶體過熱壞掉

2.光敏電阻若是沒有要外露就可以買大顆一點的(15元那種既可),會使電路更為敏感有趣

3.以後預算要掌控好才不會總是買錯材料

4.可以先做好一個之後拿到展場測試,才不會到現場才發現現場的燈其實夠強

 

材料清單(一個計算)

C9013 NPN電晶體 x1

精密可變電阻(100歐姆) x1

食人魚燈三段變色x1(很亮,請小心眼睛)

光敏電阻x1

100歐姆電阻x1

10364093_887834047900127_1033485876_n

食人魚燈的接法,由上往下看,將切角置於右上角。

左邊兩隻腳就是正極,右邊兩隻腳是負極。

能夠承受的伏特數是2~3V(這是問電子零件行阿姨的)

實際測試可以到5V(在有接100歐姆電阻的情況下)

 

盒子的部分是使用之前辦活動留下來的塑膠版,稍微有點透明,雖然不像之前核爆燈的盒子那麼精美。

不過能省就盡量省囉!(而且時間也迫在眉睫)

 

10363837_890711524279046_776358095_n

 

來看一下實際的使用方法吧!

[youtube=https://www.youtube.com/watch?v=xY3ub44tQJA]

 

延伸閱讀:

核爆感應燈工作坊 – 使用 DesignSpark PCB 轉成 PCB板電路

140315   核爆感應燈@國北教大玩具與遊戲設計研究所

核爆感應燈製作投影片來囉

[電工好物] Wire Stripping Gauge by breadboardmaniac

http://breadboardmaniac.com/?p=506&lang=en

工欲善其事,必先利其器。身為專業的 maker,有一把好用的工具在手是很重要的。今天要介紹的是breadboardmaniac 公司所出品的 wire stripping Gauge。這是一個多功能的剝線器, 除了方便測量剝線長度之外, 還可以折彎與晶片整腳,是相當實用的電工小物喔!

breadboardmaniac 這家日本公司的同仁也會在5/24, 25 的 Maker Faire 來台擺攤,大家可以來現場看看。

另外日後 breadboardmaniac 的商品就會由我們代理,歡迎購買。

下圖是與剝線鉗組合起來的樣子,正反面,有一個固定用的螺絲。

2014-05-14 16.07.32  2014-05-14 16.07.40

640_480_07-300x225

 

上面的溝槽是用來彎電阻與電線,輕輕一拉就有漂亮的90度,您的電線與電阻從此貼的整整齊齊,不會再長得像風之谷的王蟲了

640_480_05

 

您的麵包板上的諸多電線不會再長得像風之谷王蟲一樣了

640_480_08s-150x150   images (1)

另外也有晶片整腳的功能,只要把晶片往內一推,所有腳位整整齊齊喔

640_480_04

使用時,一樣根據您所選用的線材,把線推到底一夾一拉,搞定

2014-05-14 16.08.21

2014-05-14 16.08.192014-05-14 16.08.24

背面刻紋直接對應麵包板的孔距

2014-05-14 16.11.07 2014-05-14 16.11.26