update预览

This commit is contained in:
Luthics 2022-12-17 18:55:04 +08:00
parent d4d7c3ecd3
commit 406e294522
6 changed files with 162 additions and 36 deletions

View File

@ -1,4 +1,5 @@
void servo_init();
void servo_loop();
void servo_deg(int servoid, int deg);
void move();
void move();
int getpos(int pin);

View File

@ -6,13 +6,101 @@
</head>
<body>
<form action='servo' method='post'>
<button name='deg' value='0'>0</button>
<button name='deg' value='90'>90</button>
<button name='deg' value='180'>180</button>
</form>
<form action='servo' method='post'>
<input name='deg' />
<button name='submit' value='submit'>设置</button>
</form>
</body>
<div class="container">
<div class="buts">
<div class="header">
<button class="but" id="up"></button>
</div>
<div class="center">
<button class="but" id="left"></button>
<button class="but" id="down"></button>
<button class="but" id="right"></button>
</div>
<div class="footer">
<button class="but" id="turn">顺时针</button>
<button class="but" id="reset">复位</button>
<button class="but" id="aturn">逆时针</button>
</div>
</div>
<div class="senors">
<div class="senor">
<p id="ip">当前IP: 0.0.0.0</p>
</div>
<div class="senor">
<p id="bt">蓝牙未连接</p>
</div>
<div class="senor">
<p id="temp">当前温度: 0.00℃</p>
</div>
<div class="senor">
<p id="xa">X轴加速度: 0.0000000000</p>
<p id="ya">Y轴加速度: 0.0000000000</p>
<p id="za">Z轴加速度: 0.0000000000</p>
</div>
<div class="senor angle">
<p id="anglex">X轴角度: 0.00</p>
<p id="angley">Y轴角度: 0.00</p>
<p id="anglez">Z轴角度: 0.00</p>
</div>
<div class="senor">
<p id="bz">当前前方 <strong></strong> 障碍物</p>
</div>
<p class="copy">by 第 6 小组</p>
</div>
</div>
</body>
<style>
body {
padding-top: 20px;
background-color: black;
color: white;
}
div {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.center,
.angle,
.footer {
flex-direction: row;
}
.but {
width: 128px;
height: 128px;
font-size: xx-large;
border-radius: 2px;
background-color: seashell;
}
.cc {
width: 128px;
height: 128px;
}
.senors {
margin-top: 20px;
font-size: xx-large;
}
.senor {
margin: 10px;
border: 1px solid white;
width: 500px;
padding: 15px;
border-radius: 0.5em;
}
p {
margin: 0;
}
.copy {
align-self: flex-end;
}
</style>

View File

@ -17,4 +17,5 @@ lib_deps =
h2zero/NimBLE-Arduino@^1.4.1
ottowinter/ESPAsyncWebServer-esphome@^3.0.0
teckel12/NewPing@^1.9.5
gitlab-airbornemint/Protothreads@^1.4.0-arduino.beta.1
monitor_speed = 115200

View File

@ -1,21 +1,50 @@
#include <Arduino.h>
#include <servo.h>
#include <protothreads.h>
#include <bt.h>
#include <web.h>
#include <ping.h>
#include <servo.h>
#include <web.h>
void setup() {
Serial.begin(115200);
servo_init();
bt_init();
web_init();
// bt_init();
// web_init();
ping_init();
}
void loop() {
servo_loop();
bt_loop();
web_loop();
// bt_loop();
// web_loop();
ping_loop();
String co = Serial.readString();
if (co.length() != 0) {
int pin = co[0] - '0';
int m = co[1] - '0';
Serial.println(co);
switch (m) {
case 1:
servo_deg(pin, getpos(pin) + 15);
break;
case 2:
servo_deg(pin, getpos(pin) - 15);
break;
case 3:
servo_deg(0, 180);
delay(500);
servo_deg(1, 180);
delay(500);
servo_deg(2, 180);
delay(500);
servo_deg(3, 180);
delay(500);
break;
default:
servo_deg(pin, 90);
break;
}
}
delay(100);
}

View File

@ -22,6 +22,8 @@ void servo_init() {
for (int i = 0; i < 8; i++) {
servo[i].attach(servoPin[i], minUs, maxUs);
}
// servo[4].attach(servoPin[4], minUs, maxUs);
// servo[6].attach(servoPin[6], minUs, maxUs);
pwm.attachPin(15, 10000);
servo_deg(8, 90);
}
@ -69,7 +71,7 @@ void servo_deg(int servoid, int deg) {
for (int i = 0; i < 8; i++) {
servo[i].write(deg);
pos[i] = deg;
delay(100);
delay(1000);
}
} else {
servo[servoid].write(deg);
@ -79,22 +81,26 @@ void servo_deg(int servoid, int deg) {
void move() {
// for (int j = 0; j < 4; j++) {
servo_deg(0, pos[0] + 45);
delay(300);
servo_deg(2, pos[2] - 45);
delay(300);
// servo_deg(0, pos[0] - 45);
// delay(300);
// servo_deg(2, pos[2] + 45);
// delay(300);
// servo_deg(1, pos[1] + 45);
// delay(300);
// servo_deg(3, pos[3] - 45);
// delay(300);
// servo_deg(1, pos[1] - 45);
// delay(300);
// servo_deg(3, pos[3] + 45);
// delay(300);
delay(500);
servo_deg(4, pos[4] + 45);
delay(300);
servo_deg(6, pos[6] - 45);
delay(300);
// servo_deg(0, pos[0] - 45);
// delay(300);
// servo_deg(2, pos[2] + 45);
// delay(300);
// servo_deg(1, pos[1] + 45);
// delay(300);
// servo_deg(3, pos[3] - 45);
// delay(300);
// servo_deg(1, pos[1] - 45);
// delay(300);
// servo_deg(3, pos[3] + 45);
// delay(300);
delay(500);
// }
}
int getpos(int pin){
return pos[pin];
}

View File

@ -95,13 +95,14 @@ void web_init() {
} else {
servoid = 8;
}
servo_deg(servoid, deg);
ref_ret(request,
"<!DOCTYPE html><html><head><meta http-equiv=\"refresh\" "
"content=\"1; "
"url='http://192.168.21.9'\" /></head><body><h1>Success. Back "
"after 1 "
"sencond.</h1></body></html>");
servo_deg(servoid, deg);
} else {
notFound(request);
}