はりうすブログ (のすけのメモ)

湘南にある小さな会社 代表 ”のすけ”のブログです

中華で始める Arduino入門日記2 PCと接続する

のすけです。 それでは、今回は実際にArduinoに触っていきたいと思います。

この連載は、爆安の中華製のArduino互換機を入手し、色々と苦しみながらも安い互換機でArduinoを学習してしまおうというものです。 入手の話はこちらから。

hollywis.hatenablog.com

今回使うArduino互換機

f:id:hollywis:20151128184840j:plain

前回ご紹介した中華キットに入っていたやつです。「UNO」とデカデカと書いてあります。 ちょっとパーツが歪んでたり、部品点数が公式品より少ない感じですね。

  • 型番:詳細不明 ArduinoUNO R3 互換製品

f:id:hollywis:20151128184933j:plain 一番左に何やらスイッチがあり、その隣にUSBの端子、一番右に黒い丸い穴が付いていますね。

f:id:hollywis:20151128184942j:plain PCと接続するためのUSBの端子はこのようになっています。PC側とArduino側で形が違います。 プリンターとかと接続するUSBと同じやつっぽいです。

接続してみる

  • 接続するPC:Macbook 2015 (OS X El Capitan: 10.11.1)
  • Arduino:ArduinoUNO R3 互換製品

まずIDEのダウンロード

下記のページからArduino IDEをダウロードします Arduino - Software

f:id:hollywis:20151120152437p:plain

そしてインストールして起動。

f:id:hollywis:20151128203847p:plain

Arduinoのロゴが表示されて起動しました。

起動したら、上部のメニューから「ツール」ー「マイコンボード」から Arduino/Genuino Uno」を選択します。

f:id:hollywis:20151128203624p:plain

これで、PC側の準備はOKなはず。

ArduinoをUSBで接続します。

f:id:hollywis:20151128204643j:plain Macbookは通常のUSBではなくUSB type-cですので、白い変換端子を付けています。 普通のPCはそのまま接続できると思います。

接続すると何やら赤いランプがつきました。

そしてPCを確認してみます。 f:id:hollywis:20151128211344p:plainツール」ー「シリアルポート」にArduinoっぽいデバイスがあれば成功なのですが、、、ありません。

そうこの中華Arduinoは、USBのモジュールを安いものに差し替えているらしく 別途ドライバーをインストールしないと動かいないそうです。

USBドライバのインストール

それでは、早速ドライバを入れていきます。

USBチップがCH340またはCH341になりますので このドライバをインストールします。 ネットで「CH340 arduino」とかで検索するといっぱい出てきます。 ⇩とかでダウンロードしましょう。(Mac以外にもWindowsLinux版もあり) http://0xcf.com/2015/03/13/chinese-arduinos-with-ch340-ch341-serial-usb-chip-on-os-x-yosemite/

⇩とか

DCcduino_ch340-drivers.zip - Google ドライブ

ダウンロードしたzipを解凍して「ch34xInstall.pkg」インストールします。

そしてPCを再起動して、もう一度Arduinoと接続してみます。

認識されない。。。

OS X El Capitan対応に疾駆八苦

どうやら、OS X El Capitanに問題があるようですね。。 インターネットで調べると以下の記述を発見!

Under OS X 10.11 El Capitan Apple change the way kext signing can be disabled by introducing “System Integrity Protection” and a new cli util “csrutil”. To disable kext signing you will need to do the following: Reboot and press CMD+R immediately after the chime to enter Recovery Mode Open Terminal from Recovery mode run the command csrutil enable --without kext reboot

10.11 El Capitanは“System Integrity Protection”というセキュリティがあるそうで、そのままでは動かいない模様。 csutilツールで設定を書き換える必要があるようです。書いてある手順の通り実施してみます。

  • 再起動しすぐに「comand + R 」キーを押して、リカバリーモードに入る

  • ターミナルを開く(上の方にユーティリティというメニューがある)

  • ターミナルで次のコマンドを実行「csrutil enable --without kext」

  • 再起動

その結果・・・ f:id:hollywis:20151128213804p:plain

「dev/cu.wchusbserial14110」というのが出てきました。やったーーー!認識された!!

ちなみにkextはKernel Extentionの略だそうです。おそらくこの設定はKernel Extentionの セキュリティが甘くなる設定ですので、実行は自己判断でお願いします。

今回はここまで、次回からは実際にプログラミングして動かしていきます。

まとめレシピ

材料

  • Macbook(10.11 El Capitan) 1台

  • Arduino Uno r3(中華製) 1個

  • USBケーブル      1個

手順

  1. ArduinoIDEのインストール

  2. USBドライバのインストール

  3. Elcapitan用の設定をする

  4. ArduinoをPCと接続

  5. ArduinoIDEのマイコンボードを選択

  6. ArduinoIDEのシリアルポートから接続を確認

中華製Arduinoは別途ドライバーのインストールや、Macの最新OSの対応でなかなか 苦戦しましたが、なんとかPCとの接続に成功しました。

hollywis.hatenablog.com

3/5追記 実はYosemite対応も大変だった

MacYosemiteを繋いでいる場合にも、特殊な手順が必要でしたのでここに記載します。

  1. Mac(Yosemite)を起動してCH340のdriverをインストール

2.ターミナルを開いて次のコマンドを実行 sudo nvram boot-args="kext-dev-mode=1"

3.再起動する

3/31追記 謎のエラーその1

avrdude: ser_open(): can't open device "/dev/cu.wch": No such file or directory ioctl("TIOCMGET"): Inappropriate ioctl for device

MakBookProで起こりやすいようです。

この場合アプリケーションを開いて以下のところまでfinderで潜り

Arduino.app/Contents/Java/hardware/arduino/avr

ディレクトリに platform.txt & programmers.txt の2つがありますので

次の一文をReplaceします。 -P{serial.port} "-P{serial.port}"

ただ単に、ダブルクォートで囲むだけです。

そして、IDEを再起動すると動きます!

謎のエラーその2

COM1 がなんたらというエラー PCに刺すUSB端子を変えて、PCを再起動すると動くことがあります。

その他、動かない場合は下記のページを見たり、ググったりして頑張りましょう。 Arduinoは世界的に利用されているため、必ず解決策があるような気がします。 Arduino - Troubleshooting

中華で始める Arduino入門日記1 はじめに「中華機を購入してみる」

みなさまこんにちは、のすけです。

ハードウェア触ってみようと最近動き出しているHOLLYWIS(はりうす)ですが まずは、初心者でも手を出しやすそうなArduinoから始めていくことになりました。

これが終わったらRasberryPi編に入ろうかと思います。 もしかして、お気づきかもしれませんが、似たような連載が実はスタートしています ⇩ hollywis.hatenablog.com

しかし、僕の方でも別枠で始めることになりました。 個々に勉強になりますし、次のような違いもあるからです。

さいぞうの日記との違い

  • キットが違う(さいぞうさんはOsoyo製)

 僕のはよく分からない中華キットです(後述)

  • やり方も違う

    特に相談もせず別々に進めていくので、ぶつかるであろう課題も違いますし、解決するアプローチも違ってきます。

 別々でやることで、より網羅的にArduinoをカバーできるのではという考えです。

  • 環境が違う

 細かな点ですが、利用しているPCやArduinoが違います。

同じ点

初心者におすすめ

Arduinoとは

https://www.arduino.cc/new_home/assets/illu-arduino-UNO.png

ArduinoとはWebで調べたところ「とても簡単に扱えるマイコンボード」らしいです。

読み方は【あるどぅいーの】のようです。

マイコンボードには他にも色々あるのですが、扱いやすさが優秀で かなり初心者のハードウェア入門としてはかなりデファクトスタンダードのようです。

僕は数年前に「H8マイコン」という、これも初心者が扱いやすいという触れ込みの マイコンを触ったことがありました。 しかし、開発言語がアセンブラC言語でしたのでとても取っ付き難かったと記憶しています。 (特にアセンブラ

しかし、このArduinoC言語を元にした独自言語であるArduino言語を利用して プログラミングを進めて行くそうです。 また、専用のIDEがあるそうでArduino本体とPCの接続がとても楽そうです。

http://scidle.com/wp-content/uploads/2014/12/Arduino_IDE.png Arduio IDE

この連載ではArduinoのスタータキットを利用して、チュートリアルを進めていきます。 理由としては、Arduinoではじめにどんなことが出来るのかを学べそうだからです。 センサーなどの組み合わせにより、色々なことが出来るとは思うのですが、具体的などのくらいの労力とお金で 出来るのか知りたいという方には、「Arduinoを始めよう」のキットを始めるのが良いと思いました。

ちなみの本はこちらの模様(僕は持ってません)

Arduinoをはじめよう 第2版 (Make:PROJECTS)

Arduinoをはじめよう 第2版 (Make:PROJECTS)

先ほどの無料のチュートリアルがなかなか丁寧なので多分読み解いていけば大丈夫だと思います。

使用するキット (中華製)

さいぞうさんの方では,AmazonでOsoyo製品を購入していしたが 僕はAlliExpressという中華商品が充実しているECサイトで購入しました ja.aliexpress.com

お値段はなんと送料込みで $24.37 !!!安い!これでArduino本体も入ってるんだから意味わからん。安すぎ。

ちなみに偽物ではありません。Arduinoオープンソースですので、こちらは「Arduino互換」製品になります。 色々なメーカーから互換製品が出ています。公式のパッケージのパーツを企業努力で安価なものに差し替えて提供 していると考えられます。

f:id:hollywis:20151128132014p:plain

ちゃんと送られてくるか心配ですが、こちらを利用することにしました。

そして、購入から30日後。。。中国の深圳(シンセン)から送られてきました。 CHAINA POSTからの郵送です。

受け取る際に、タイミングが悪く不在届けが届いたのですが、送り元の名前が「外国」と なっていて笑えました。外国って、、、全然送り元の特定できてないじゃん。 f:id:hollywis:20151128133859j:plain

案外しっかりしてる?箱に入ってますしね。 さいぞうさんのOsoyoから比べるとアレですけど。

f:id:hollywis:20151128134034j:plain キチンと確認してませんが、ちゃんと全て入ってると思います。 もちろんパーツリストとかありませんしパーツの型番もわかりません ><;

並べました。ちゃんとArduino本体(互換)も上の段の左から三番目に入ってます。 f:id:hollywis:20151128134558j:plain 右上にあるRFIDセットとか夢が広がりそうですね。

普通に日本で公式品を買ったらArduino本体だけで3000円はしますので、 もしこれがまともに動けばかなり安い。

色々パーツワクワクします。頑張って進めていきたいと思います。

hollywis.hatenablog.com