基于51单片机、SG90舵机的笔记本电脑遥控远程开机方案

2023-10-21 03:30

本文主要是介绍基于51单片机、SG90舵机的笔记本电脑遥控远程开机方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、前提:现在的电视就是个广告播放器,所有内容都要开会员,并且电视自带软件看视频总是有一种模糊的感觉。家中闲置一Z480笔记本电脑,连接HDMI可输出1080P分辨率,日常看电视足够了。于是将笔记本电脑屏幕拆下,笔记本主机放到电视后面,刚好可以完美隐藏各种线。

2、问题:每次开机都要去电视后面按按钮,实在不符合本人懒惰的习惯,因此要想个办法远程开机。但是经过查询,笔记本电脑不支持上电开机,也不支持网络开机,比较好的办法就是每次关机都点睡眠,然后通过鼠标就可以开机,虽说点睡眠也不是很麻烦,一个批处理就能搞定的事情,但鼠标总是误触,或者有时候睡眠会死机,不太完美。

3、想法:经过网上查询,现成的遥控手指需要搭配网关,一套需要将近200元,太贵。正好手头有个射频继电器可以用来控制电路通断。因此想自己做一个遥控开机的装置。

4、实现:网上教程很多,舵机原理不再赘述,我本人也不明白。在开发板上连接好线路,程序烧进去,开始测试。程序自己当然是不可能写的,照搬的这位老哥的程序,一字未改。用51单片机怎么玩SG90舵机?_单片机 舵机_知名摸鱼大学生的博客-CSDN博客https://blog.csdn.net/m0_56852164/article/details/124915860

 5、意外:

①通过在程序中加入一些让LED闪烁的代码来判断程序是否运行,发现SG90舵机和开发板共用同一个电源时,程序不运行且舵机发出“咔咔”声音,纹丝不动。

②开发板连接电脑USB电源,舵机连接另一个电脑USB电源,运行一切正常。(但我总不可能用台式机USB当电源吧,,那就太扯了,我要的是远程控制)

③开发板和舵机共用手机5V充电器电源,程序可以运行,但是舵机无规律抖动。

④用不知道哪里拆下来的12V电源适配器连接7805做电源(7805用法查百度,简单的很)连接舵机,电脑USB电源连接开发板,舵机依然无规律抖动。

⑤自己焊了一个51小板子(如下图),有上电自动复位电路。用手机5V电源适配器做电源,舵机和单片机都连接在小板子上,程序依然无法正确运行,舵机偏转角度错误,运行异常。

⑥经过网上查询,说是手机或者光猫等电源适配器输出的不是稳定的电压,所以又在板子上加了7805稳压器,使用不知道哪里拆下来的某调制解调器的12V电源适配器做电源(7805不能用5V电源起码要7V以上),这次终于运行正常了。原来是电压不稳造成SG90舵机不知道该怎么转。(我猜的)

 由于本人学艺不精,,也许是个很简单的问题,却费了这么大劲才找到原因。归根到底是电压不稳,一开始没有稳压模块。来来回回折腾三天才找到办法。

然后有人要问,怎么远程控制呢,这就要用到 我之前买的遥控继电器。

       这个东西有很多功能,可以延时,可以自锁,可以点动。把他接到电源上,就可以遥控控制电路的通断了。

    当然用ESP8266应该更方便,还能连接wifi直接手机控制远程控制,但是本人手头没有ESP8266的板子,只有51单片机,所以才用了这个办法。终于不用再去电视后面找按钮了!

 演示:

 代码来自:https://blog.csdn.net/m0_56852164/article/details/124915860

#include "reg52.h"sbit sg90_con = P1^0;
int jd;
int cnt = 0;void Delay2000ms()		//@11.0592MHz
{unsigned char i, j, k;i = 15;j = 2;k = 235;do{do{while (--k);} while (--j);} while (--i);
}void Time0Init()
{TMOD = 0x01;//2. ???,???0.5??TL0=0x33;TH0=0xFE;TR0 = 1;TF0 = 0;ET0 = 1;EA = 1;
}void Delay300ms()		//@11.0592MHz
{unsigned char i, j, k;i = 3;j = 26;k = 223;do{do{while (--k);} while (--j);} while (--i);
}void main()
{Delay300ms();Time0Init(); jd = 1;      cnt = 0;sg90_con = 1;//??????????while(1){P0 = 0XFF;jd = 3; cnt = 0;Delay2000ms();Delay2000ms();P0 = 0X00;jd = 1; //0?cnt = 0;Delay300ms();}
}void Time0Handler() interrupt 1
{cnt++;  //?????TL0=0x33;TH0=0xFE;if(cnt < jd){sg90_con = 1;}else{sg90_con = 0;}if(cnt == 40){cnt = 0;  sg90_con = 1;}}

这篇关于基于51单片机、SG90舵机的笔记本电脑遥控远程开机方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/251622

相关文章

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

SpringSecurity中的跨域问题处理方案

《SpringSecurity中的跨域问题处理方案》本文介绍了跨域资源共享(CORS)技术在JavaEE开发中的应用,详细讲解了CORS的工作原理,包括简单请求和非简单请求的处理方式,本文结合实例代码... 目录1.什么是CORS2.简单请求3.非简单请求4.Spring跨域解决方案4.1.@CrossOr

使用MyBatis TypeHandler实现数据加密与解密的具体方案

《使用MyBatisTypeHandler实现数据加密与解密的具体方案》在我们日常的开发工作中,经常会遇到一些敏感数据需要存储,比如用户的手机号、身份证号、银行卡号等,为了保障数据安全,我们通常会对... 目录1. 核心概念:什么是 TypeHandler?2. 实战场景3. 代码实现步骤步骤 1:定义 E

Python实现繁体转简体功能的三种方案

《Python实现繁体转简体功能的三种方案》在中文信息处理中,繁体字与简体字的转换是一个常见需求,无论是处理港澳台地区的文本数据,还是开发面向不同中文用户群体的应用,繁简转换都是不可或缺的功能,本文将... 目录前言为什么需要繁简转换?python实现方案方案一:使用opencc库方案二:使用zhconv库

MyBatis Plus中执行原生SQL语句方法常见方案

《MyBatisPlus中执行原生SQL语句方法常见方案》MyBatisPlus提供了多种执行原生SQL语句的方法,包括使用SqlRunner工具类、@Select注解和XML映射文件,每种方法都有... 目录 如何使用这些方法1. 使用 SqlRunner 工具类2. 使用 @Select 注解3. 使用

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu