基于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

相关文章

Xshell远程连接失败以及解决方案

《Xshell远程连接失败以及解决方案》本文介绍了在Windows11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows11家庭版中,需要通过设置添加SSH功能并... 目录一.问题描述二.原因分析及解决办法2.1添加ssh功能2.2 在Windows中开启ssh服务2

Java解析JSON的六种方案

《Java解析JSON的六种方案》这篇文章介绍了6种JSON解析方案,包括Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点... 目录前言1. 使用 Jackson:业界标配功能特点代码示例高级功能优缺点2. 使用 Gson:轻量

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1

MyBatis延迟加载的处理方案

《MyBatis延迟加载的处理方案》MyBatis支持延迟加载(LazyLoading),允许在需要数据时才从数据库加载,而不是在查询结果第一次返回时就立即加载所有数据,延迟加载的核心思想是,将关联对... 目录MyBATis如何处理延迟加载?延迟加载的原理1. 开启延迟加载2. 延迟加载的配置2.1 使用

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*