Relative Content

Tag Archive for featured

WeMos (d3) Web LED Matrix

最初はプレゼントタイマーを作るつもり。 しかし、TinyebDBの文字列を表示する方がはるかも簡単、汎用性もいい。 できたものはこれ: 電源が繋いたら、WiFiを自動で接続、それからTinyWebDBから文字列を取得と表示する。 これならプレゼントタイマーだけじゃなく、お知らせ、顔認証して名前で挨拶とかにも活用できそう。 #include <SPI.h> #include <Adafruit_GFX.h> #include <Max72xxPanel.h> #include <time.h> #include <ArduinoJson.h> #include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> WiFiClient client; const char* resource = “http://tinydb.ml/api/”; // http resource const unsigned long BAUD_RATE = 9600; // serial connection speed const unsigned long HTTP_TIMEOUT = 10000; // max respone time from server const size_t MAX_CONTENT_SIZE = […]

WeMos (d2) Home Automation

TinyWebDB-APIを利用した、Home Automationの例。 ハードウェア “IoT-Cloud-Mobile Study Kit”を利用 データ送信 下記のは操作中、数分起き温度、気圧センサーのデータをTinyWebDB-APIテストサーバ(http://tinydb.ml/api/)へ送信する。 送信したデータは、http://tinydb.ml/status/で確認できる。 データ受信 スマートフォンからLED On/Off の指令は受信すると、ESP8266内蔵LEDは点/滅可能になった。 ソースコード // Sample Arduino Json Web Client // Downloads and parse http://jsonplaceholder.typicode.com/users/1 // // Copyright Benoit Blanchon 2014-2017 // MIT License // // Arduino JSON library // https://bblanchon.github.io/ArduinoJson/ // If you like this project, please add a star! #include &lt;ArduinoJson.h&gt; #include &lt;Arduino.h&gt; […]

WeMos Smart Car Motor Shield

学園祭のため、IoTぼいのスマート車を作る。 しかし、注文したMotor Shield とは、違うもの(base only)が来たので、急遽自作する。 そのためのコントロールするAppも作りたいが、時間がなくって、ネットからWebページでコントロールするものを探して、沢山手直して、動くようになった。 車数台用意して、各車のIPは固定にしたいので、WiFiManager使わない方法をとった。 Webページでコントロールするから、遅延は目たつ。 時間があったら、ちゃんとアクセルペダルなど追加して、アプリの形にしたい。 // include libraries #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> #define motor_lf D3 #define motor_lb D4 #define motor_rf D6 #define motor_rb D5 // configure server ESP8266WebServer server(80); const char *form = “<!DOCTYPE HTML>” “<meta name=’viewport’ content=’width=device-width’>” “<html>” “<center><form action=’/’>” “<button name=’dir’ type=’submit’ value=’4′>Forward</button><p>” “<button name=’dir’ type=’submit’ value=’1′>Left</button> ” “<button […]

WeMos (c6) Thingspeak

数回JSON関連の実験をしたが、いざTinyWebDBのAPIの実験を始まると、また引っかかるところが多い。 色々と検索してところ、ThingspeakのAPIサンプルが見つかったので、ちょっと曲がり道して試すことに。 センサーの温度と気圧をThingspeakにアップして、動きを見て見る。 まずThingspeakのアカウントを申請して、THINGSPEAK_API_KEYを取得する。 https://thingspeak.com/users/sign_up 次はサンプルを見ながら、プログラミング。 #include <Adafruit_BMP280.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 0 // GPIO0 Adafruit_SSD1306 OLED(OLED_RESET); #define BMP_SCK 13 #define BMP_MISO 12 #define BMP_MOSI 11 #define BMP_CS 10 Adafruit_BMP280 bmp; // I2C //Adafruit_BMP280 bmp(BMP_CS); // hardware SPI //Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK); #include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> /*************************** * Begin Settings **************************/ const […]

WeMos (c3) Home IoT Server

いよいよWiFiManagerを組み込み、理想のIoT-Cloud-Mobile Study Kit (IoT実験キット)の形ができた。 今回の実験はWeMosにhttpサーバを立ち上げて、ブラウザーから接続 を待機;接続するとBMP280センサー情報を返送する。 つまり、スマートフォンまたはPCから直接接続して利用する。この場合ローカル環境の利用に限られ、出かける時でも利用するため、クラウド(例えばTinyWebDB API)が必要だ。 WiFiManagerを組み込みだ、Home IoT Server。 /* * */ #include <Wire.h> #include <Adafruit_BMP280.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 0 // GPIO0 Adafruit_SSD1306 OLED(OLED_RESET); #define BMP_SCK 13 #define BMP_MISO 12 #define BMP_MOSI 11 #define BMP_CS 10 Adafruit_BMP280 bmp; // I2C //Adafruit_BMP280 bmp(BMP_CS); // hardware SPI //Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK); […]

WeMos (8) MAX7219-LED-4x8x8-Matrix

4連装8×8 LEDは数ヶ月前購入したが、発表用タイマーを作りたい。 まず点灯テストから。 googleでなかなかいい事例が見つからないので、githubで検索してみたら、すぐ見つかった。 https://github.com/G6EJD/ESP8266-MAX7219-LED-4x8x8-Matrix-Clock   #include <SPI.h> #include <Adafruit_GFX.h> #include <Max72xxPanel.h> #include <time.h> int pinCS = D4; // Attach CS to this pin, DIN to MOSI and CLK to SCK (cf http://arduino.cc/en/Reference/SPI ) int numberOfHorizontalDisplays = 4; int numberOfVerticalDisplays = 1; char time_value[20]; // LED Matrix Pin -> ESP8266 Pin // Vcc -> 3v […]

WeMos (b6) I2C (BMP280+1602 LCD)

/* * */ #include <Wire.h> #include <Adafruit_BMP280.h> #include <LiquidCrystal_I2C.h> //For SPI connection! #define BMP_SCK D5 #define BMP_MISO D6 #define BMP_MOSI D7 #define BMP_CS D3 Adafruit_BMP280 bmp; // I2C // Adafruit_BMP280 bmp(BMP_CS); // hardware SPI // Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK); // Set the LCD address to 0x27 for a 16 chars and 2 line display […]

WeMos (b5) I2C (BMP180+OLED)

先日OLEDの文字表示できたが、今度 I2Cに (BMP180+OLED)両方を繋いで、センサーデータの表示を試み。 たまたま、この種類のBMP180とOLEDの結線順番は同じだから、4本線だけで済む。 プログラム /* * */ #include <Wire.h> #include <Adafruit_BMP085.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 0 // GPIO0 Adafruit_SSD1306 OLED(OLED_RESET); Adafruit_BMP085 bmp; void setup() { OLED.begin(); OLED.clearDisplay(); //Add stuff into the ‘display buffer’ OLED.setTextWrap(false); OLED.setTextSize(1); OLED.setTextColor(WHITE); OLED.setCursor(0,0); OLED.println(“automatedhome.party”); OLED.display(); //output ‘display buffer’ to screen // OLED.startscrollleft(0x00, 0x0F); //make display scroll if (!bmp.begin()) […]

WeMos (b4) DHT22 温度湿度表示

BMP280気圧センサーとNikia 5110同時に使うため、SPIで通信する環境を作って試したが、相性が悪いようだ。 どちらでも単独では動くが、一緒になると、表示がうあくいかない。 そこで、DHT22という温度湿度を試して見ることに。I2C,SPIどちらでもないので、相性が問題ならないと思う。 これは成功 /* Hello World * Display a simple message on the first line of the screen * * Connections: * WeMos D1 Mini Nokia 5110 Description * (ESP8266) PCD8544 LCD * * D2 (GPIO4) 0 RST Output from ESP to reset display * D1 (GPIO5) 1 CE Output from ESP to […]

WeMos (6) Nikia 5110表示

こちらを参考して、苦労してなんとか表示できた。 下記のライブラリを追加してください Adafruit GFX Library Adafruit PCD8544 Nokia 5110 LCD library 問題は、2番目のライブラリは、そのままWeMosに対応できない、エラーがたくさん発生する! 下記のプルリクエストが無視された見たい、手動で手元のライブラリに応用してください adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library#27   配線: WeMos D1 Mini Nokia 5110 PCD8544 LCD Description D2 (GPIO4) 0 RST Output from ESP to reset display D1 (GPIO5) 1 CE Output from ESP to chip select/enable display D6 (GPIO12) 2 DC Output from display data/command to ESP […]