LoginSignup
14
15

More than 5 years have passed since last update.

ソフトウェアエンジニアのためのArduino入門

Last updated at Posted at 2017-12-04

はじめに

Arduino沼へようこそ!!
この記事は、ソフトウェアエンジニアがArduino沼にハマった経験を活かし、仲間を増やすため、沼へ引きずりこむことを目的として書いています!

自分のきっかけ

昔のマイコンは高かった。開発環境も有料が多かったし、情報も少なかった。
互換機安い!500円ぐらい!
勉強がてら、何か作ってみよう!あわよくば売って儲けよう!
って流れで吸い込まれていきました。

Arduinoのいいところ

①安い

AmazonでUno互換機が500円ぐらい。Nano互換機が300円ぐらい。Digispark互換機で250円。
Aliexpressとかで中国輸入するとさらに安く入手できます。
正規品は、3000円ぐらいです。
互換機ばっかり買って、本家に還元なくて悪いなーと思う方は、寄付もできます!

②情報が多い

本家(英語)
チュートリアル、フォーラム等。

Arduino 日本語リファレンス

その他、たくさーーんのブログなど。
「Arduino やりたいこと」、パーツ名、型番で検索すると、だいたい情報が見つかります。

③コミュニティがある

Arduinoのすごいところは、SW・HW・開発環境・コミュニティが揃っているところだと思います。
本家のフォーラムは世界中から書き込みがあるようです。
日本では、Arduinoファンというグループが活発に活動されています。頻繁にもくもく会(みんなでもくもく作る会)を開催されています。

④オープンソースソフトウェア、オープンソースハードウェア

ソースはもちろん、ハード:回路図や部品の情報も公開されています!!
自分でパーツ集めて、互換機作ってもいいよ!売ってもいいよ!という決まりです。
Arduinoという名前やロゴの使い方に制約があるみたい。

⑤組込みの勉強になる

組み込み開発には、Webやアプリ、Winのソフトとはちょっと違った知識が必要です。
いきなり業務でやるには難しいですし、家で業務と同じ環境を作るのは難しいです。
そこでArduino!
基本的な考え方や、メモリの制約、I2CやSRAMとか勉強になりました。
あと、組込みの基本的な技術は陳腐化しにくいと思っています。
20年前の組込の技術がそのまま今でも役に立つと思います。

PHPのフレームワーク多すぎー!
CMSの種類多すぎー!
JSのライブラリ多すぎー!
AngularJSわかんねー!
Objective-C?Swift?
JAVA?Kotlin?
HTML5?Monaca?Xamarin?PhoneGap?
ふぁぁーーーー!!!!
覚えること多すぎー!!
と思っているあなた!!!安住の地へようこそ!
Arduinoは世界中で流行っており、マイコン入門のデファクトスタンダードと言っても過言ではないと思います。
今流行りのIoTやってみようってのにも対応できますよ!!

言語は?

基本はC++。Arduino言語と呼ばれているみたい。
ここはクリアしていれば、「Arduinoちょっとできる」の半分できたも同然です!!

JSで動かす方法もあるみたい。
RUBYやPythonで動かせるマイコンもあるみたい。最後のその他のマイコンを参照。

スクラッチでも動かせます!
Arduino専用ビジュアルエディタBlocklyDuinoの使い方

どんなことができるの?

Lチカ(LEDチカチカ)=電子工作界の「Hello World」
カラーLEDをド派手にピカピカ(ギャル電的な)
サーボモータで、
 マウスをずっと動かす君
 電源ON/OFF連続試験治具
LED点灯しているか判定マシン(HWの試験治具に)
3Dプリンタ、CNC、レーザーカッターのコントローラ部分にも使われていたりします。
USB機器を作る。キーボードを作る。
なんでもできます!なんでも!(気持ちだけで発言)

自分の作ったプロジェクト

XFD

アラーム君
見える!「IoT」 NefryでJenkinsのXFD作ってみた

スペースデジミン

「スペース・デジミン」Arduinoと赤外線センサーを使ったテルミンデバイス

モヒートマシン

FABLAB北加賀屋のプロジェクトに参加しました。
動画
説明(作成中)

時代はメイカー!
DIY!

環境構築

Arduino IDEをインストールします。
互換機はCH340というドライバ入れる必要があります。
そう、ソフトウェアエンジニアなら余裕ですね。

ライブラリ

便利なライブラリがたくさーんあります。
IDEのメニューの「ライブラリを管理」から入れるか、Zipで落としてZipでインストールか、直接ライブラリフォルダへ。
GitHubで管理されているものが多い。
詳しくはググってください。

Arduinoの種類

いろんな種類があります。
http://ideahack.me/article/134

自分が好きな、代表的なものを紹介。

  • UNO 一番ポピュラー。
  • MEGA ピン数、メモリが多い。
  • NANO 小さい。機能的にはUno相当。ピン数も同じ。

  • Pro Mini USBシリアル無し。小型。3.3vで省電力な設計もできる。

  • DigiSpark 小さい!安い!ピン数は少ない。

  • ESP8266 Wifi付きマイコン ブートローダを書くことで、ArduinoIDEでも開発できる。

  • Nefry、Nefry BT ESP8266やESP32が乗ったIoTデバイス。便利なライブラリーがセットになっているので、簡単にIoTできます!IFTTTやAWSなど、WEB系サービスとの連携もサポート!日本語の情報も多いです。

その他のマイコン

こんな感じのキーワードで調べてみてください。
IchigoJam(Basic)
mruby(ruby)
Micro Python(Python)
ラズパイ(Linux)
mbed
FPGA

あとがき

どうですか?Arduinoやりたくなってきましたね?
まずは、Unoを買って、Lチカしてみてください!
あとは、やりたいことをやりたいように!
Arduino、電子工作、楽しいですよー!!

14
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
15