4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VirtualBoxとUbuntuとArduinoでLチカ

Last updated at Posted at 2019-06-08

#概要
最終的にはROS+Arduinoを試したかったのですが、まず第一歩として、VirtualBox上でUbuntuを起動、ArduinoをつないでLチカのやり方のメモ。
同じような道を進む人の参考になれば幸いです。
(ESPr Developer(ESP-WROOM-02)の場合を追記しました。(2020/05/09))

#マシン構成
windows10(ホスト側) + VirtualBox + Ubuntu16.04 + Arduino UNO

#進め方
実施した項目は以下の通りです。
※VirtualBox,Ubuntu,Arduino IDEのインストールは済んでいるものとします

  1. VirtualBoxのUSBの設定
  2. Arduinoと接続するポート番号の確認(Ubuntu側)
  3. 2.で確認したポートのパーミッションの変更(Ubuntu側)
  4. スケッチの作成(Ubuntu側)
  5. 動作確認(Ubuntu側)

1. VirtualBoxのUSBの設定

  • VirtualBoxを起動する前にArduinoをマシンに接続します。
  • 次にVirtualBoxを起動して、
    設定USB
    で、USBコントローラーを有効化、にチェックを入れます。
  • USB1.1(OHCI)コントローラーで、右側の上から2番目、+がついたボタンを押すと、現在ホストマシンに接続されているUSB機器が表示されるので、Arduinoを選択するとデバイスフィルターに追加されます
     ※Arduinoを接続してすぐには認識されません、ちょっと待つと出てきます
  • OKを押して、マネージャーの画面に戻り、Ubuntuを起動します
  • なお、ESPr Developer(ESP-WROOM-02)を接続した場合は、「FTDI FT231X USB UART」と表示されます、Arduinoとは表示されないので注意が必要です。

2. Arduinoと接続するポート番号の確認

  • ArduinoをUSBでPCと接続します
  • 以下のコマンドで、USBに接続されているポート名を確認します
    ls -l /dev/serial/by-id/
    USBに何も接続されていない場合は、"アクセスできません"、と言われてしまいますが、Arduinoが接続されていれば、私の場合は以下の名称が出てきました

../../ttyACM0 (Arduino UNOの場合)
../../ttyUSB0 (ESPr developerの場合)

3. 2.で確認したポートのパーミッションの変更

Ubuntu(Linux)ではwindowsと違ってポートを使用するのにパーミッションを変更する必要があります。

  • 下記コマンドで、Arduinoを接続しているUSBのパーミッションを確認します
    ※Arduinoと接続した状態でないとアクセスできないと怒られます
    ls -la /dev/ttyACM0
  • 書き込み権限がなければchmodコマンドでパーミッションを変更します
    sudo chmod 666 /dev/ttyACM0
  • 最初のコマンドでパーミッションを確認します
    crw-rw-rw-となっているはずです

4. スケッチの作成(Ubuntu側)

3.でパーミッションが正しく設定されていれば後はArduinoIDEで作業するのみです。
今回はLチカなので以下のスケッチを書き込みました、1秒毎に点灯と消灯を繰り返す例のやつ。
使用したピンは13番とGNDです。

void setup() {
  // put your setup code here, to run once:
  pinMode(13,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(13,HIGH);
  delay(1000);
  digitalWrite(13,LOW);
  delay(1000);
}

あとはツールシリアルポートでArduinoを接続しているポートを選び、スケッチを書き込めばOK。

5. 動作確認

1秒毎に点灯、消灯が繰り返されればOKです。

Windowsをメインで使っている方(私も)は、ポートのパーミッションが最大の落とし穴かもしれません。
次回はいよいよROSを使用してのLチカになります(はず)、それでは。

4
2
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
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?