Relative Content

Arduino NANO

Arduino NANO (10) Basic PC With VGA Output

経緯 参考1から、昔の BASIC は、2台のArduino NANOで実現可能とわかって、BASIC動くだけじゃなく、GPIOの制御もできるので、IoTの可能性の一つとして、試したくなった。 制作 専用のVGAとキーボードのコンセント部品の調達は時間がかかった。 それから結線にも時間がかかった、さらにプログラムの書き込みも手惑いが重ね、しかし電源入れると、あっさり成功。 正面の部品一覧 背面の配線 参考 https://www.instructables.com/id/Arduino-Basic-PC-With-VGA-Output/

Arduino NANO (9) Traffic Light

Traffic Lightを作った。 難しいところがないが、12個LEDを制御するので、Arduino NANO のGPIO全部使った。 動作の様子

Arduino NANO (8) ADS1115 & OLED

Arduino NANO (7) ADS1115 for A/D できたので、行きよいでOLEDの表示も追加した。 ( WeMos (b9) ADS1115 for A/D )とほぼ同じプログラムだが、なぜかうまく表示する、どうして? 表示されるのは2本古い電池の電圧を測る値。 今度ピエゾの電圧も測ってみる。

Arduino NANO (7) ADS1115 for A/D

経緯 ADS1115を購入して、生体信号のAD変換に利用するつもりだが、うまくいかない( WeMos (b9) ADS1115 for A/D 参考)、正しい電圧が表示されない。 そこで、Arduino NANOのチュートリアルを探して、検証することに。 ハードウェア ADS1115とArduino NANOはI2Cで接続。 ソフトウェア 「参考1」コードそのまま。 #include <Wire.h> #include <Adafruit_ADS1015.h> Adafruit_ADS1115 ads; // Declare an instance of the ADS1115 int16_t rawADCvalue; // The is where we store the value we receive from the ADS1115 float scalefactor = 0.1875F; // This is the scale factor for the default +/- […]

Arduino NANO (6) Heart rate sensor

Arduinoセンサーキットに、Heart rate sensorある。 血中ヘモグロビンの近赤外線吸収の性質を利用して脈拍パルス検出するらしい。 Arduinoとの接続は3線(GND、VCC、アナログ入力)のみ。 「参考1」をみて、まず簡単の試す。ただA0の値を表示。 // Pulse Monitor Test Script int sensorPin = 0; void setup() { Serial.begin(9600); } void loop () { while(1) { Serial.print(analogRead(sensorPin)); Serial.print(‘\n’); } } 指先センサー装着 シリアルプロッターに見える上昇カーブ 安定した状態これはなにもわからない 指はセンサーから離れる時の下降カーブ。 「参考1」を参考して、Smoothingしても、同じ判別不能。困った。 #define samp_siz 4 #define rise_threshold 5 // Pulse Monitor Test Script int sensorPin = 0; void setup() { Serial.begin(9600); } […]

Arduino NANO (5) MAX30102 Pulse Ox Sensor

試み MAX30102 というPulse Ox Sensorを利用して、脈拍と酸素濃度を測る試み。 MAX30100の実例が多いが、MAX30102の実例が少ない。 プログラム 「参考1」のSparkFunのライブラリを利用する。そのライブラリはMAX30105(R,G,IR LED)用だが、MAX30102(欠Green LED)でも利用できる。 OLED表示するため、「参考2」の表示部分を合体した。なんとなく、バグがある様な気がする。 // Sample implementation of the MAX30100 PulseOximeter // Using the following module // http://www.ebay.com/itm/-/391709438817?ssPageName=STRK:MESE:IT // can not gaurantee if the app will work with other implementations of the module. //#include “MAX30100_PulseOximeter.h” #include <U8g2lib.h> #include <Wire.h> #include “MAX30105.h” #include “heartRate.h” #define REPORTING_PERIOD_MS 500 U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0); […]

Arduino NANO (4) Piezoelectric sensor

なぜ Piezoelectric sensorを利用して、住宅内の音声、振動から年配者の介護の補助を考えている。 Piezoelectric sensorが取った情報をAD変換して、簡単にWemosで処理すると思ったが、いろいろ意外なところで躓いた。 何か類似する、簡単に検証できる例がないか探した。 取り込み 「参考1」から、普通のPiezoelectric sensorで、簡単に脈拍を取れると、魅力と思った。 必要な部品が揃うまで時間がかかったが、一応出来た。 いろいろと試したところ 拡大写真 取れた波形。「参考1」の波形には似ているは、DC成分あるから、取り除くが課題。 参考 http://www.ohnitsch.net/2015/03/18/measuring-heart-rate-with-a-piezoelectric-vibration-sensor/

Arduino NANO (3) SSH1106 & Walking bitmap

経緯 ちょっと大き目のOLEDが欲しくて、1.3 InchのOLEDを注文した。 ただもの挿し替えて使えると思って、届いてわかったが、コントローラーは別物。SH1106というものを使われ、U8g2libライブラリをインストールして利用する。 Display OLED via I2C (SH1106) 実際参考サイトを見ながら、試してみる。 うまく表示できた。 しかしコントローラーが特殊のため、使用例がほとんど無いので、用途が限定。 Script – Walking bitmap #include <Arduino.h> #include <U8g2lib.h> #ifdef U8X8_HAVE_HW_SPI #include <SPI.h> #endif #ifdef U8X8_HAVE_HW_I2C #include <Wire.h> #endif U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI const uint8_t bm[] PROGMEM = { 0b00011000, 0b00111100, 0b01111110, 0b11111111, 0b11111111, 0b01111110, 0b00111100, 0b00011000 […]

Arduino NANO (2) 1602 LCD i2c 表示

1602 LCD直接繋ぐと、6つのデジタルポートを占有(4つデータワイヤ+2の制御ワイヤが必要)し、GPIOはたくさん消耗するので、i2cを利用すると2つのアナログポートが足りる。 WeMosで試すと、うまくいかないので、より汎用のこのNANOで試す。すんなりうまくいく。 I2C インターフェイス SDA、SCL は Arduino Nano ではそれぞれ A4、A5 です。 Arduino Nano SDA A4 SCL A5   サンプルプログラム。 #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print(“Hello, world!”); } void loop(){ // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins […]

Arduino NANO (1) AD8232 Heart Rate Monitor

経緯 IoT材料を探しに、AD8232 Heart Rate Monitor パーツを購入しました。 添付資料は何もないので、ネットで検索したら、結構出ました。 目の動きも検出できる、いろいろできそう。 回路 参考資料は、Arduino NANOを利用するので、そのままの回路を組み立てる予定。成功したら、ESP8266,ESP32に移植するつもり。 The detailed specification of the Arduino Nano board is as follows: Microcontroller ATmega328 Operating Voltage (logic level): 5 V Input Voltage (Recommended): 7-12 V Input Voltage (limits): 6-20 V Digital I/O Pins : 14 (of which 6 provide PWM Output) Analog Input Pins: 8 DC Current […]