From 8f27522ce75bd110b94ee635123a35a7328fee1f Mon Sep 17 00:00:00 2001 From: sakegohan Date: Tue, 16 Dec 2025 21:33:25 +0900 Subject: [PATCH 1/8] =?UTF-8?q?=E3=83=9C=E3=82=BF=E3=83=B3=E3=81=A8LCD?= =?UTF-8?q?=E3=81=AE=E5=9C=9F=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hardware/sketch_dec16a/sketch_dec16a.ino | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 hardware/sketch_dec16a/sketch_dec16a.ino diff --git a/hardware/sketch_dec16a/sketch_dec16a.ino b/hardware/sketch_dec16a/sketch_dec16a.ino new file mode 100644 index 0000000..e950e1a --- /dev/null +++ b/hardware/sketch_dec16a/sketch_dec16a.ino @@ -0,0 +1,29 @@ +# define SW1 33 +# define SW2 33 +#include +LiquidCrystal lcd(32,25,26,27,14,13); + +char buf[50]; + +void setup() { + Serial.begin(9600); + pinMode(SW1,INPUT_PULLUP); + pinMode(SW2,INPUT_PULLUP); + + lcd.begin(16, 2); + lcd.clear(); + lcd.print("Hello World!"); + lcd.setCursor(0,1); + lcd.print ("LCD with ESP32"); + + snprintf(buf,sizeof(buf),"%s","ア"); + Serial.println(buf); +} + +void loop() { + int state1 = digitalRead(SW1); + Serial.println(state1); + int state2 = digitalRead(SW2); + Serial.println(state2); +} + From 732d6b2d97f1ab6598a5450858609ce073ae5a87 Mon Sep 17 00:00:00 2001 From: Okhotsk-hr Date: Tue, 16 Dec 2025 21:44:51 +0900 Subject: [PATCH 2/8] =?UTF-8?q?ESP32=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E5=90=8D=E5=A4=89=E6=9B=B4>main.ino?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{sketch_dec16a/sketch_dec16a.ino => hardware/hardware.ino} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename hardware/{sketch_dec16a/sketch_dec16a.ino => hardware/hardware.ino} (100%) diff --git a/hardware/sketch_dec16a/sketch_dec16a.ino b/hardware/hardware/hardware.ino similarity index 100% rename from hardware/sketch_dec16a/sketch_dec16a.ino rename to hardware/hardware/hardware.ino From 4c06cdde4ad4116b4ae6056e030ac50e2c8b4d80 Mon Sep 17 00:00:00 2001 From: sakegohan Date: Thu, 18 Dec 2025 21:09:17 +0900 Subject: [PATCH 3/8] =?UTF-8?q?=E5=A4=A7=E6=9E=A0=E3=81=AE=E3=83=97?= =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=83=A9=E3=83=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hardware/hardware/hardware.ino | 50 ++++++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/hardware/hardware/hardware.ino b/hardware/hardware/hardware.ino index e950e1a..41cabb8 100644 --- a/hardware/hardware/hardware.ino +++ b/hardware/hardware/hardware.ino @@ -1,29 +1,69 @@ -# define SW1 33 -# define SW2 33 +#define SW1 33 +#define SW2 33 #include LiquidCrystal lcd(32,25,26,27,14,13); -char buf[50]; +char Q[4][50] = { + "boy or girl", + "new or old", + "real or fantasy", + "ONIGIRI or Hamburger" +}; + +int inputlog[3]; void setup() { Serial.begin(9600); - pinMode(SW1,INPUT_PULLUP); - pinMode(SW2,INPUT_PULLUP); + pinMode(SW1, INPUT_PULLUP); + pinMode(SW2, INPUT_PULLUP); lcd.begin(16, 2); + /* lcd.clear(); lcd.print("Hello World!"); lcd.setCursor(0,1); lcd.print ("LCD with ESP32"); + //文字列追加 snprintf(buf,sizeof(buf),"%s","ア"); Serial.println(buf); + */ + + + + for(int i=0;i<5;i++){ + int lastState1 = HIGH; + int lastState2 = HIGH; + + while(true){ + int currentState1 = digitalRead(SW1); + int currentState2 = digitalRead(SW2); + + lcd.clear(); + lcd.setCursor(0, 1); + lcd.print(Q[i]); + + if(lastState1==HIGH && currentState1==LOW){ + inputlog[i] = 0; + break; + }else if(lastState2==HIGH && currentState2==LOW){ + inputlog[i] = 1; + break; + } + + lastState1 = currentState1; + lastState2 = currentState2; + delay(50); + } + } } void loop() { + /* int state1 = digitalRead(SW1); Serial.println(state1); int state2 = digitalRead(SW2); Serial.println(state2); + */ } From b0bc79b7f108bdf2921ebba9eac3f670f4ea03fc Mon Sep 17 00:00:00 2001 From: Okhotsk-hr Date: Fri, 19 Dec 2025 01:22:02 +0900 Subject: [PATCH 4/8] =?UTF-8?q?=E3=83=8F=E3=83=BC=E3=83=89=E3=82=A6?= =?UTF-8?q?=E3=82=A7=E3=82=A2=E5=8D=98=E4=BD=93=E3=81=AE=E5=8B=95=E4=BD=9C?= =?UTF-8?q?=E3=83=97=E3=83=AD=E3=82=B0=E3=83=A9=E3=83=A0=E5=AE=8C=E4=BA=86?= =?UTF-8?q?(=E5=AE=9F=E6=A9=9F=E8=AA=BF=E6=95=B4=E3=81=93=E3=82=8C?= =?UTF-8?q?=E3=81=8B=E3=82=89)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hardware/hardware/hardware.ino | 83 ++++++++++++++++------------------ 1 file changed, 38 insertions(+), 45 deletions(-) diff --git a/hardware/hardware/hardware.ino b/hardware/hardware/hardware.ino index 41cabb8..72f1921 100644 --- a/hardware/hardware/hardware.ino +++ b/hardware/hardware/hardware.ino @@ -1,8 +1,9 @@ -#define SW1 33 -#define SW2 33 +#define SW1 22 +#define SW2 23 #include -LiquidCrystal lcd(32,25,26,27,14,13); +LiquidCrystal lcd(32, 25, 26, 27, 14, 13); +//質問の配列 char Q[4][50] = { "boy or girl", "new or old", @@ -10,60 +11,52 @@ char Q[4][50] = { "ONIGIRI or Hamburger" }; -int inputlog[3]; +//回答を保存するための文字列 +char ans = ""; + +//ボタンの状態を保存する変数 +int state1 = 1; +int state2 = 1; void setup() { + //シリアルモニターを使用するため Serial.begin(9600); + //ボタンの設定 pinMode(SW1, INPUT_PULLUP); pinMode(SW2, INPUT_PULLUP); + //LCDを使用するため lcd.begin(16, 2); - /* - lcd.clear(); - lcd.print("Hello World!"); - lcd.setCursor(0,1); - lcd.print ("LCD with ESP32"); - - //文字列追加 - snprintf(buf,sizeof(buf),"%s","ア"); - Serial.println(buf); - */ - - - - for(int i=0;i<5;i++){ - int lastState1 = HIGH; - int lastState2 = HIGH; - while(true){ - int currentState1 = digitalRead(SW1); - int currentState2 = digitalRead(SW2); - - lcd.clear(); - lcd.setCursor(0, 1); - lcd.print(Q[i]); - - if(lastState1==HIGH && currentState1==LOW){ - inputlog[i] = 0; - break; - }else if(lastState2==HIGH && currentState2==LOW){ - inputlog[i] = 1; - break; - } + //質問の数繰り返し + for (int i = 0; i < 4; i++) { + //2行目に質問の選択肢を表示 + lcd.clear(); + lcd.setCursor(0, 1); + lcd.print(Q[i]); + + //ボタンの状態を変数に保存 + state1 = digitalRead(SW1); + state2 = digitalRead(SW2); + + //ボタンがどちらか押されるまで先に進まない + while (!state1 && !state2) { + //ボタンの状態更新 + state1 = digitalRead(SW1); + state2 = digitalRead(SW2); + } - lastState1 = currentState1; - lastState2 = currentState2; - delay(50); + //ボタン1が押されたら0,ボタン2が押されたら1で回答を保存 + if (!state1) { + ans += "0"; + } else { + ans += "1"; } + //確認用にシリアルモニターに出力 + Serial.println(ans); } } void loop() { - /* - int state1 = digitalRead(SW1); - Serial.println(state1); - int state2 = digitalRead(SW2); - Serial.println(state2); - */ + //loopは使わない } - From 3547ec8b15317598a40d68540aadb36a59aa7810 Mon Sep 17 00:00:00 2001 From: Okhotsk-hr Date: Fri, 19 Dec 2025 13:56:15 +0900 Subject: [PATCH 5/8] =?UTF-8?q?=E5=AE=9F=E6=A9=9F=E3=81=A7=E3=81=AE?= =?UTF-8?q?=E5=8B=95=E4=BD=9C=E3=83=86=E3=82=B9=E3=83=88=E5=BE=85=E3=81=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hardware/hardware/hardware.ino | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/hardware/hardware/hardware.ino b/hardware/hardware/hardware.ino index 72f1921..2c18af5 100644 --- a/hardware/hardware/hardware.ino +++ b/hardware/hardware/hardware.ino @@ -2,13 +2,14 @@ #define SW2 23 #include LiquidCrystal lcd(32, 25, 26, 27, 14, 13); +byte title[] = {0xB1,0xC5,0xC0,0xB6,0xDE,0xB4,0xD7,0xCC,0xDE,0xC9,0xCA};//アナタガエラブノハ //質問の配列 char Q[4][50] = { - "boy or girl", - "new or old", - "real or fantasy", - "ONIGIRI or Hamburger" + "Boy/Girl", + "New/Old", + "Real/Fantasy", + "Rice/Bread" }; //回答を保存するための文字列 @@ -30,8 +31,9 @@ void setup() { //質問の数繰り返し for (int i = 0; i < 4; i++) { - //2行目に質問の選択肢を表示 lcd.clear(); + lcd.write(title, 11);//1行目を表示 + //2行目に質問の選択肢を表示 lcd.setCursor(0, 1); lcd.print(Q[i]); From b07ce4c7706561330509e4876f7bc195a6d38b11 Mon Sep 17 00:00:00 2001 From: Okhotsk-hr Date: Fri, 19 Dec 2025 19:37:42 +0900 Subject: [PATCH 6/8] =?UTF-8?q?=E5=B0=91=E3=81=97=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hardware/hardware/hardware.ino | 8 +++++--- hardware/hardware/wifi.ino | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 hardware/hardware/wifi.ino diff --git a/hardware/hardware/hardware.ino b/hardware/hardware/hardware.ino index 2c18af5..17edc51 100644 --- a/hardware/hardware/hardware.ino +++ b/hardware/hardware/hardware.ino @@ -13,7 +13,7 @@ char Q[4][50] = { }; //回答を保存するための文字列 -char ans = ""; +String ans = "0"; //ボタンの状態を保存する変数 int state1 = 1; @@ -21,7 +21,7 @@ int state2 = 1; void setup() { //シリアルモニターを使用するため - Serial.begin(9600); + Serial.begin(115200); //ボタンの設定 pinMode(SW1, INPUT_PULLUP); pinMode(SW2, INPUT_PULLUP); @@ -31,8 +31,10 @@ void setup() { //質問の数繰り返し for (int i = 0; i < 4; i++) { + Serial.println(i); lcd.clear(); - lcd.write(title, 11);//1行目を表示 + //lcd.write(title, 11);//1行目を表示 + lcd.print("aaa"); //2行目に質問の選択肢を表示 lcd.setCursor(0, 1); lcd.print(Q[i]); diff --git a/hardware/hardware/wifi.ino b/hardware/hardware/wifi.ino new file mode 100644 index 0000000..de6bc2d --- /dev/null +++ b/hardware/hardware/wifi.ino @@ -0,0 +1,2 @@ +const char *ssid = "YOUR_SSID"; +const char *password = "YOUR_PASSWORD"; \ No newline at end of file From 179f7c40d57edddac7e7d5bf0fe69359f5786753 Mon Sep 17 00:00:00 2001 From: Okhotsk-hr Date: Sat, 20 Dec 2025 03:23:19 +0900 Subject: [PATCH 7/8] =?UTF-8?q?=E5=AE=9F=E6=A9=9F=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E6=B8=88=E3=81=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hardware/hardware/hardware.ino | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/hardware/hardware/hardware.ino b/hardware/hardware/hardware.ino index 17edc51..b2659e6 100644 --- a/hardware/hardware/hardware.ino +++ b/hardware/hardware/hardware.ino @@ -2,7 +2,7 @@ #define SW2 23 #include LiquidCrystal lcd(32, 25, 26, 27, 14, 13); -byte title[] = {0xB1,0xC5,0xC0,0xB6,0xDE,0xB4,0xD7,0xCC,0xDE,0xC9,0xCA};//アナタガエラブノハ +byte title[] = { 0xB1, 0xC5, 0xC0, 0xB6, 0xDE, 0xB4, 0xD7, 0xCC, 0xDE, 0xC9, 0xCA }; //アナタガエラブノハ //質問の配列 char Q[4][50] = { @@ -13,7 +13,7 @@ char Q[4][50] = { }; //回答を保存するための文字列 -String ans = "0"; +String ans = ""; //ボタンの状態を保存する変数 int state1 = 1; @@ -44,7 +44,7 @@ void setup() { state2 = digitalRead(SW2); //ボタンがどちらか押されるまで先に進まない - while (!state1 && !state2) { + while (state1 && state2) { //ボタンの状態更新 state1 = digitalRead(SW1); state2 = digitalRead(SW2); @@ -56,6 +56,14 @@ void setup() { } else { ans += "1"; } + + //ボタンがどちらか離されるまで先に進まない + while (!state1 || !state2) { + //ボタンの状態更新 + state1 = digitalRead(SW1); + state2 = digitalRead(SW2); + } + //確認用にシリアルモニターに出力 Serial.println(ans); } From 52a06272b9ea7a881a9c2021a605a9a6e969a074 Mon Sep 17 00:00:00 2001 From: sakegohan Date: Sat, 20 Dec 2025 18:18:39 +0900 Subject: [PATCH 8/8] =?UTF-8?q?wifi=E6=8E=A5=E7=B6=9A=E3=81=A8=E3=83=87?= =?UTF-8?q?=E3=83=BC=E3=82=BF=E9=80=81=E4=BF=A1=E3=81=AE=E8=BF=BD=E5=8A=A0?= =?UTF-8?q?=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hardware/hardware/hardware.ino | 13 ++++++++-- hardware/hardware/wifi.ino | 45 ++++++++++++++++++++++++++++++++-- 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/hardware/hardware/hardware.ino b/hardware/hardware/hardware.ino index b2659e6..80bff29 100644 --- a/hardware/hardware/hardware.ino +++ b/hardware/hardware/hardware.ino @@ -22,6 +22,10 @@ int state2 = 1; void setup() { //シリアルモニターを使用するため Serial.begin(115200); + + //wifi接続 + wifi(); + //ボタンの設定 pinMode(SW1, INPUT_PULLUP); pinMode(SW2, INPUT_PULLUP); @@ -33,8 +37,8 @@ void setup() { for (int i = 0; i < 4; i++) { Serial.println(i); lcd.clear(); - //lcd.write(title, 11);//1行目を表示 - lcd.print("aaa"); + lcd.write(title, 11);//1行目を表示 + //lcd.print("aaa"); //2行目に質問の選択肢を表示 lcd.setCursor(0, 1); lcd.print(Q[i]); @@ -67,6 +71,11 @@ void setup() { //確認用にシリアルモニターに出力 Serial.println(ans); } + lcd.clear(); + lcd.print("finish"); + + //サーバーにデータ送信 + senddata(); } void loop() { diff --git a/hardware/hardware/wifi.ino b/hardware/hardware/wifi.ino index de6bc2d..caa3ced 100644 --- a/hardware/hardware/wifi.ino +++ b/hardware/hardware/wifi.ino @@ -1,2 +1,43 @@ -const char *ssid = "YOUR_SSID"; -const char *password = "YOUR_PASSWORD"; \ No newline at end of file +#include +#include + +//discordに送ったやつコピペ(wifi関連) + + +void wifi(){ + /* --- Wi-Fi 接続 --- */ + lcd.begin(16, 2); + lcd.clear(); + lcd.print("Connecting..."); + + Serial.print("Connecting to WiFi"); + WiFi.begin(ssid, password); + + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + + Serial.println("\nWiFi connected"); + Serial.print("IP address: "); + Serial.println(WiFi.localIP()); +} + +void senddata(){ + /* --- サーバー へ送信 --- */ + if (WiFi.status() == WL_CONNECTED) { + HTTPClient http; + + http.begin(serverUrl); + http.addHeader("Content-Type", "text/plain"); + + int responseCode = http.POST(ans); + + Serial.print("HTTP Response code: "); + Serial.println(responseCode); + + http.end(); + } else { + Serial.println("WiFi not connected"); + } +} \ No newline at end of file