Relative Content

Arduino UNO

Arduino UNO (9) 2.4 inch LCD Shield

Arduino UNO用のシールドモジュール、2.4インチパラレルTFTモジュールを試した。 センサーの情報を表示するため、1年前も購入したが、なかなか試す機会がなく。 「参考1」から、mcufriend.comの2.4インチシールドモジュールには多数のバリエーションが有る。「参考2」のCHIP IDで対応するLCDドライバーを探せと、「参考3」のライブラリで、LCD_ID_readregで分かるらしい。しかしいろいろと引っかかって、しばらく挫折。 「参考4Mcufriend 2.4インチLCD を使ってみました」を参考に、一応サンプルの動作は数個確認した。 動作に必要なライブラリは次3つ。 いずれもArduinoの標準ライブラリから導入できる。 グラフィックドライブ https://github.com/prenticedavid/MCUFRIEND_kbv https://github.com/adafruit/Adafruit-GFX-Library4線式タッチスクリーン https://github.com/adafruit/Touch-Screen-Library MCUFRIEND_kbv に付属するgraphictest_kbvを実行するところ。なぜか、左右逆になっている? (さらに購入してわかったが、プログラムの問題ではなく、ハードウェアの問題かも。というか以前購入した2個は全部表示逆になっている、その後購入した2個は正しく表示) demoビデオも撮ったけど、ボケっている。 取り敢えず動くと確認した。   参考: http://nopnop2002.webcrow.jp/TFT/ILI9325-Para-1.html http://domoticx.com/arduino-shield-2-4-tft-lcd-touch/ https://github.com/prenticedavid/MCUFRIEND_kbv https://blogs.yahoo.co.jp/hobbyele/64853416.html  

Arduino UNO (8) mini-Oscilloscope

Piezoセンサーを検証中、信号が見えないので、機能の確認に困っている。 OLEDのミニモニターは、何とかできないかよ探したところ、Arduino UNO時代のものがあり、ESP8266の対応品がない。ESP8266に対応して見たが、うまく表示できない。 仕方なく、蔵入りのArduino UNOを出して、まず検証して見る。   コンパイルエラーと、それと関連する表示範囲おかしい問題があった。 下記の分はエラーになり、コメントアウトして対応。 // error(“Height incorrect, please fix Adafruit_SSD1306.h!”); そして表示範囲おかしい問題は、Adafruit_SSD1306.hを直接修正し、ディフォルトの128×32をコメントアウトし、もう一つの128×64のコメントを外すように変更した。 結果はうまくできた。 Arduino mini-oscilloscope /* This is set up to use a 128×64 I2C screen, as available here: http://www.banggood.com/buy/0-96-oled.html For wiring details see http://youtu.be/XHDNXXhg3Hg */ #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #if (SSD1306_LCDHEIGHT != […]

Arduino UNO (7) L298N

Arduino UNO でCarのモーターを動かす。 接続方法 Library追加 L298N Dual H-Bridge library for controlling via PWN 2 motors https://github.com/yohendry/arduino_L298N テストプログラム #include <L298N.h> const int ENA = 6; const int IN1 = 9; const int IN2 = 7; const int IN3 = 2; const int IN4 = 4; const int ENB = 3; L298N driver(ENA,IN1,IN2,IN3,IN4,ENB); int time_delay = 500; […]

Arduino UNO (6) i2c scanner

i2c のアドレスを確かめるため、下記のプログラムを動かせばいい。 // ————————————– // i2c_scanner // // Version 1 // This program (or code that looks like it) // can be found in many places. // For example on the Arduino.cc forum. // The original author is not know. // Version 2, Juni 2012, Using Arduino 1.0.1 // Adapted to be as simple as […]

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 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 […]

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 […]