醋醋百科网

Good Luck To You!

10个极品智能车方案合辑,夏日避暑进阶两不误

炎炎夏日,空调房西瓜的搭配好不自在。整理了10个极品智能车方案,在家避暑的同时,玩玩智能车,顺便提升下自己的技能吧。

1、极品智能飞车 wifi和Android控制小车(获奖作品原创)本极品飞车采用意法半导体公司的STM32F401(STM 32F401数据手册)芯片作为主控制芯片,分为PC客户端和智能小车两部分。通过WM3612—wifi模块连接路由器组建局域网系统,PC客户端通过无线获取智能小车的当前位置以及视野,根据这些信息同样利用无线方式发出控制信息,远程操作小车;智能小车上的Android手机连接本局域网,使用摄像头采集前方视频信息,并发送到PC客户端。智能小车根据PC客户端发送的控制信息做出相应动作,实现前进、左右转弯、停止等动作。https://www.cirmall.com/circuit/1342

毕业设计|语音识别智能家居制作(语音识别在智能家居上的应用)

智能家居类项目在毕业设计中最为常见,虽然已经到了“烂大街”的程度,但摆正心态,可以加入很多创新点,依然能学到更多知识。

本次分享的项目是Cheng小白毕设,代码和论文都分享出来了,希望可以给正在做毕设的同学一些帮助。项目相关设计资料可以在“

学习STM32编程——基于 RS-485 总线的多机通信应用开发

关键代码:

usart2.c

/**
* @brief USART2 初始化
* @param baud:  波特率设置
* @retval None
*/
void USART2_Init(uint32_t baud)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;
    
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOG,ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); // 使能 USART2 时钟
    
    /* USART2 引脚复用映射 */
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2); //PA2 复用为 USART2
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2); //PA3 复用为 USART2
    
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3; //PA2 与 PA3
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;  // 复用功能
    GPIO_InitStructure.GPIO_Speed = GPIO_Fast_Speed;  // 速度 50MHz
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; // 推挽复用输出
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;  // 上拉
    GPIO_Init(GPIOA, &GPIO_InitStructure); // 配置生效
    
    //PG8 推挽输出 , 用于 RS-485 模式控制
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //PG8
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; // 输出
    GPIO_InitStructure.GPIO_Speed = GPIO_High_Speed;  // 速度 100MHz
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; // 推挽输出
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;  // 上拉
    GPIO_Init(GPIOG, &GPIO_InitStructure); // 配置生效
    
    /* USART2  初始化设置 */
    USART_InitStructure.USART_BaudRate = baud; // 波特率设置
    USART_InitStructure.USART_WordLength = USART_WordLength_8b; // 字长 8bit
    USART_InitStructure.USART_StopBits = USART_StopBits_1; // 一个停止位
    USART_InitStructure.USART_Parity = USART_Parity_No; // 无奇偶校验位
    USART_InitStructure.USART_HardwareFlowControl =
    USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;// 收发模式
    USART_Init(USART2, &USART_InitStructure); // 配置生效
    USART_Cmd(USART2, ENABLE); // 使能 USART2
    
    USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); // 开启接收中断
    USART_ITConfig(USART2, USART_IT_IDLE, ENABLE); // 开启空闲中断
    
    /* USART2 NVIC  配置 */
    NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
    RS485_RX_MODE; // 默认为接收模式
}
/**
* @brief USART2 发送一个字节
* @param ch:  要发送的字节数据
* @retval None
*/
void USART2_SendByte(uint8_t ch)
{
    /*  发送一个字节数据到 USART2 */
    USART_SendData(USART2, ch);
    /*  等待发送完毕 */
    while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
}
/**
* @brief USART2 发送一个字符串
* @param *str:  要发送的字符串
* @param strlen:  字符串长度
* @retval None
*/
void USART2_SendString(uint8_t *str, uint8_t strlen)
{
    unsigned int k = 0;
    RS485_TX_MODE; // 进入发送模式
    do
    {
        USART2_SendByte(*(str + k));
    } while (k++ < strlen);
    RS485_RX_MODE; // 进入接收模式
}

/**
* @brief USART2 中断服务函数
* @param None
* @retval None
*/
void USART2_IRQHandler(void)
{
    uint8_t Res, forclear;
    if (USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
    {
        Res = USART_ReceiveData(USART2);
        USART2_RX_Buffer[USART2_RX_Index++] = Res;
        /*  防止接收缓存下标溢出 */
        if (USART2_RX_Index >= USART2_RX_MAX)
            USART2_RX_Index = 0;
    }
    if (USART_GetITStatus(USART2, USART_IT_IDLE) != RESET)
    {
        USART2_RX_OverFlag = 1;
        forclear = USART_ReceiveData(USART2);
    }
}

ESP8266系列-基本外设操作(esp8266-01s教程)

接着上一篇,可以下载helloworld.bin之后,开始测试下SDK下面的外设,利用手上的资源,看看效果。




STM32搭建简易环境监测站并通过网络实时上报

一、系统总体架构

本系统以STM32F407为核心,搭建一个环境监测节点,能够采集温湿度、光照、空气质量等数据,并通过OLED屏显示,同时通过ESP8266模块实现局域网数据上报。适合室内空气监测、智慧农业等初级应用场景。

零基础学习STM32智能家居系统之温湿度检测子系统的实现(二)

在上一节中,我们学习了DHT11温湿度传感器的使用。在这一节,结合温湿度检测子系统的功能,我们为系统设计执行机构。

系统的执行机构利用继电器加风扇来完成。当环境的温度或湿度超过设定值时,继电器吸合,风扇工作,。

6.1 继电器的介绍

本项目以1路5V继电器模块为例,进行项目设计。其它类型继电器模块类似。1路5V继电器模块采用光耦进行隔离,性能稳定,人性化设计可选择高电平或者低电平信号触发,仅需5mA电流即可驱动控制能力为10A的继电器吸合。

STM32F103系列单片机之常用功能及外围传感器实例(精华)


开发STM32F103很好的参考例程,轻松实现各类外围器件的开发。持续更新中,欢迎关注及收藏。


网盘链接:
https://pan.baidu.com/s/1NIrDmbm8EtFkB1G8s7E3Sg?pwd=qsoh

STM32项目设计:基于stm32的智能家居系统设计(含代码)

大家好,今天给大家介绍基于单片机stm32的多功能氛围灯、手机控制ws2812和MCU升级程序,文章末尾附有本毕业设计的论文和源码的获取方式,也可现在直接进群免费领取。

基于STM32和esp8266的粮仓环境监测系统(含代码)


前言

本设计对粮仓温湿度、二氧化碳浓度、氧气浓度进行实时监测,提高了粮仓环境信息监测智能化水平,确保了粮仓存储的质量。

基于STM32的OLED多级菜单GUI实现(简化版智能手表)


前言:本文的

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言