UbuntuにArduino IDE(1.8.9)インストール

UbuntuにインストールしていたArduino IDEが、しばらくバージョンアップさせてなかったことに今さら気付いた。

現在のArduino IDEバージョンは1.8.9。

(Ubuntu側は安定の18.04)

またちょびっと引っかかるところがあったので、改めてインストールのおさらい。

 

自分の環境に合ったLinux 64bit版をダウンロード。

 https://www.arduino.cc/en/Main/Software

フォルダはダウンロードでもどこでも良いはずなんだけど、自分はユーザーのホームにそのまま置いた。

 

いつもはアイコンで解凍してたけど、今回はターミナルからコマンドで解凍。

なんでもいいけど、普段慣れてるtarで解凍した。

 $ tar Jxfv arduino-1.8.9-linux64.tar.xz

解凍したフォルダに移動。

 $ cd arduino-1.8.9

そしてインストール。

 $ ./install.sh

…ここでなんかエラーが出た。

一応最後に「done!」とは出てるので、インストールされてるような気もする。

なので、念のためsudoをつけてもう一度インストールしてみた。

 $ sudo ./install.sh

すると一番下のエラーが消えたけど、rmのエラー2つは出たままだった。

 

調べてみたらフォーラムにも記載があって、どうやら問題のないエラーメッセージらしい。

 https://forum.arduino.cc/index.php?topic=618505.0

確かに、Arduino IDEの起動は問題なく確認できた。

なのでこのまま使うことにします。

 

Linux用のインストーラはバージョンアップするたび、何かしら引っかかってしまうところがあるのが不思議。

あまり深く考えずにインストールしても問題なさそうだけど、やっぱり気になるところは避けて通りづらい。

このメモも、同じように引っかかった人の手助けになればと思います。

(解決策にはなってないが)

Sponsered Link

OTTOロボット再び

先日、一年ほど放置していたOTTOロボットを再び引っ張り出した。
(クリスマスが暇で…)

ホントはM5Stackで制御できないかと考えたんだけど、ESP32はServoのライブラリがない…わけじゃないけど、現状のには対応してないらしく、簡単には移植できそうになかった。
なので今回のところは素直にArduino Nanoを使う。

 

※余談だけど、別にライブラリはある。
 https://www.arduinolibraries.info/libraries/esp32-servo
すでに使ってる人もいたんで、いずれこれも実験したい。

 

以前OttoDIYの中でもLEDマトリクス付きのOttoPLUSを作ろうとして止まってたんだけど、一年以上経ってすっかり忘れたのでもう一度基本的なやつを3Dプリンタで出力し直した。
 https://github.com/OttoDIY/DIY/tree/master/3D%20print
さすがバージョン8までアップデートしてるだけあって、以前と比べてすごく組み立て易い。
3Dデータはオプションもダウンロードできる。今回は猫のお面を付けてみた。

 

自分が持ってるサーボモータは格安の怪しいSG90なので、できるだけ問題なさそうなのを選りすぐって、中央のポジションを確認してからArduinoに配線&ボディに組み込む。
Arduino IDEでサンプルスケッチをインストールして、動作確認もOK。


エラーが出なかったのは必要なライブラリまで全て揃ってくれてたおかげ。
現在はロボットの基本的な動きや音をOttoライブラリにまとめてある。
 https://github.com/OttoDIY/DIY/tree/master/libraries
インストールはマニュアル通りにmBlockを使っても大丈夫だった。
(多少問題もあったけど、別にまとめる予定)

 

以前は1〜2時間でロボットが作れるという触れ込みに「嘘付け!」と思ったけど、細かい点が改善されたおかげでパーツさえ揃えばホントに1時間で組み立てられると思う。
公式で売ってるものを買えばさらにきっちり作れるんだろうな。
未だにArduino Nanoを使ったガジェットなんてと思ってたけど、まだまだ遊べそうだ。

Sponsered Link

Arduino Nanoの書き込みエラー

かなり久々にArduino Nanoを引っ張り出してきたものの、ちょびっと引っかかった件をメモる。

 

その前にずっとM5Stackばかりいじってたので、ボードの選択を間違えててコンパイルできなかった。

すぐに気付いてボードにArduino Nanoを選択し、再度コンパイル。

その後本体にUSB接続して書き込もうとしたところ、何の呪いかエラーが出た。

 

エラー内容は
 avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
 avrdude: stk500_recv(): programmer is not responding

…を繰り返している。見たことないな、これ。

 

しかし検索するまでもなく、ツールのプロセッサの選択を見てすぐに気付いた。

プロセッサの選択肢が増えてる。

今まで「ATmega328P (Old Bootloader)」という選択肢はなかったので、これはArduino側がバージョンアップしたのだろうと思い、古いほうで書き込みしたところ、エラーが出なくなった。

 

これに付いては公式にも記載されている。NOTEのところ。

 https://www.arduino.cc/en/Guide/ArduinoNano

もうだいぶ前に更新されてたんだな。最近Arduino本体をいじることがなかったから、全然知らなかった。

日本語でもわかりやすく説明されているところがあった。こちらがおすすめ。

 http://www.umek.topaz.ne.jp/mameduino/tag/atmega328pold-bootloader/

 

で、プロセッサについてはすぐにわかったんだけど、なぜかUSBシリアルが増えてるのは未だに不明。

ちなみに接続してるPCはMac。

Arduino Nanoしか接続してないのに、シリアルポートの選択肢が増える。

とりあえず今までと同じ「/dev/cu.wchysbserial1430」を選択したら書き込めたので、問題ないんだけど気になる。

こっちは保留。

 

こまめに情報収集してないと、いろんなものがアップデートしてるのに気付かないんだよなあ。

新しく買ってまだ積んであるボードもたくさんだけど、冬休みにArduinoも見直してあげるとするか。

(問題は冬休みが超短いことだが…)

Sponsered Link

UbuntuにArduino IDE(1.8.7)インストール

いつの間にバージョンアップしてたんだろう、気付いてなかった。
(ずっとM5Stackに構ってたからかも)
すでに1.8.7。1.8.6は飛ばしたみたいだけど、まあいいや。
 https://www.arduino.cc/en/Main/Software

 

さっそくMac用のをダウンロードして、アプリケーションフォルダに入れる。
古いやつに上書きされておしまい。
Mac用は楽で助かる。

 

問題のLinux版。
今回はUbuntuのバージョンが上がり、Ubuntu 18.04上でのインストール。
元のArduino IDE 1.8.5は入ったまま。
たまにトラブルになるので、今度は慎重にあちこち調べてから挑んだ。
が、まだあまり情報がなかった。バグ的な情報もなかったので、今回は特に問題はないと思われる。
なので今回は普通に公式の
 https://www.arduino.cc/en/Guide/Linux
を参照すれば大丈夫…のはず。

 

とにかく古いバージョンをアンインストールしなくても、解凍後に./install.shでシェルを起動すればOK。
以前はoptフォルダに解凍後のフォルダを持っていったけど、ダウンロードフォルダのままでも大丈夫そうだ。
あとはよけいなことをせずに、

 $ cd arduino-1.8.7
 $ ./install.sh
 

で、インストール完了。

インストール後、デスクトップに書類のアイコンが出てくるんだけど(arduino-arduinoide.desktop)、これはダブルクリック後「信頼して起動」を選択すれば普通のアイコンになるらしい。
(前も出たのかどうか覚えがない…)
が、自分はデスクトップにあるのは邪魔なので、削除してしまった。

 

USBドライバとかその辺りの設定は前に一度やったので、今回は行わない。
今までで一番スムーズにできて一安心。
正直使っていても1.8.5との違いが良く解らないので不要かもだけど、問題ないならバージョンアップしておいてもいいかなという感じ。
次はWebエディタにでも挑戦してみようかな。

Sponsered Link

ArduinoのI2C関連メモ

Mongoose OSからちょっと離れるけど、せっかくなのでArduinoのI2Cについて調べていた。
OLEDのアドレスで引っかかってた件で気になった。
そういえばArduinoとかでOLEDを表示させる際のスケッチは、普段何気なくコピペしてたので深く考えることがなかった。
というわけで検索して発掘したURLを、自分用にだけどちょっとだけメモっておくことにする。

 

基本はArduinoでI2C通信を使うためのライブラリ、Wire.h。
これについては公式を見たほうがいいかな。
 https://www.arduino.cc/en/Reference/Wire

ちなみにMongoose OSでもArduinoの一般的なライブラリを使ってる。
(全部ではないらしいけど、標準的なのはカバーしてるっぽい)
そもそもスケッチの互換性が一応あるみたい。
当然書き込むボードはESP32とかESP8266になるけど。
ついでに調べてフォーラム見てみたけど、ちと微妙…かな。
 https://forum.mongoose-os.com/discussion/253/arduino-compatibility-is-awesome

 

横道にそれたけど、デバイスのアドレスとかで検索してたら、ArduinoのI2Cに絞ってまとめられてて解りやすいところ。
具体的な使い方。
 https://qiita.com/MergeCells/items/20c3c1a0adfb222a19cd
上記の説明が自分的には一番しっくりきた。
というか、参考になる別サイトへのリンクもあって正直もうここだけで充分じゃんと思った。
しかしやっぱり自力でスケッチを作成してみるのが一番勉強になるよなあ。

 

デバイスのI2Cのアドレス確認は、Arduinoの以下のスケッチで確認できる。
 http://playground.arduino.cc/Main/I2cScanner
接続するとシリアルモニタで確認できる。便利。
ソフトは書けないんでいつもコピペばかりだけど、できるなら自分もこういうシンプルなのを目指したい。

Sponsered Link