STM32+三色LED智能调光系统源程序 易安卓APP 原理图

 资料下载地址:STM32+三色LED智能调光系统源程序 易安卓APP 原理图

三色LED手机智能调光系统概述:
       利用开发的智能手机软件,对照明三色LED进行智能调光。包含的功能有,支持多手机同时连接服务端,互动调光。支持关闭照明,快捷设置灯光颜色,支持自定义灯光的颜色。理论上支持无限种色彩。

包含的硬件有:
STM32F030F4:主控制器
ESP8266:WIFI信号接收端
IRFP1205:LED驱动
三色LED:显示
三色LED手机智能调光系统实物图展示:

单片机源程序如下:



/* Includes ------------------------------------------------------------------*/
//#include "stm32f0xx.h"
//#include <stdint.h>
#include <stdio.h>

#include "main.h"
#include "FLASH1.h"
#include "UART1.h"
#include "CMD.h"
#include "TIM_1.h"


uint8_t flag=0;
uint8_t kk=0;

void Init_GPIO()
{         
    GPIO_InitTypeDef        GPIO_InitStructure;
        
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOF, ENABLE);

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;                  //??LED
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOF, &GPIO_InitStructure);              

}

void INIT_PWM()
{
   LightStu.LightStu=1;
         LightStu.PWM1=45;
         LightStu.PWM2=45;
         LightStu.PWM3=45;
}

int main(void)
{
  INIT_PWM();
        Init_GPIO();

        SysTick_Config(48000);
        UART_INIT();        

        ConnTime=0;
        while(ConnTime < 1000); //延时100ms
        kk = INIT_8266();
  if(kk)
        {
                while(1);   //初始化8266不成功
        }
        
        TIM3_INIT();
        RX_flag=0;
        rxflag=0;
        while (1)
        {
                
                if(flag)
                {
                        GPIO_SetBits(GPIOF,GPIO_Pin_0);                
                }
                else
                {
                        GPIO_ResetBits(GPIOF,GPIO_Pin_0);
                }                
                                
//                  if(flag)
//                        {
//                                flag=0;
//                                //UART1_TX_CHAR("AT\r\n");
//                        }
                        
                        if(RX_flag == 1)
                        {
                                RX_Data();
                                RX_flag=0;
                                rxflag=0;
                        }
        }
}


#ifdef  USE_FULL_ASSERT

/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t* file, uint32_t line)
{
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

  /* Infinite loop */
  while (1)
  {
  }
}
#endif

/**
  * @}
  */

/**
  * @}
  */

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/799513.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端Vue组件化实践:打造仿京东天猫商品属性选择器组件

在前端开发领域&#xff0c;随着业务需求的日益复杂和技术的不断进步&#xff0c;传统的整体式应用开发模式已逐渐显得捉襟见肘。面对日益庞大的系统&#xff0c;每次微小的功能修改或增加都可能导致整个逻辑结构的重构&#xff0c;形成牵一发而动全身的困境。为了解决这一问题…

昇思25天学习打卡营第22天|ResNet50图像分类

上回说到RESNET50做迁移学习&#xff0c;今天看一下他在图片分类上面的表现。图像分类是最基础的计算机视觉应用&#xff0c;属于有监督学习类别&#xff0c;先喂一堆猫的照片告诉他这是猫&#xff0c;再喂一堆狗的图片告诉他这是狗。 CIFAR-10数据集共有60000张32*32的彩色图…

ARDUINO最新pinMode()管脚设置方法(24年7月)

Arduino管脚配置 ESP32 Arduino管脚配置测试正常。 pinMode&#xff08;&#xff09; [数字 I/O] 描述 将指定的引脚配置为输入或输出。有关引脚功能的详细信息&#xff0c;请参阅数字引脚部分。 可以使用模式INPUT_PULLUP使能内部上拉电阻。此外&#xff0c;INPUT模式明…

涨知识了!AI绘画变现的几个思路!

风口&#xff01;风口&#xff01;风口&#xff01; 终于不用再抱怨 “我们这代人啊&#xff0c;什么也没赶上” 因为我们现在正处于风口之上&#xff01; 在当今数字化的时代 AI 绘画正以惊人的速度崛起 并向各行各业渗透 既然阻止不了时代的变化 那就让它为我们所用 …

STM32MP135裸机编程:烧录程序到EMMC的方法

0 前言 STM32MP135支持多种启动方式&#xff0c;包括SD卡、NAND Flash、EMMC等&#xff0c;基于STM32MP135裸机的SD卡烧录操作方法我们之前已经介绍过&#xff0c;现在介绍的STM32MP135烧录到EMMC的方法又和前面烧录到SD卡的操作有所不同。本文将介绍基于STM32MP135&#xff0…

职称论文发表的注意事项有哪些

职称论文发表的注意事项有哪些 其实职称论文并不难&#xff0c;但是对于很多之前没有接触过的朋友来说&#xff0c;如何选择合适期刊&#xff0c;如何投稿以及版面费多少等一概不知。所以我今天就总结下我个人的经验&#xff0c;分享给大家。 一、弄清单位的要求 评职称论文首先…

系统架构师考点--软件工程(上)

大家好。今天我来总结一下软件工程的相关考点。这部分是考试的重点。在上午场客观题、下午场案例题以及下午场论文都有可能考到&#xff0c;在上午场客观题中大约占12-15分左右。 一、软件工程概述 软件开发生命周期 软件定义时期&#xff1a;包括可行性研究和详细需求分析过…

致良知,是一场自我革命、教育、成长

82天 【此亦须你自家求】人言不如自悔之真&#xff1b;致良知就是致自己&#xff0c;是一场自我革命、自我教育、自我成长&#xff1b;真诚的力量&#xff0c;诚于己、信于人、明于事 人言不如自悔之真&#xff0c;生活中我们都希望能够得到高人的指点&#xff0c;但&#xf…

Jmeter常用组件及执行顺序

一 常用组件 1.线程组 Thread Group 线程组是一系列线程的集合&#xff0c;每一个线程代表着一个正在使用应用程序的用户。在 jmeter 中&#xff0c;每个线程意味着模拟一个真实用户向服务器发起请求。 在 jmeter 中&#xff0c;线程组组件运行用户设置线程数量、初始化方式等…

git链接远程仓库

【 一 】ssh链接远程仓库 删除git仓库 【 1 】初步使用方法 1、之前把本地代码&#xff0c;以https形式&#xff0c;提交到了远程仓库 # - git remote add origin https://gitee.com/bai-zhitao/lufy.git- 输入用户名密码2、ssh认证&#xff0c;只需要配置一次&#xff…

ARM体系结构和接口技术(四)LED灯实验---②

文章目录 一、特殊功能控制寄存器&#xff08;一&#xff09;GPIOx_MODER寄存器&#xff08;二&#xff09;GPIOx_OTYPER寄存器&#xff08;三&#xff09;GPIOx_OSPEEDR寄存器&#xff08;四&#xff09;GPIOx_PUPDR寄存器&#xff08;五&#xff09;GPIOx_IDR寄存器&#xff…

在互联网供应链系统可能是永远不会过时的系统

一、前言 在互联网在到人工智能&#xff0c;从基本的门户网站&#xff0c;社交网站&#xff0c;到移动互联网&#xff0c;视频网站&#xff0c;再到现在比较火爆短视频直播和人工智能AI&#xff0c;大模型。互联网的迭代&#xff0c;出现了无数的系统。但是有些系统一直久经不…

第八课:NAT地址转换(NAPT模式)

如何连接互联网&#xff1f; 如何远程管理网络设备&#xff1f; 1.路由怎么写&#xff1f; ip route 0.0.0.0 0.0.0.0 下一跳 0.0.0.0 0.0.0.0代表去往所有目的 2.NAT网络地址转换 PC&#xff0c;手机&#xff0c;在内网&#xff0c;用私网地址&#xff08;不要钱&#x…

c#中的特性

在C#中&#xff0c;特性&#xff08;Attributes&#xff09;是一种向程序元素&#xff08;如类、方法、属性等&#xff09;添加元数据的方式。特性可以用来提供关于程序元素的附加信息&#xff0c;这些信息可以在编译时和运行时被访问。 特性主要有以下几个用途&#xff1a; 提…

力扣第九题

回文数 提示&#xff1a; 给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 代码展示&#…

<Rust>egui部件学习:如何在egui窗口中添加按钮button以及标签label部件?

前言 本专栏是关于Rust的GUI库egui的部件讲解及应用实例分析&#xff0c;主要讲解egui的源代码、部件属性、如何应用。 环境配置 系统&#xff1a;windows 平台&#xff1a;visual studio code 语言&#xff1a;rust 库&#xff1a;egui、eframe 概述 本文是本专栏的第二篇博…

Zookeeper源码学习

源码下载&#xff1a;https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7.tar.gz 1、持久化源码&#xff1a; Leader和Follower中的数据会在内存和磁盘中各保存一份。所以需要将内存中的数据持久化到磁盘中。 在zookeeper-server\org.apach…

计组_微程序

2024.06.26&#xff1a;计算机组成原理微程序学习笔记 第19节 控制器 9.1 硬布线控制器&#xff08;408基本不考&#xff09;9.2 微程序控制器&#xff08;好好学&#xff09;9.2.1 微程序(1) 基本概念(2) 控制器的组成(3) 控制器的工作过程 9.2.2 微指令(1) 编码方式&#xff…

验证服务插件:单据保存或审核时进行验证

提交审核的时候,校验 using Kingdee.BOS; using Kingdee.BOS.Core; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.Validation; using Kingdee.BOS.Util; using System; using System.ComponentModel;…

【LeetCode:721. 账户合并 + 哈希表 + DFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…