https://item.taobao.com/item.htm?spm=a1z09.2.0.0.18d92e8dUPCAIr&id=577428231876&_u=91qf7bf55821








https://www.107000.com/T-Hex/

#include <SoftwareSerial.h>
// https://www.107000.com/T-Hex/
SoftwareSerial mySerial(5,4);
//警告
char Voice_jingao[10]={0xBE,0xAF,0xB8,0xE6,0xA1,0xA3};
//超速行驶
char Voice_speedup[10]={0xB3,0xAC,0xCB,0xD9,0xD0,0xD0,0xCA,0xBB,0xA1,0xA3};
//跌倒异常
char Voice_down[10]={0xB5,0xF8,0xB5,0xB9,0xD2,0xEC,0xB3,0xA3,0xA1,0xA3};
//运行正常
char Voice_ok[10]={0xD4,0xCB,0xD0,0xD0,0xD5,0xFD,0xB3,0xA3,0xA1,0xA3};
// 危险警报,请帮帮我。
char Voice_helpme[20]={0xCE,0xA3,0xCF,0xD5,0xBE,0xAF,0xB1,0xA8,0xA3,0xAC,0xC7,0xEB,0xB0,0xEF,0xB0,0xEF,0xCE,0xD2,0xA1,0xA3};
void setup(){
mySerial.begin(9600);
//mySerial.write(Chinese_GB23121,,sizeof(Voice_jingao)); println
// mySerial.println(Voice_jingao);
// delay(3000);
//
// mySerial.println(Voice_speedup);
// delay(3000);
//
// mySerial.println(Voice_down);
// delay(3000);
//
// mySerial.println(Voice_ok);
// delay(3000);
//
// mySerial.println(Voice_helpme);
// delay(4000);
}
void loop(){
mySerial.println(Voice_helpme);
delay(3000);
}
void setup()
{
Serial.begin(115200);
Serial1.begin(115200); //TX=PA9,RX=PA10 32的引脚
Serial2.begin(115200); //TX=PA2,RX=PA3
Serial3.begin(115200); //TX=PB10 黄色语音线 ,RX=PB11 白色语音线
}
void loop()
{
delay(100);
Serial.println("Test Serial");
Serial1.println("Test Serial1");
Serial2.println("Test Serial2");
Serial3.println("Test Serial3");
}
//警告
char Voice_jingao[10]={0xBE,0xAF,0xB8,0xE6,0xA1,0xA3};
//超速行驶
char Voice_speedup[10]={0xB3,0xAC,0xCB,0xD9,0xD0,0xD0,0xCA,0xBB,0xA1,0xA3};
//跌倒异常
char Voice_down[10]={0xB5,0xF8,0xB5,0xB9,0xD2,0xEC,0xB3,0xA3,0xA1,0xA3};
//运行正常
char Voice_ok[10]={0xD4,0xCB,0xD0,0xD0,0xD5,0xFD,0xB3,0xA3,0xA1,0xA3};
// 危险警报,请帮帮我。
char Voice_helpme[20]={0xCE,0xA3,0xCF,0xD5,0xBE,0xAF,0xB1,0xA8,0xA3,0xAC,0xC7,0xEB,0xB0,0xEF,0xB0,0xEF,0xCE,0xD2,0xA1,0xA3};
void setup(){
Serial3.begin(9600);
//mySerial.write(Chinese_GB23121,,sizeof(Voice_jingao)); println
// mySerial.println(Voice_jingao);
// delay(3000);
//
// mySerial.println(Voice_speedup);
// delay(3000);
//
// mySerial.println(Voice_down);
// delay(3000);
//
// mySerial.println(Voice_ok);
// delay(3000);
//
// mySerial.println(Voice_helpme);
// delay(4000);
}
void loop(){
Serial3.println(Voice_jingao);
delay(4000);
}
stm32 超声波 语音 显示屏 光敏控灯

#include <Adafruit_SSD1306.h>
#include <Adafruit_Sensor.h>
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);
//警告
char Voice_jingao[10]={0xBE,0xAF,0xB8,0xE6,0xA1,0xA3};
// 障碍物警告
char Voice_jingao1[30]={0xD5,0xCF,0xB0,0xAD,0xCE,0xEF,0xBE,0xAF,0xB8,0xE6,0xA1,0xA3};
// 超声波
#define trigPin PA4 //引脚Tring 连接 IO D2
#define echoPin PA5 //引脚Echo 连接 IO D3
float aver[3];
float measure() {
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(15);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
float duration = pulseIn(echoPin, HIGH);
float distance = duration *0.034 / 2; //测距过程
if(distance>400){distance=400;}
if(distance<0)distance=0;
return distance;
}
float measure3(){
for (int i=0;i<=2;i++) {
float distance=measure();
aver[i]=distance;
delay(50);
}
float distanceall=(aver[0]+aver[1]+aver[2])/3; //取三次测量平均
return distanceall;
}
void setup(){
Serial.begin(9600);
Serial3.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(PA0, INPUT_ANALOG);
pinMode(PA1, OUTPUT);
digitalWrite(PA1, LOW);
// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3C for 128x32
//Serial.println(F("oled allocation failed"));
for (;;)
; // Don't proceed, loop forever
}
display.display();
delay(500); // Pause for 2 seconds
display.setTextSize(1);
display.setTextColor(WHITE);
display.setRotation(0);
}
int alram=0;
long int told = millis();
long int tcur = millis();
String ledstate="close";
void loop(){
int light_value=4095-analogRead(PA0);
if(light_value<500){
ledstate="open";
digitalWrite(PA1, HIGH);
}
else{
ledstate="close";
digitalWrite(PA1, LOW);
}
float distanceall=measure3();
if(distanceall<50){ //厘米
alram=1;
}
else{
alram=0;
//told = millis();
}
//Serial.println(distanceall);
display.clearDisplay();
display.setCursor(0, 0);
String Lightmsg="light:"+String(light_value);
display.println(Lightmsg);
display.println(" ");
String ledmsg="led:"+String(ledstate);
display.println(ledmsg);
display.println(" ");
String alrammsg="alram:"+String(alram);
display.println(alrammsg);
display.println(" ");
String chaomsg="distance:"+String(distanceall)+"cm";
display.println(chaomsg);
display.println(" ");
Serial.println(chaomsg+" "+alrammsg+" "+Lightmsg+" "+ledmsg+" "); // 有利于减少死机
if(alram==1){
//String msg="前方有障碍物,请绕行,距离:"+String(distanceall);
//Serial.println(msg);
tcur = millis();
long int timecost=tcur-told;
if(timecost>3000){
Serial3.println(Voice_jingao1);
told=millis();
}
}
display.display();
delay(100);
}
浙公网安备 33010602011771号