Arduino

中国製Arduino互換機でLチカをしてみよう

この記事の目的

この記事では、中国で売られているArduio UNO R3の互換機(またはArduino UNO R3偽物)にLEDをつけ、LEDを点滅させる(Lチカ)をすることをゴールとします。

免責

この記事について書かれているとおりにして発生した如何なる事象についても、筆者および関係者は一切の責任を負いません。

中国製Arduino互換機について

Arduinoはオープンなハードウェアです。
基板データが公開されているされているため、設備があれば誰でも互換機を作ることができる1ため、Arduinoの互換機が作られています。
Arduino UNO R3の正規品は3,000円くらいしますが、中国だと互換機は数百円くらいで買えたりします。

中国の深圳の電気街である华强北で購入したArduino UNO R3互換機

右が互換機、左が本物のArduino UNO R3

Arduino UNO R3と中国製互換機の違い

いろんなところで互換機が作られているため一概に違いを述べることはできませんが、USB-Serialのチップが違うことが多いです。
Arduino UNO R3はUSB-SerialのチップにATmega8u2が使われていますが、中国製の互換機では中国WCH社製のCH340というチップが使われていることが多いようです。
互換機を使う前にCH340のドライバをインストールする必要があります。
ドライバをインストールすればあとはArduino UNO R3と全く同じように使えます。

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

Windows

http://www.wch.cn/download/CH341SER_EXE.html のサイトを開き、Windowsのドライバがあるのでダウンロードしインストールしてください。

Mac

http://www.wch.cn/download/CH341SER_MAC_ZIP.html のサイトを開き、Macのドライバがあるのでダウンロードしインストールしてください。

「公式のドライバをインストールすると互換機を接続時にクラッシュする」として、他のサイトから公開されたドライバをインストールするように促しているサイトもあります2
が、現時点で上記で公開されている公式ドライバでHigh Sierraで問題なく動作しています。

Arduino IDEのインストール

ArduinoのサイトからArduino IDEをダウンロードしてインストールしてください。
サイト上部のメニューから SoftwareDownloads を選択するとダウンロードページに遷移します。
記事執筆時点での最新版は 1.8.5 です。

LEDをつなげる

写真の通りにLEDをつなげます。
LEDの足の長い方(LEDの+)を13番に刺し、LEDの足の短い方(LEDの-)をGNDに刺します。

IMG_20180323_003254-2.jpg

逆に刺すとLEDが光りませんが壊れることはまずないので、もし光らない場合はLEDの足を逆にして刺してみてください。

プログラムを書き込みLチカしてみる

Arduino互換機とPCをUSBで接続し、Arduinoのアプリを立ち上げます。
メニューの[Tools] → [Port]から /dev/cu.wchusbserial142220 を選びます。
また、[Tools] → [Board]から Arduino/Genuino UNO を選びます。

下記のコードをエディタ部に入力し、 [Sketch] → [Upload]を選択します。
するとLEDが1秒おきに点滅します。

const int led = 13; // LEDの接続を13番ポートにする

void setup() {
  pinMode(led, OUTPUT); // 13番ポートを出力にする
}

void loop() {
  digitalWrite(led, HIGH); // LEDを光らせる
  delay(1000);             // 1秒待つ
  digitalWrite(led, LOW);  // LEDを消す
  delay(1000);             // 1秒待つ
}

  1. "Arduino"という名称は商標登録されているため、互換機は"Arduino"を名乗ることはできませんが。しかし、"Arduino"を名乗っている偽物を見ることもあります。 

  2. 以前は署名された公式のドライバが公開されていなかった名残のようです。