Tag : Arduino Uno

Arduinoでソフトウェアからリセットをかける方法

No Image

Arduinoは大抵の基板に搭載されているボタンを押したり、RESETピンをGNDに落としたりすることでリセットをかけることができます。
また、Arduinoにはオートリセット機能があり、プログラムを書き込むときやシリアル通信を開始したときにもリセットされます。

リセットがかかればスケッチの一番最初から実行されますし、変数も初期状態になります。
それをハードウェア上のボタンを押さずにソフトからリセットできるなら便利だと思いませんか?
ここではArduinoでソフトウェアリセットをかける様々な方法を紹介していきます。

Arduino Unoを20MHzで動かす

No Image

Arduinoの処理に遅さを感じてしまい、ちょっとでも速いほうがいいと思う人は少なからずいるのではないでしょうか。
水晶振動子を16MHzから20MHzに変えるだけで1.25倍速くなります、微妙・・・?
ライブラリによっては動かないなど、保証はできませんがクロック周波数20MHzで動作させる方法を紹介します。

Arduinoの高速化

No Image

Arduinoでダイナミック点灯を制御していると思うのが「Arduinoって遅いなあ」ということです。
私は最初、16MHzだからあまり困ることはないと思っていましたが、最近困ることが多いです。

Arduino UnoをUSB Bからmini-Bに変えてみた

No Image

Arduino UnoにはPCと繋ぐためにUSB Bのコネクタがついています。
他の基板にはたいていmini-Bやmicro-Bがついているのに、これだけBタイプなんですよね。
1つの基板だけのためにBタイプのケーブルを出すのは面倒臭いので、コネクタをmini-Bに変えてみました。

Arduinoを内部クロック(8MHz)で動作させる

No Image

Arduinoは基本外部クロックで動作しています。
その方が精度が高いですし、速いです。
しかし16MHzで動かすには4.5V以上必要ということで電池の場合、個数が増えてしまいます。
とは言っても3Vでも一応動くんですけどね。
また外付けの水晶と電池で100円ほど制作費が上がってしまいます。
というわけでコンパクトで経済的にするため、内部クロックの8MHzにしてみます。

Arduino Unoでブートローダを書き込む

No Image

Arduino Duemilanoveではブートローダを簡単に新しいAVRマイコンに書き込むことができます。
最初から入っている「Arduino ISP」というスケッチを使えば簡単です。
しかし、Arduino Unoではそう簡単にはいきません。
Optibootという新しいブートローダが入ってるかららしいんですが・・・
今までUnoではできないと思っていたんですが違うスケッチを使えばいけるようです。