Arduino UNO (5) BLE + 1602 LCD
BLE受信したデータは、1602 LCD表示するようにプログラムを改造。 受信があると、LCDに起動時間と受信文字が表示される。 ただ、複数の文字を送ると、最後の文字しか残らない。 #include <SoftwareSerial.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); SoftwareSerial mySerial(7, 8); // RX, TX // Connect HM10 Arduino Uno // Pin 1/TXD Pin 7 // Pin 2/RXD Pin 8 void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print(“BLE Test:”); Serial.begin(9600); // If the baudrate of the HM-10 module has been updated, // you may […]
Arduino UNO (4) BLE
いよいよBLEの実験を開始。Bluetooth 4.0 モジュールを使って、Android AppとArduinoを通信する。 まず持っているBluetooth 4.0 モジュールは、HM10 互換というから、参考になるものを探す。 なぜか、接続表のように、RX0/TX0からBluetoothモジュールとUNOボードを接続すると、プログラムを書き込みできない。 一旦切り離して、プログラムを書き込みおわったら、また接続すればうまくいく。 #もしかしてこれは常識??? Bluetooth 4.0 Arduino UNO R3ボード VCC 5V GND GND TXD RX0(pin0) RXD TX0(pin1) そのため接続表のように、D7/D8からBluetoothモジュールとUNOボードを接続する。 Bluetooth 4.0 Arduino UNOボード VCC 5V GND GND TXD pin 7 RXD pin 8 プログラム: #include <SoftwareSerial.h> SoftwareSerial mySerial(7, 8); // RX, TX // Connect HM10 Arduino Uno // Pin […]
Arduino UNO (3) 1602 LCD i2c 表示
1602 LCD直接繋ぐと、6つのデジタルポートを占有(4つデータワイヤ+2の制御ワイヤが必要)し、GPIOはたくさん消耗するので、i2cを利用すると2つのアナログポートが足りる。 WeMosで試すと、うまくいかないので、より汎用のこのNANOで試す。すんなりうまくいく。行きよいでUnoにも試す。これを成功することて、次に、BLT通信を実験するさい、受信文字をモニタリングできる。 I2C インターフェイス SDA、SCL は Arduino Uno ではそれぞれ A4、A5 です。 Arduino Uno R3 SDA A4 SCL A5 Arduino UnoのバージョンR3では、SDA、SCLピンが存在する。 以前のバージョンではSDAがA4ピン、SCLがA5ピンにそれぞれ割り当てられているが、R3についてもこのピンをI2C通信時に兼用しているため、A4、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 […]
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 UNO (2) TM1637 7段4桁LED
Arduino UNO (1) 7段4桁LED を表示してみる 参考のURLの通り、試しただけ。 TM1637 用ライブラリをインストール ライブラリをダウンロード http://www.seeedstudio.com/wiki/File:DigitalTube.zip ライブラリを Arduino IDE にインストール Arduino IDE の [スケッチ] → [ライブラリを使用] → [ライブラリをインストール…] からダウンロードしたライブラリ ZIP (DigitalTube.zip) を選択しインストールする。 \ドキュメント\Arduino\libraries\ 以下にコピーされる 繋がる ピンアサインは、下表です。 Arduino Sensor Color GND GND Black VCC VCC Red D8 DIO White D7 CLK Yellow スケッチを作成する #include “TM1637.h” #define NANA_SEG_CLK 7 #define NANA_SEG_DIO 8 TM1637 […]
WeMos (3) 1602 LCD 表示
OSが付いてないので、GUIの実現は難しい。 簡単に文字が表示できるデバイス1602 LCDを使う。 /* * 1602 LCD Sample * * 1602LCD —- WeMos * GND —- GND * VCC —- 5V * VE —- Variable resistor * RS —- D1(GPIO5) * R/W —- GND * Enable —- D2(GPIO4) * DB0 —- N.C * DB1 —- N.C * DB2 —- N.C * DB3 —- N.C * […]
WeMos (2) 3色LED表示
3色LEDをつないて、順次点滅する。 #define LEDR 12 #define LEDG 13 #define LEDB 14 void setup() { pinMode(LEDR, OUTPUT); pinMode(LEDG, OUTPUT); pinMode(LEDB, OUTPUT); } void loop() { digitalWrite(LEDR, HIGH); delay(1000); digitalWrite(LEDG, HIGH); delay(1000); digitalWrite(LEDB, HIGH); delay(1000); digitalWrite(LEDR, LOW); delay(1000); digitalWrite(LEDG, LOW); delay(1000); digitalWrite(LEDB, LOW); delay(1000); }
WeMos (1) Blink
事前準備 事前に下記のソフトウェアを準備してください。 Arduino IDE ソフトウェア 「D1 Mini & D1 R2」のボード情報 ESP8266用のAddOn CH340に割り当てた通信ポートドライバ(Windows | MacOS) Blink 動作確認のため、まずLちか(Blink)をする。 ボードから、WeMosには「D1 Mini & D1 R2」を選択する。 通信ポートは、デバイスマネージャーから見えた、CH340に割り当てた通信ポート(COM3など)も設定して下さい。 MacOSの場合、次のように設定する。 (LEDはGPIO 5 に接続)の場合のスケッチ。 WeMosの内蔵LEDを利用する場合、プリグラムは次のように #define ESP8266_LED BUILTIN_LED void setup() { pinMode(ESP8266_LED, OUTPUT); } void loop() { digitalWrite(ESP8266_LED, HIGH); delay(500); digitalWrite(ESP8266_LED, LOW); delay(500); } 参考 http://www.esp8266learning.com/ https://www.baldengineer.com/esp8266-5-reasons-to-use-one.html
About ESP8266 IoT Study Kit
ESP8266 IoT Study Kitとは ESP8266 IoT Study Kitは、(ESP8266 WeMos D1 Mini + OLED + BMP280)の組み合わせで構成されたIoT勉強用キット。 ESP8266 WeMos D1 Mini 、OLED と BMP280はI2Cバスで接続する。 I2Cでは2ポートだけで通信できる。2本のデータ線を使い、一本SDAをデータ通信(双方向)にもう一本SCLをクロックを送るために使う。それぞれのセンサなどを区別するにはアドレスを設定しておき、それをもとに区別する。 ESP8266 IoT Study Kitに含まれるOLED と BMP280の他に、I2C対応のADC利用して、アナログデータの送受信も可能である。 単体での利用 Arduino ベースの開発、センサー、WiFi通信、OLED表示装置内蔵、単体でで温度、気圧計測、表示できる。 クラウド、スマートフォンと連携 さらにクラウドにデータ蓄積、スマートフォンから制御可能である。
Arduino UNO (1) Lちか
接続図 ArduinoのGNDとD13の間に赤色LEDとカーボン抵抗330Ωを接続しましょう。 Arduino IDEのインストール Arduino IDEがまたインストールしてないの場合、普通に、Arduino IDEのインストールする。 以下URLから、ArduinoのウェブサイトからIDEをダウンロードして、インストールする https://www.arduino.cc/en/Main/Software CH340のドライバー UNO互換機を使っている方は、特に何も必要ないが、今まで互換機を使ったことが無い方はWeMosのホームページからCH340のドライバー(CH341SER_MAC.ZIP)をインストールする必要がある。 以下江苏沁恒股份有限公司のHPから CH341SER.ZIP をダウンロードして解凍し、ファイルが展開されるので setup.exe を実行。 http://www.wch.cn/download/CH341SER_ZIP.html http://www.wch.cn/download/CH341SER_MAC_ZIP.html Blink 動作確認のため、まずLちか(Blink)をする。 プログラムを実行してみましょう。接続した赤色LEDが1秒間隔で点滅したら成功です。 // led_blink_sample1 const int led_pin = 13; // LED connected to digital pin 13 void setup() { pinMode( led_pin, OUTPUT ); // sets the digital pin as output } void loop() { digitalWrite( led_pin, HIGH […]