#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Adafruit_NeoPixel.h>
#define PIN D4
Adafruit_NeoPixel led = Adafruit_NeoPixel(68, PIN, NEO_GRB + NEO_KHZ800);
int blackNum = 24;
int pupilNum = 12;
uint32_t color;
int brightness = 40;
byte eyeColor;
int LR =0;
//Black eye L&R animation
int blackLED[15][24] = {{12,32,35,55,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},
{12,13,31,36,54,55,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},
{11,13,14,30,37,53,54,56,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},
{10,11,14,15,29,38,52,53,56,57,68,68,68,68,68,68,68,68,68,68,68,68,68,68},
{ 9,10,11,12,15,16,28,33,34,39,51,52,55,56,57,58,68,68,68,68,68,68,68,68},
{ 0, 8, 9,10,11,12,13,16,17,27,32,35,40,50,51,54,55,56,57,58,59,67,68,68},
{ 0, 1, 7, 8, 9,10,13,14,17,18,26,31,36,41,49,50,53,54,57,58,59,60,66,67},
{ 1, 2, 6, 7, 8, 9,14,15,18,19,25,30,37,42,48,49,52,53,58,59,60,61,65,66},
{ 2, 3, 5, 6, 7, 8,15,16,19,20,24,29,38,43,47,48,51,52,59,60,61,62,64,65},
{ 3, 4, 5, 6, 7,16,17,20,21,23,28,39,44,46,47,50,51,60,61,62,63,64,68,68},
{ 4, 5, 6,17,18,21,22,27,40,45,46,49,50,61,62,63,68,68,68,68,68,68,68,68},
{ 4, 5,18,19,26,41,48,49,62,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},
{ 4,19,20,25,42,47,48,63,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},
{20,21,24,43,46,47,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},
{21,23,44,46,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68}};
//pupil L&R animation
int pupilLED[15][12] = {{33,34,68,68,68,68,68,68,68,68,68,68},
{32,33,34,35,68,68,68,68,68,68,68,68},
{12,31,32,33,34,35,36,55,68,68,68,68},
{12,13,30,31,32,33,34,35,36,37,54,55},
{13,14,29,30,31,32,35,36,37,38,53,54},
{14,15,28,29,30,31,36,37,38,39,52,53},
{15,16,27,28,29,30,37,38,39,40,51,52},
{16,17,26,27,28,29,38,39,40,41,50,51},
{17,18,25,26,27,28,39,40,41,42,49,50},
{18,19,24,25,26,27,40,41,42,43,48,49},
{19,20,23,24,25,26,41,42,43,44,47,48},
{20,21,22,23,24,25,42,43,44,45,46,47},
{21,22,23,24,43,44,45,46,68,68,68,68},
{22,23,44,45,68,68,68,68,68,68,68,68},
{22,45,68,68,68,68,68,68,68,68,68,68}};
//Blink animation
int eyelid = 0;
int eyelidNum[8] = {0,4,8,16,24,34,44,56};
int eyelidLED[56] = {64,65,66,67,58,59,60,61,56,57,62,63,49,50,51,52,47,48,53,54,38,39,40,41,46,55,36,37,42,43,26,27,28,29,35,44,24,25,30,31,15,16,17,18,34,45,23,32,13,14,19,20,6,7,8,9};
int x, y;
//Blynkアプリで取得したAuth Tokenを入力
char auth[] = "B側用のAuth Token";
//WiFiのSSID、パスワード指定
char ssid[] = "WiFiのSSID";
char pass[] = "パスワード";
void setup() {
// Debug console
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
led.begin();
led.setBrightness(brightness); // Initial Brightness 40
led.show(); // Initialize all pixels to 'off'
color = led.Color(0, 177, 55); //瞳の色
}
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 - WheelPos;
if(WheelPos < 85) {
return led.Color(255 - WheelPos * 3, 0, WheelPos * 3);
}
if(WheelPos < 170) {
WheelPos -= 85;
return led.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
WheelPos -= 170;
return led.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}
void blink(int eyelid, int LR) {
if (eyelid != 8){
//白目
for(uint16_t i=0; i<led.numPixels(); i++) {
led.setPixelColor(i, led.Color(66, 66, 66));
}
//黒目
for(uint16_t i=0; i<blackNum; i++) {
led.setPixelColor(blackLED[LR][i], color);
}
//瞳孔
for(uint16_t i=0; i<pupilNum; i++) {
led.setPixelColor(pupilLED[LR][i], led.Color(0, 0, 66));
}
//まぶた
for(int i=0; i < eyelidNum[eyelid]; i++) {
led.setPixelColor(eyelidLED[i], 0);
}
} else if (eyelid == 8){
led.clear();
}
led.show();
}
//ヴァーチャルピンV1に送られた値を取得し目ン玉をうごかす
BLYNK_WRITE(V1){
x = param[0].asInt();
y = param[1].asInt();
Serial.print("joyx: "); Serial.print(x);
Serial.print(" joyy: "); Serial.println(y);
//ジョイスティックy軸でまばたき
eyelid = map(y, 29, 130, 8, 0);
if (eyelid > 8) {
eyelid = 8;
}
if (eyelid < 0) {
eyelid = 0;
}
//ジョイスティックx軸で瞳左右
LR = map(x, 29, 226, 0, 14);
if (LR > 14) {
LR = 14;
}
if (LR < 0) {
LR = 0;
}
blink(eyelid, LR);
}
void loop() {
Blynk.run();
}
はじめまして
バッテリーモジュールが現在売られていないのですが、バッテリーを他の方法でつなげるやり方はご存知でしょうか?
コメントありがとうございます。
ここで使用したLiPoバッテリーのコネクタはJST-PH2.0ですので
JST-PH2.0のオスコネクタを使用すればよいかと思います。
メスコネクタもセットでついてきてしまいますが
https://amzn.to/2Chf07x
こちらなどいかがでしょうか
ありがとうございます。
こちらの商品で試してみます!!
因みに400mAhの場合実際に使用できる時間はどれくらいでしょうか?
申し訳ございません。LiPoでの長時間動作確認は実施したことがなく、
WiFi通信回数や電気負荷に大きく依存するかと思いますので明確な回答はできかねます。
ご了承ください。
すいません
そうですよね。
私の方で確認してみます。
素早い返信ありがとうございます。