文章目录
前言
本篇文章用于记录在进行32学习时的一些记录,以便个人回顾,个人能力有限,如有发现错误,欢迎各位大佬指点。一起加油!
链接在最后!!!
一、所用器件
(1)STM32F103ZET6
主控开发板
(2) MQ_烟雾传感器
通过ADC外设进行数据采集。
(3)声音传感器
通过外部中断来进行操作。
(5)sg90舵机
通过设置定时器输出PWM波来进行控制转动。
模拟舵机与数字舵机的区别
(5)DHT11 温湿度传感器
依据数据手册编写内部时序。
点这里看操作
(6)OLED显示屏
通过iic进行数据通信。
二、代码分析
1.接线
STM32 | DHT11 |
---|---|
PB11 | DO |
STM32 | MQ_气体检测 |
---|---|
PA4 | AO |
STM32 | 声音传感器 |
---|---|
PA1 | DO |
STM32 | OLED |
---|---|
PB0 | SCL |
PB1 | SDA |
STM32 | SG90舵机 |
---|---|
PB5 | DO |
PB4 | DO |
在进行使用的时候发现有一个舵机烧坏了,在这里把两个PWM输出口都说明了,但是只用了一个。
2.代码分析
main.c
int main()
{
//MQ2_Sensor 初始化
extern u16 ADC_Val;
// DHT11初始化
uint16_t i;
uint8_t k;
uint8_t kk;
uint8_t kkk;
uint8_t pwmval1;
initSysTick();
delay_ms(1500);
Adc_Init();
Sound_Init();
TIM3_PWM_Init(199, 7199);
OLED_Init(); //OLED初始籨?