Raspberry Pi Picoに無線機能を付けてみました - 自由に工作中 (hatenablog.com)
センダー間隔を4秒にとらずに原本のように1秒にとると、とても反応が鈍くなる
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#define WIFI_SSID "your-ssid" //ネットワーク名。各自入力する
#define WIFI_PWD "your-password" //パスワード。各自入力する
ESP8266WebServer server( 80 );
IPAddress ip( 192, 168, 10, 1 );
IPAddress subnet( 255, 255, 255, 0 );
void setup() {
WiFi.mode(WIFI_AP);
WiFi.softAPConfig(ip, ip, subnet);
WiFi.softAP(WIFI_SSID, WIFI_PWD);
Serial.begin(115200);
server.on("/", [](){ // 無名関数の利用、以下の定義により5秒ごとにブラウザ更新
String str = "";
String msg = "";
int strlen = 0;
String str_send = "";
if ( Serial.available() ) {
{
str = Serial.readStringUntil(';'); //「;」を検出したら終了
str += Serial.readStringUntil(';'); //「;」を検出したら終了
strlen = str.length();
str_send = str.substring(str.length()-5,str.length()); //データ抽出
};
}
msg += "<!DOCTYPE html>";
msg += "<html><head>";
msg += "<meta http-equiv='refresh' content='5'>"; //5秒おきに更新
msg += "<title>Sensor</title><body>";
msg += "<font size='5'>" + str + "</font>";
msg += "<br>";
msg += "<font size='5'>" + str_send + "</font>";
msg += "<br>";
msg += "</body></html>";
server.send(200, "text/html", msg);
});
server.begin();
}
void loop() {
server.handleClient();
}
ーーーーーーーーーーーーーーーーーーーーーーーーーーー
from machine import UART, Pin
import time
PIN_ADC = 26
VREF = 3.3
adc = machine.ADC( PIN_ADC )
uart0 = UART(0, baudrate=115200, tx=Pin(12), rx=Pin(13))
while True:
value = adc.read_u16()
volt = (value /65535 * VREF)
voltx = "{0:.3f}".format(volt) + ";" #ケタ数を揃えて;を追加
time.sleep(4)
#原本では1だが、uartのバッファリングが効いて5秒ごとの更新で途中経過も全部でる
#4秒ごとにしておくと、そこそこの表示となるようだ
uart0.write(voltx)
0 件のコメント:
コメントを投稿