Relative Content

Monthly Archives: September 2018

NodeMcu (4) ADS1115 & OLED

経緯 アナログ信号を取り込み、TinyWebDBへ送るプログラムを作る予定。サンプリングレートは秒に100回。 WeMos miniは使いやすいから愛用しているが、2月から、WeMos miniの開発中も頻繁にリブートしています。デバイストライバのバージョンを変えたり、OSを変えたりしても改善しない。結局原因がわからず、仕方なく開発中書き込み直前にUSBケーブル接続、書き込み終わったらすぐUSBケーブ抜く方法で運がよければリブート回避する状態が続て、悩んでいます。 ADS1115プログラムを作るため、安定したNodeMcuできることならこちらで凌ぎ。 ADS1115とは ADS1115 は、16-Bit ADC – 4 Channel with Programmable Gain Amplifier 特徴:広い電源電圧範囲:2.0V ~ 5.5V。低消費電流: 連続モード:150μA。 _ プログラマブルゲインアンプ内蔵。プログラミング可能なコンパレータ。 _ 4本のシングルエンド入力。2本の差動入力。I2Cインターフェイス。 _ 最小±256mVから電源電圧までの入力範囲に対応。 ライブラリーでは コマンド送信し 8msec 後に データーの読み込みを行う、サンプリングレートは秒に100回するため、Adafruit_ADS1X15/Adafruit_ADS1015.hのADS1115_CONVERSIONDELAYを8から9に変更する。 結線 普通のI2Cでつなぐだけ。 スケッチ 最初のプログラムは、アナログ読む度に表示してるが、表示できるのは秒に十回未満。そしてOLEDには、1秒間読み取れたデータの個数と、最新のアナログ値を表示すると変更して110回程度読み込みできるようになり。 ADS1115_CONVERSIONDELAYを8から9に変更して、表示の通り、秒に101回って、概ね要求に満たした。 #include <Wire.h> #include <Adafruit_ADS1015.h> // ADS1015,1115 Adafruit_ADS1115 ads(0x48); // 16-bit version #include <Adafruit_GFX.h> // OLED #include <Adafruit_SSD1306.h> // OLED Adafruit_SSD1306 display(0); […]

ESP32 (3) analogRead

目的 12bit A/Dは複数内蔵するので、活用したい。 スケッチはArduino Unoと同じような記述でできる。ただし読み取り値は0〜1023ではなく0〜4096で、入力電圧の範囲は0〜3.3Vのようだ。 結線 スケッチ const int voutPin = 2; const int VOLT = 3.3; // 3.3Vを電源とした場合 const int ANALOG_MAX = 4096; // ESP32の場合 void setup() { Serial.begin(115200); } void loop() { // R1の電圧を取得 int reading = analogRead(voutPin); // AD値をmVに変換 float voltage = ((long)reading * VOLT * 1000) / ANALOG_MAX; Serial.print(voltage); Serial.println(” mV, […]

ESP32 (2) SSD1306 & Clock

目的 SSD1306に時刻を表示するプログラム。 ESP8266と違って、SCL,SDAを探すも一苦労。 I2C0 – SDA,SCL = 21,22 **2019/9/2 注意:Adafruit_SSD1306関数の引数順番変更により、関連プログラムが影響する。 もともと次のような1行ものが、 // Adafruit_SSD1306 display(OLED_RESET); 次の数行に変わる。 // OLED Setting #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); なぜ互換性ないの引数順にするね?!どうしてもしたいならば、コンパイルエラーを出す方法で、修正を促す。 以前のプログラムが再検証するところ、エラーがなし、書き込みも成功、しかしOLEDが表示ない!困った。 […]

ESP32 (1) Blink

Lチカのプログラム ESP32-DevKitC を USB ケーブルで PC と接続. Arduino IDE のメニューから  Tools – Port – /dev/cu.SLAB_USBtoUART を選択(Mac OS Xの場合). 一番単純そうなサンプルスケッチを実行する. メニューから File – Examples – (Examples for ESP32 Dev Module) – ESP32 – ChipID – GetChipID を選択. Lチカ用内蔵LEDがGPIO2にあるが、GPIO4に外付けLEDを繋いでやった。 プログラム void setup() { pinMode(4, OUTPUT); } void loop() { digitalWrite(4, HIGH); delay(250); digitalWrite(4, LOW); delay(250); }     参考 https://qiita.com/Guwashi/items/1009faab2d3db24d80d5 https://kokensha.xyz/iot/mac-esp32-and-arduino-led/

Setup Arduino IDE for Raspberry Pi

インストール ホームディレクトリの ~/Appcations/arduinoにインストールします・ ファイルマネージャを起動しホームディレクトリ(/home/[ユーザ名]配下に Applications フォルダを作ります。 ブラウザを起動しhttps://arduino.cc/en/Main/SoftwareからArduino IDE Linux ARMをダウンロードします。 ダウンロードしたファイル arduino-1.8.5-linuxarm.tar.xz を右クリックしExtract to を選択します。図1 Extract files の Extract to 欄に /home/[ユーザ名]/Applicationsを入力し,Extractボタンをクリックします。図2 図1 図2 ターミナルを起動し次のように操作します。 $ cd ~/Applications   ←カレントディレクトリ(作業ディレクトリ)をApplicationsに移動します $ ls                                 ←ファイル一覧を表示 arduino-1.8.5 $ ln -s arduino-1.8.5 arduino ←シンボリックリンク arduino を作ります $ ls arduino atduino-1.8.5 $ cd arduino ←arduinoに移動します $ ls arduino hardware lib revisions.txt uninstall.sh arduino-builder install.sh […]

Setup Arduino IDE for Ubuntu

経緯 今までArduino IDEのMacbookまたはWindows版を利用している。ESP8266/WeMosに限って、よくクラッシュする。 同じシリアルCH340を使う、安価のUno、Nanoは普通に使えるので、シリアルドライバーではなく、WeMos、ESP8266に関する何か異変があると思う。 頻繁にクラッシュするから仕事進まないと困る。Ubuntuで安定するかを試すことに。 Arduino IDEのインストール Linux 64 bits 版 Arduino IDE をダウンロード https://www.arduino.cc/en/Main/Software Arduino IDEのインストールする。ファイルの展開のみ $ tar xvfJ arduino-1.6.7-linux64.tar.xz CH340のドライバー(Linux) 今まで互換機を使ったことが無い方はWeMosのホームページからCH340のドライバーをインストールする必要がある。 $ sudo apt install make gcc libelf-dev http://www.wch.cn/download/CH341SER_LINUX_ZIP.html インストール //compile #make //load ch34x chips driver #make load //unload ch34x chips driver #make unload しかし、コンバイルうまくできない。 ドライバー探す ネットで探したら、下記の発見。 https://github.com/juliagoda/CH341SER Gitでコードを取得する。 $ git clone https://github.com/juliagoda/CH341SER 「readme.txt」を参考にコンパイル。 […]

Setup for Macbook

MacbookにArduino IDEのインストール Arduino IDEがまたインストールしてないの場合、普通に、Arduino IDEのインストールする。 以下URLから、ArduinoのウェブサイトからIDEをダウンロードして、インストールする https://www.arduino.cc/en/Main/Software シリアル通信ドライバ 利用する開発ボードにより、下記のCH340のドライバー(Mac)、またはCP2102のドライバー(Mac)どちらかインストールする必要がある。 CH340のドライバー(Mac) UNO互換機を使っている方は、特に何も必要ないが、今まで互換機を使ったことが無い方はWeMosのホームページからCH340のドライバーをインストールする必要がある。 http://www.wch.cn/download/CH341SER_MAC_ZIP.html ドライバをインストールしたら、シリアルポート(Port): /dev/cu.wchusbserial1420 が現れる。 CP2102のドライバー(Mac) まずシリアル変換:CP2102のため、ドライバーのインストールが必要。 Silicon Labsの以下のURLから「Mac用」ドライバをダウンロード USB – UART ブリッジ VCP ドライバ|Silicon Labs ドライバをインストールしたら、シリアルポート(Port): /dev/cu.SLAB_USBtoUART が現れる。 Big Sur以降python not found問題 Big SurでESP32に焼こうとしたところexec python executable file not found in $pathと出る問題。 ターミナルでpython -Vと打っても、見つからないと言われ、試しにpython3 -Vと打ったところ、正常な返答がありました。 つまり、原因は、Big Surから、標準のpython(python2)を外したので、見つからないになった。 対策は、pythonからpython3へのリンクを作るか、esp32のライブラリに、pythonを呼ぶところをpython3に書き換える。 治し方 ターミナルを開いて、 sed -i -e ‘s/=python /=python3 /g’ ~/Library/Arduino15/packages/esp32/hardware/esp32/*/platform.txt 接続するとMacがクラッシュ問題 […]

Setup Arduino IDE for Windows

Arduino IDEのインストール Arduino IDEがまたインストールしてないの場合、普通に、Arduino IDEのインストールする。 以下URLから、ArduinoのウェブサイトからIDEをダウンロードして、インストールする https://www.arduino.cc/en/Main/Software Arduino互換機追加デバイスドライバ UNO互換機、WeMos、「LoLin NodeMCU」 「Amica NodeMCU」を初めて利用する場合、追加デバイスドライバのインストールが必要。 互換機開発ボードのシリアルチップにより、CH340またはCP2102など追加デバイスドライバのインストールが必要がある。 CH340のドライバー(Windows) UNO互換機を使っている方は、特に何も必要ないが、今まで互換機を使ったことが無い方はWeMosのホームページからCH340のドライバー(CH341SER_MAC.ZIP)をインストールする必要がある。 http://www.wch.cn/download/CH341SER_ZIP.html コントロールパネルからデバイスマネージャーを開き、ほかのデバイス>不明なデバイスを右クリック、ハードウェアの更新をクリック。 「コンピュータを参照してドライバーソフトウェアを検索します」を選択。 ダウンロードしたファイルが入っているフォルダを指定し、次へをクリックするとドライバがインストールされる。 「コンピュータの管理」ー「デバイス・マネージャー」-「ポート」で、CH430 のシリアルポートが確認できれば完成。 CP2102のドライバー(Windows)   まずシリアル変換:CP2102のため、ドライバーのインストールが必要。 Silicon Labsの以下のURLから「Windows 7/8/8.1/10用」ドライバをダウンロード USB – UART ブリッジ VCP ドライバ|Silicon Labs ダウンロードしたZIP(CP210x_Windows_Drivers.zip)を展開し、CP210xVCPInstaller_x64.exeを実行し、ドライバインストールを開始する。 Arduino互換機追加AddOn Arduino-IDEを使ってスケッチを書き込むには、互換機開発ボードにより、ESP8266用またはESP32用のAddOnを追加する必要がある。 ESP8266 ESP32 Digispark  

About Arduino

Arduino とは Arduino(アルドゥイーノ[1])は、AVRマイコン、入出力ポートを備えた基板、C++風のArduino言語とそれの統合開発環境から構成されるシステム。Arduino LLC および Arduino SRL が設計・製造を行い、登録商標を持っている。 純正の基板 安定して製品、値段は少々高額になり。 Arduino UNO Arduino NANO Arduino 101 … 互換基板 一部純正同じ名前、外観も類似のものがある。USBドライバインストール必要。値段は安い、WiFi内臓など機能が豊富。 Arduino UNO (CH340) Arduino NANO(CH340) ESP8266 ESP-WROOM-02 ESP8266 NodeMcu ESP8266 Wemos …

Arduino NANO (8) ADS1115 & OLED

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