1. 程式人生 > >手把手教你做智慧LED燈(一) 功能規劃與設計方案

手把手教你做智慧LED燈(一) 功能規劃與設計方案

前言

智慧硬體有意思,現在市場上有很多針對普通消費者的智慧硬體。例如,智慧燈泡、智慧插座、智慧電子秤,甚至無人飛行器。拋開這些智慧裝置實現的功能不談,它們的實現原理都是大同小異:通過手機的藍芽(或者wifi網路),連線智慧硬體上的藍芽模組,向藍芽模組傳送各種控制命令,讓硬體工作起來。

也許你只是個普通的軟體開發者,對硬體毫無概念,也不要著急,我們向純軟體開發者推薦一個很好的智慧硬體入門平臺Arduino,以此為基礎,逐步熟悉智慧硬體開發。

萬事開頭難,本章將從最簡單的智慧LED燈開始,向大家介紹一個智慧硬體是如何設計並實現的。

當本章完成之後,大家將會得到如下圖的作品,

並且可以通過手機控制LED燈的明暗強弱。

本文針對的讀者是:

  1. 對智慧開發感興趣的初學者;
  2. 對安卓開發有初步的瞭解(假如毫無安卓開發的能力,請參看《手把手教你安卓入門》,快速上手安卓應用開發);

在開始以前,假設各位已經做好了如下準備:

  • 一臺Windows系統(Win7 Win8 Win10)的電腦(桌上型電腦或筆記本);
  • 一部具有藍芽功能的安卓系統裝置(手機或平板電腦);
  • 一根連線電腦和安卓裝置的資料線(通常是micro usb資料線);
  • 四根Arduino線纜;
  • Arduino MEGA開發板;
  • 一根連線電腦和Arduino開發板的資料線;
  • 一個外接藍芽模組(HC06或者HC05);
  • 一個LED顯示燈;
  • 一個按鈕開關
  • 若干積木零件;
  • 一到兩天時間;
  • 耐心與求知慾。

*以上需要使用到的硬體開發板或者感測器可以在我們的安豆雜貨鋪中選購。

另外,在開始以前,我們強烈建議大家首先閱讀我們釋出的5篇智慧硬體相關文章:
我選Arduino
從Hello world開始
控制LED燈
藍芽傳輸
按鈕開關

我們所有的內容都是建立在這四篇文件的基礎之上的。

本文的程式碼,可以從安豆網示例程式碼中下載。

***************************************

本系列課程使用到的Arduino開發板、擴充套件板以及其他相關的感測器,各位可以根據我們文章中介紹的硬體在淘寶網選購。
您也可以在我們的網店

跟我學Arduino開發中購買,這些相關硬體都由我們為您把關購買,為大家節省選擇的精力與時間。同時也感謝大家對我們這些碼農的支援。

最後再次感謝各位讀者對安豆的支援,謝謝:)

第1節 功能規劃與設計方案

1.1 功能定義

LED燈的功能很簡單,

  1. LED燈通過藍芽模組收到開啟或者關閉的命令,並根據命令進行對應的操作;
  2. LED燈收到調節當前燈光強弱的命令,並根據收到的亮度值做相應的操作;
  3. LED燈的藍芽模組處於被連線狀態,隨時準備被其他控制裝置連線;
  4. 安卓手機端的控制軟體能搜尋、發現並連線到LED燈的藍芽模組;
  5. 安卓手機端的控制軟體能傳送控制命令到LED燈,開啟關閉LED燈,並調節LED燈的亮度;
  6. LED燈要有個實體的開關,能夠開啟關閉LED燈;
  7. LED燈的外觀要簡潔實用,便於普通人組裝;

1.2 設計方案

作為一個智慧硬體,需要考慮三個方面的設計:硬體功能、硬體結構、手機控制軟體。

1.2.1 硬體功能

硬體開發需要儲備很多的硬體知識,需要多年的實際經驗,這對於新手或是純軟體開發者來說是個不小的門檻。因此,我們選擇採用一套簡單的硬體開發平臺來幫助我們這些小白們解決這個問題。

Arduino是一個使用非常簡單的硬體開發平臺,利用它,任何軟體開發者都可以在對硬體幾乎一無所知的情況下進行智慧硬體的開發。

Arduino開發板有多種型號,這裡我們選擇Arduino MEGA開發板作為智慧硬體的控制板。

開發板外接的LED燈模組大同小異,都是3個引腳,需要將它們連線到Arduino開發板上。

開發板外接的藍芽模組,我們選擇HC-06,將它們連線到Arduino開發板上。

開發板要外接一個按鈕開關,用來控制LED燈的開關。

為了在開發板上同時接入多個感測器器件,需要使用擴充套件板,

將以上元件連線以後就具備了通過藍芽接收命令,控制LED燈亮度開關的功能。

為了節省大家選購這些器件的時間、精力、和經費,我們將它們打包成了Arduino 開發套件的套裝版,放在安豆雜貨鋪中,供大家選購。

1.2.2 硬體結構

硬體組裝好以後,需要為它設計一個簡潔實用的外殼,將開發板、連線線、LED燈包裹起來。

作為個人設計的智慧硬體,一定是個性化的產品。開發者可以採用3D模型軟體設計一個精巧的外形,然後通過3D印表機將它變成現實,再和我們之前的智慧硬體組合起來。

但是3D建模也是需要花費一定時間和精力學習的。這裡我們準備採用積木拼接的方式搭建一個LED燈的外部結構。積木顆粒眾多,可以隨意插入和拆卸,可定製性很高,各位開發者也可以根據自己的創意隨意的修改外形,設計成世界上獨一無二的智慧LED燈。

1.2.3 手機控制軟體

手機端需要控制LED燈,它的介面流程圖如下,

  1. 啟動控制軟體;
  2. 查詢要連線的藍芽模組,點選連線;
  3. 連線成功後,拖動滑塊,調節燈光的亮度;

/*******************************************************************/

本系列課程使用到的Arduino開發板、擴充套件板以及其他相關的感測器,各位可以根據我們文章中介紹的硬體在淘寶網選購。
您也可以在我們的網店跟我學Arduino程式設計中購買,這些相關硬體都由我們為您把關購買,為大家節省選擇的精力與時間。同時也感謝大家對我們這些碼農的支援。

最後再次感謝各位讀者對安豆的支援,謝謝:)

/*******************************************************************/