一、按键开关机电路

电路原理:

  • VCC 电源接锂电池 +,Q1 CJ3401,关机状态下的场效应管 CJ3401被 R1电阻 拉高,场效应管断开,单片机无电源输入,不工作
  • 长按按键 S2,二极管 D2 SS14 导通,导致场效应管 CJ3401 的 栅极Gate端 拉低,场效应管导通,单片机有电源输入,开始工作
  • 开机后的单片机 digitalWrite(power ,HIGHI) 输出高电平自动拉高 三极管 Q2 S8050 的 基极,场效应管仍然导通,单片机处于开机状态;与此同时,单片机通过 端口 btn 监视 按键 是否按下。
  • digitalRead(btn) 监视按键 S2 是否按下 , 若按键S2按下,二极管D1 导通,INPUT btn 为 0 ,digitalWrite(power,LOW) 拉低场效应管Q,断开单片机电源关机。

注意:栅极(gate)、漏极(drain)、源极(source)三个端,相当于基极(base)、集电极(collector)和发射极(emitter)

单片机控制代码:

int btn = 2;//监视 按键是否按下 。若按键按下,二极管D1 导通,INPUT 读取 0
int power = 3;
int time = 0;void setup
{pinMode(btn ,INPUT);
pinMode(power,OUTPUT);
digitalWrite(power,HIGH);//单片机引脚输出为HIGH,控制电路中的场效应管导通}
void loop{if(digitalRead(btn) == 0)//读取按键状态 若按键按下 拉低 为0
timer++
if(timer >= 1000)
{digitalWrite(power,LOW) //拉低场效应管Q,断开单片机电源VCC
}}

二 、剩余电量百分比%检测电路

通过单片机读取模拟信号A0, 范围是0~2034,然后 map函数映射将电压转换为 0~100。

battPercentage = map(analogRead(A0),0,1023,0,100);

前提条件是:单片机机供电为恒定不变的值,A0 口的输入电压 必须低于单片机的供电电压值,原因是:A0口和单片机都是连接的锂电池的4.2V,ADC将模拟的值转换成数字值永远是1023,也就是电量永远是100%。

为了解决以上问题,必须给单片机一个恒定不变的电压值,atmage328p单片机内部集成了1.1v恒定的参考电压,无论外部电压如何变化,它永远保持1.1v。

详细内容查看参考资料[2]


参考资料

  • [1] 【B站】 【VLOG #11】单键开关电路 (结尾彩蛋) @hardihuang
  • [2] 【B站】【VLOG #13】剩余电量检测电路 @hardihuang

Easy EDA #学习笔记07# | Arduino 单键长按开关机控制电路 、剩余电量%检测电路相关推荐

  1. Easy EDA #学习笔记02# |Arduino UNO 单片机最小系统PCB原理图 (ATMEGA328P单片机 AMS1117芯片5V转3.3V )

    3D模型图 顶层 丝印层 阻焊层(绿油) 锡膏层 铜箔层 基板 - 原理图符号自动编号:[设置]-[系统设置]-[原理图]选项 铜柱M3: 原理图原点设置: Crl + A 拖动 [放置]-[画布原点 ...

  2. Easy EDA #学习笔记08# | 创建元件库(原理图库与PCB封装库)

    目录 引言 1. 创建原理图库 1.1 创建原理图库的流程 1.2 新建原理图库 1.3 制作电阻原理图符号 1.3.1 绘制元件符号 1.3.2 添加属性信息 2. 创建PCB库 2.1创建PCB封 ...

  3. Easy EDA #学习笔记01# | STC89C51单片机最小系统(8位单片机)

    世界上第一台电子计算机诞生于1946年,是一种电子管计算机,时钟频率只有100kHz,在1s内能完成5000次加法运算,它的出现标志着计算机时代的到来.在第一台计算机的研制过程中,匈牙利籍数学家冯诺依 ...

  4. Easy EDA #学习笔记09# | ESP32 一键下载电路

    问题描述 使用Arduino IDE烧录ESP32的时候,IDE会提示在60秒(好像是)内要按下板载BOOT键,否则就出现'-'___连串等待,超时报错,结束. MicroBlocks 废除 ESP3 ...

  5. Easy EDA #学习笔记06# | L9110S H桥2路直流电机驱动板设计(附.4056 充电、过充过放保护电路设计)

    一.L9110S 概述 L9110S是一块直流电机驱动电路,该产品为电池供电的玩具.低压或电池供电的控制应用提供了一种集成直流马达驱动的解决方案.电路内部集成了采用MOS管设计的H桥驱动电路,主要应用 ...

  6. Easy EDA #学习笔记03# |3C-GO继电器驱动电路Realay

    电路原理图 "TSOP" 是 "Thin Small Outline Package" 的缩写,意思是薄型小尺寸封装. 2N3904(SOT-23)为贴片封装的 ...

  7. Easy EDA #学习笔记05# |尿床提醒器的制作

    参考资料 [1] 项目17宝宝尿床提醒器的制作

  8. JavaScript学习笔记07【6个经典案例——电灯开关、轮播图、自动跳转首页、动态表格、表格全选、表单验证】

    Java后端 学习路线 笔记汇总表[黑马程序员] w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符. ...

  9. Liunx学习笔记 - 07 - 02 正则表达式与文件格式化处理

    Liunx学习笔记 - 07 - 02 正则表达式与文件格式化处理 1 前言:啥是正则表达式 简单来讲,正则表达式是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的 ...

最新文章

  1. 在线作图|如何绘制带分组的散点图
  2. Java里optionsMenu.add_Android中OptionMenu的使用总结
  3. Selenium java环境搭建
  4. python观察日志(part9)--数据库与pickle模块
  5. vue3中websocket用法
  6. LeetCode 971. 翻转二叉树以匹配先序遍历(DFS)
  7. 计算机科学分为几个部分,计算机由几部分组成各部分的功能是什么
  8. Chrome默认开启flash
  9. 5、overflow、hover
  10. 千方百剂医药管理系统对接第三方WMS系统(天力士物流)
  11. 绘图工具java软件开发模板_仅适合程序员的uml绘图工具-plantuml
  12. python制作动态二维码
  13. 4个入口8条光缆!我们这样与世界连接
  14. 史上最全的Windows进程详解!
  15. PHP写json文件的树形菜单,树形菜单(无级树)json数据
  16. 认识 ESP-IDF-v4.3+工程结构(ESP32-C3应用调整示例)
  17. 测试适合染发颜色的软件,5秒测出你适合染什么颜色的头发!准到爆!
  18. 更多python内容请移步
  19. mac Node 安装及部署
  20. Apple Watch 中国应用初体验:勇气可嘉,但缺乏存在感

热门文章

  1. 大连托福考试百家国际托福口语中的语音语调常见问题及案例分析
  2. 爱思唯尔投稿的心得-2021-10-8
  3. 程序运行报异常: KERNELBASE.dll模块加载异常
  4. 2008年9月8号,星期一,晴。真者,精诚之至也,不精不诚,不能动人。——《庄子•渔夫》
  5. 无法定位程序输入点kernel32.dll的解决方法
  6. 华林科纳 自清洁半导体异质结衬底
  7. appserv 部署php,在Windows下应用AppServ快速配置PHP开发环境
  8. java祝福语_程序员祝福语幽默-有关程序员节的祝福语
  9. Centos7.6上mhvtl 虚拟带库配置
  10. 人工智能之配置环境教程一:安装VsCode和Anaconda