Home New Help Edit

Arduino使ってみる

Suns & Moon Laboratory


インストール

2013-08-05

これ見ながら http://arduino.cc/en/Guide/Windows

arduino-1.0.5-windows.zip をダウンロード http://arduino.cc/en/Main/Software

解凍して適当な場所に配置
C:\tools\bin\arduino-1.0.5
スケッチはここに入る
C:\Users\ユーザー名\Documents\Arduino\
インポートしたライブラリはここに入る。手動でコピー・削除して良い。
丸ごと削除しても、自動で復活する。
C:\Users\ユーザー名\Documents\Arduino\libraries\
arduino.exeを実行して起動。

Windows7 64bitは、最初ドライバー入れても書込みが最後まで終了しなかった。
USBを抜き差ししたら、それ以降はちゃんと動くようになった。

WindowsXP 32bitは、あっさり動いた。


使う


ツール→マイコンボード→ボード選択

ファイル→スケッチブック→スケッチを選択すると、スケッチを読み込む

ツールバーの「○+レ」で、コンパイル

ツールバーの「○+→」でボードに書込み

LED(基板上に搭載)

下記マクロで定義されている(ビルトイン、オンボード)
LED_BUILTIN

Arduino Nano Every


https://ht-deko.com/arduino/nano_every.html

IO速度


digitalWriteで1.2usec
レジスタ直叩きで0.13usec

digitalWrite()


レジスタ直叩き


#define PIN_SCLK 15 void setup() { pinMode(PIN_SCLK, OUTPUT); } void loop() { #if 0 PORTD_OUTSET = 0x04; PORTD_OUTCLR = 0x04; PORTD_OUTSET = 0x04; PORTD_OUTCLR = 0x04; PORTD_OUTSET = 0x04; PORTD_OUTCLR = 0x04; PORTD_OUTSET = 0x04; PORTD_OUTCLR = 0x04; #endif digitalWrite(PIN_SCLK,HIGH); digitalWrite(PIN_SCLK,LOW); digitalWrite(PIN_SCLK,HIGH); digitalWrite(PIN_SCLK,LOW); digitalWrite(PIN_SCLK,HIGH); digitalWrite(PIN_SCLK,LOW); digitalWrite(PIN_SCLK,HIGH); digitalWrite(PIN_SCLK,LOW); }

タイマー

NanoEveryは、TCAx1,TCBx4存在する。
TCBを使うライブラリを探したところこちらがヒット
Arduino EveryTimerB library.

サンプルがちょっとわかり辛いので単純化してみた。
オンボードLEDを500msec周期に点滅する。
#include <EveryTimerB.h> EveryTimerB TimerB1; #define PIN_LED 13 bool led_flag = false; void myisr(void) { digitalWrite(PIN_LED, led_flag); led_flag = !led_flag; } // code timer B1 ISR(TCB1_INT_vect) { TimerB1.next_tick();//attachInterrupt()で登録した割り込みルーチンが呼ばれる TCB1.INTFLAGS = TCB_CAPT_bm; // writing to the INTFLAGS register clears the interrupt request flag } void setup() { pinMode(PIN_LED, OUTPUT); TimerB1.initialize(&TCB1); TimerB1.stop(); TimerB1.attachInterrupt(myisr); TimerB1.setPeriod(500000UL);//usecで指定する。左の場合0.5秒。初期値は1秒になっている。 } void loop() { }


辿ったのはここから
2020/9/25 無題

VSCodeでArduino

VSCodeでArduino

Link

Arduino 日本語リファレンス

ボード選定メモ


何も考えないなら、Uno一択
最近はNano Everyかなとか思ってる。(2021)

XIAO RP2040

XIAO RP2040やってみる。


Raspberry Pi Picoの2つのArduinoサポートを比較


Earle F. Philhower, III
Arduino-Pico

公式見ながらLチカ
Neopixelのライブラリ古いとダメだったので、Neopixelのライブラリアップデートした
https://wiki.seeedstudio.com/XIAO-RP2040-with-Arduino/


Arduino-Pico WiKi


Adafruit TinyUSB Libraryをインストール
https://arduino-pico.readthedocs.io/en/latest/usb.html#adafruit-tinyusb-arduino-support

USB HID書き込んだら、Arduinoの書き込み失敗するようになった

シリアルポートの番号が変わっていた。指定しなおしてOK

D0読もうとしたが、A0指定しないと動かなかった。(pinMode)


XIAO BLE nrf52840


Seeedのボードライブラリ

基本はWiKiを見る
https://wiki.seeedstudio.com/XIAO_BLE/

ボードマネージャで、Seeed nrf52 Boardsを入れる

以下略

Adafruitのボードライブラリ

https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/arduino-bsp-setup


end.

Home New Help Edit
2022-06-05 21:49:21 32400