僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
Arduino UNO3は電源とデータ転送に
USBシリアルが使える。
これは任意のデータ転送にも使える。
ただし、Arduinoに事前に接続して待機、ということはできない。
Arduino IDE でプログラム転送時にエラーになった。
それをやりたいなら、別に接続を考えないと、ということかしら。
void setup() { Serial.begin(115200); } void loop() { Serial.println("hello"); delay(2000); }
を転送してから、kermitで接続すると、
C-Kermit> set line /dev/ttyACM0 C-Kermit> set speed 115200 C-Kermit> connect Connecting to /dev/ttyACM0, speed 115200 Escape character: Ctrl-\ (ASCII 28, FS): enabled Type the escape character followed by C to get back, or followed by ? to see other options. ---------------------------------------------------- hello hello hello
接続当初、最初の"hello"が化けることもあった。
二行目からは化けなくなった。
setup()の最後に delay(10000);くらいすれば、 転送後に悠々とkermitでアクセスして、loop()を待つことができた。
昨日の変な画像に追加する。
$ for num in `seq 30`; do echo $num > convert -resize 80% -rotate 3 first.png second.png > composite -background black -gravity Center second.png first.png third.png > mv third.png first.png > done
で、
できた画像。
当初 convert に -transparent white を加えてみたが、
傾いた部分の仕上がり
がいまいちなので、 composite に -backgroud black しておいた。
端子の短絡で光る回路にしようかと、
PIN13にLEDと抵抗器を接続し、PIN11とPIN12に
それぞれジャンパワイヤ
を挿して、どことも接続しないでおいた。
スケッチは次のように書いた。
const int LED = 13; const int ON_PIN1 = 12; const int ON_PIN2 = 11; int val = 0; void setup() { pinMode(LED, OUTPUT); pinMode(ON_PIN1, OUTPUT); pinMode(ON_PIN2, INPUT); digitalWrite(ON_PIN1, HIGH); } void loop() { val = digitalRead(ON_PIN2); if (val==1) { digitalWrite(LED, HIGH); }else{ digitalWrite(LED,LOW); } }
すると、手をワイヤに近づけると光るようになった。
PIN11からワイヤを抜くと、手を近づけても光らない。
PIN12は、あってもなくても同じ。
s/ON_PIN1//g しても変わらない。
PIN10などにも挿してもLEDが勝手に点くことはない。
ubuntu-14.04 にパッケージがあった。
なんかMakefileの集まりらしい。Arduino IDE が入ってる環境なら、
必要なものは大体入ってしまう模様。
適当に試行錯誤して、/usr/share/arduino から Arduino.mk と Common.mk を借りてきた。
/usr/share/doc/arduino-mk/examples の下から、Makefile も貰ってきた。
hoge.ino のあるディレクトリにMakefileを置いて、make すると、build-uno という
ディレクトリが掘られて、関係しそうなファイルが一山。
hoge.elf とかhoge.hexとかは作られていたが、C言語(への変換は、もはやしないのだろうか)
でどうなるものなのかは、よく分からない。
make upload で嵌った。/dev/ttyACM0をどこに指定するのかが。
適当に検索して、
Makefileに書くらしいという情報。
BOARD_TAG = uno ARDUINO_PORT = /dev/ttyACM0 ARDUINO_LIBS = include ../Arduino.mk
で、Make uploadでArduinoにプログラムが伝送されて
実行されることを確認。
ログは適当に伏せ字にしておいた。
アップロードするだけでも、その都度ビルドするのはなんだかという気がする。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。