2013年4月26日 星期五

How to create Arduino library

如何寫一個 Ardiono Library ?


假設要寫一個摩斯密碼(telegraph)的 library.
  1. 先在 Arduino 目錄底下(預設是/Users/XXX/Documents/Arduino)建立一個 libraries 資料夾.
  2. 建立一個資料夾取名為 Telegraph.
  3. 建立 Telegraph.h:
#ifndef Telegraph_h
#define Telegraph_h

class Telegraph
{
public:
    Telegraph();
    void send_message(const char* message); // 要公開給別人使用的 method.

private:
    ...
};

#endif
  1. 建立 Telegraph.cpp (舊版使用 WProgram.g, 新版使用 Arduino.h):
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#include "Telegraph.h"

Telegraph::Telegraph() {
    ...
}

void Telegraph::send_message(const char* message) {
    ...
}
  1. 到這邊基本上已經寫好一個 library 了, 接下來開啟一個新的 Ardiono 專案來使用:
#include <Telegraph.h>

Telegraph telegraph();

void setup() {}

void loop() {
  telegraph.send_message("Hello world");
}
更多詳細的範例原始碼可以參考這個 GitHub repository.

2013年4月14日 星期日

Hello Arduino!


說來慚愧, 去年才知道有 Arduino 這麼好玩的東西, 連國外小朋友都知道它有多火紅! (不過最近好像是某樹莓派比較牛)
好歹以前也是電子相關科系的, 想說入門應該不難, 回老家把塵封已久的高職工具包翻出來, 今年要試作一隻簡單的機器人!! 既然決心已定, 就開始做一些行前準備, 買了幾本書跟一些工具來練習:

Arduino快速上手指南


Prototyping Lab「邊做邊學」Arduino的運用實例


Make


由馥林文化代理出版, 國際中文版的雜誌, 一季一期, 訂閱一年約一千台幣, 裡面的內容很豐富, 強力推薦!

入門工具包

雖然自己有一些零件, 但是要能完成書上的作品還是有缺, 所以買了一個簡單的工具組合, 基本上拍賣網站都能找到, 價格大約都在一千元台幣上下.

猜數字遊戲


這是我的第一個實作, 也是Arduino快速上手指南的第一章, 主要的玩法是先用第一顆按鈕按出你要猜的數字, LED 會以二進位的方式顯示, 決定後再按下另外一顆按鈕, Arduino 會隨機產生一組數字, 如果玩家猜中的話, LED 燈就會閃爍.
這個小電路做完後基本上可以了解:
  • 如何在電腦上寫程式, 並上傳到 Arduino 運作.
  • 基本的電路零件知識, ex: LED, push button..
  • 如何利用 Serial 來 debug.
  • 如何利用 Serial 來傳送和接收資料.
  • 如何使用網路上別人寫好的 Library.

碰到的問題

  • 一開始電腦一直抓不到板子, 後來發現我的USB線是充電專用的 囧..

推薦工具



Source code 跟之後的專案都會放在 GitHub 上, 歡迎有興趣的人一起交流 :-)