【Arduino32】PWM控制直流电机速度

硬件准备

震动传感器:1个

红黄绿LED灯:各一个

旋钮电位器:1个

直流电机:1个

1K电阻:1个

220欧电阻:3个

杜邦线:若干

硬件连线

软件程序

const int analogInPin = A0;//PWM输入引脚
const int analogOutPin = 3;//PWM输出引脚
const int vibPin = 4;//震动传感器const int RLed = 10;
const int YLed = 9;
const int GLed = 8;int sensorValue = 0;//电位器电压值
int outputValue = 0;//模拟量输出装(PWM)
int vibValue = 0;//震动传感器值void setup() {Serial.begin(9600);pinMode(analogOutPin,OUTPUT);pinMode(RLed,OUTPUT);pinMode(YLed,OUTPUT);pinMode(GLed,OUTPUT);
}void loop() {//读取模拟值sensorValue = analogRead(analogInPin);vibValue = digitalRead(vibPin);//变换数据区间outputValue = map(sensorValue, 0, 1023, 0, 255);//判断速度,相应的灯亮if (outputValue < 110) {digitalWrite(GLed, HIGH);digitalWrite(YLed, LOW);digitalWrite(RLed, LOW);Serial.println("绿灯亮");delay(1000);} else if (outputValue < 180) {digitalWrite(GLed, LOW);digitalWrite(YLed, HIGH);digitalWrite(RLed, LOW);Serial.println("黄灯亮");delay(1000);} else if (outputValue < 255) {digitalWrite(GLed, LOW);digitalWrite(YLed, LOW);digitalWrite(RLed, HIGH);Serial.println("红灯亮");delay(1000);}else{Serial.println("都不亮");}Serial.print("震动值:");Serial.println(vibValue);//输出对应的PWM值if (vibValue == 1) {analogWrite(analogOutPin, outputValue);Serial.println("电机转动");}else {analogWrite(analogOutPin, 0);}//打印结果到串口监视器Serial.print("sensor = ");Serial.println(sensorValue);Serial.print("output = ");Serial.println(outputValue);Serial.println("");delay(2);
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud链路追踪——Spring Cloud Sleuth 和 Zipkin 介绍 Windows 下使用初步

前言 在微服务中&#xff0c;随着服务越来越多&#xff0c;对调用链的分析越来越复杂。如何能够分析调用链&#xff0c;定位微服务中的调用瓶颈&#xff0c;并对其进行解决。 本篇博客介绍springCloud中用到的链路追踪的组件&#xff0c;Spring Cloud Sleuth和Zipkin&#xf…

使用 PyAudio、语音识别、pyttsx3 和 SerpApi 构建简单的基于 CLI 的语音助手

德米特里祖布☀️ 一、介绍 正如您从标题中看到的&#xff0c;这是一个演示项目&#xff0c;显示了一个非常基本的语音助手脚本&#xff0c;可以根据 Google 搜索结果在终端中回答您的问题。 您可以在 GitHub 存储库中找到完整代码&#xff1a;dimitryzub/serpapi-demo-project…

Git的安装

前置 知道自己电脑上跑的是什么系统 查看电脑位数 省事的一种办法 Windows 在cmd中输入如下命令 wmic os get osarchitecture看命令结果即可 省事的一种办法 Linux 直接在终端中输入如下命令 uname -m若结果是x86_64就是64位的&#xff0c;反之32位 图形化的办法 Wind…

开箱即用的Appimage是什么以及如何建立快捷方式

1 引言 在使用Linux系统过程中&#xff0c;初学者会遇到无穷多的问题&#xff0c;包括软件的安装问题。 ubuntu的deb,centos的rpm, 当然以及需要解压的tar.gz等等。有一种开箱即用的软件安装类型&#xff0c;格式为Appimage。 AppImage 的官方网站是 AppImage | Linux apps tha…

文件打包下载excel导出和word导出

0.文件下载接口 请求 GET /pm/prj/menu/whsj/download/{affixId} 文件affixId多个id以逗号隔开。多个文件会以打包得形式。 1.Excel导出 1.0接口 POST 127.0.0.1:8400/pm/io/exportExcel/year-plan-table-workflow/report 参数 [{"org":"011","re…

java8 Optional理解及示例

大量判空的代码 实际中&#xff0c;对象不判空会导致空指针异常。 为了规避为指针&#xff0c;不得不写出这种非常冗长又丑陋的空指针判断。 public void tooMuchNull(Worker worker) {if (worker ! null) {Address addressworker.getAddress();if (address ! null) {String…

react-router-dom v6版本实现Tabs路由缓存切换

目录 文章目录 概要 效果 完整代码 概要 摆了半年摊&#xff0c;好久没写代码了&#xff0c;今天有人问我怎么实现React-Router-dom类似标签页缓存。后面看了一下router的官网。很久以前用的是react-router v5那个比较容易实现。v6变化挺大&#xff0c;但了解react的机制和rea…

Android一些新的技术栈,你都会哪些?

Jetpack Compose&#xff1a; Jetpack Compose是一种全新的声明式UI框架&#xff0c;用于构建Android应用的用户界面。它使UI开发更加简单和直观&#xff0c;通过使用Kotlin语言来创建交互式和动态的UI组件。 Kotlin Multiplatform&#xff1a; Kotlin Multiplatform允许开发者…

2023年【北京市安全员-A证】考试报名及北京市安全员-A证考试资料

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 北京市安全员-A证考试报名根据新北京市安全员-A证考试大纲要求&#xff0c;安全生产模拟考试一点通将北京市安全员-A证模拟考试试题进行汇编&#xff0c;组成一套北京市安全员-A证全真模拟考试试题&#xff0c;学员可…

【LeetCode】59. 螺旋矩阵 II

1 问题 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]] 示例 2&#xff1a; 输入&#xff1a;n…

windows 11 安装PHP8.2

环境说明 windows:windows 11 x64apache: Apache/2.4.43php :php-8.2.11 一.php 1、PHP下载 PHP For Windows: Binaries and sources Releases 注意&#xff1a; 1.要下载Thread Safe&#xff0c;否则没有php8apache2_4.dll这个文件&#xff1b;如果使用Apache作为服务器…

SpringSecurity+ Oauth2.0+JWT 0-1

这里写目录标题 准备工作准备SQL添加用户添加依赖准备UserInfoUserMapperUserServiceUserServiceImpl配置SpringDataUserDetailsService 授权服务器&#xff1a;AuthorizationServer配置客户端详细信息管理令牌定义TokenConfig定义AuthorizationServerTokenServices 令牌访问端…

Python爬虫基础之Selenium详解

目录 1. Selenium简介2. 为什么使用Selenium&#xff1f;3. Selenium的安装4. Selenium的使用5. Selenium的元素定位6. Selenium的交互7. Chrome handless参考文献 原文地址&#xff1a;https://program-park.top/2023/10/16/reptile_3/ 本文章中所有内容仅供学习交流使用&…

左连接一对多的情况

左连接一对多时候&#xff0c;应该以主表唯一数据为左表 GROUP_CONCAT&#xff08;&#xff09;

Flutter之Widget生命周期

目录 初始化构造函数initStatedidChangeDependencies 运行时builddidUpdateWidget 组件移除deactivatedisposereassemble 函数生命周期说明&#xff1a;实际场景App生命周期 前言&#xff1a;生命周期是一个组件加载到卸载的整个周期&#xff0c;熟悉生命周期可以让我们在合适的…

父组件与子组件的属性透传

透传是vue中一种特性&#xff0c;官方的解释是&#xff1a;“透传 attribute”指的是传递给一个组件&#xff0c;却没有被该组件声明为 props 或 emits 的 attribute 或者 v-on 事件监听器。最常见的例子就是 class、style 和 id。这句话解释过来就是一些不被prop定义的属性直接…

尚硅谷Flink(完)FlinkSQL

&#x1f9d9;FlinkSQL&#x1f3c2;&#x1f93a; Table API 和 SQL 是最上层的 API&#xff0c;在 Flink 中这两种 API 被集成在一起&#xff0c;SQL 执行的对象也是Flink 中的表&#xff08;Table&#xff09;&#xff0c;所以我们一般会认为它们是一体的。 SQL API 是基于…

短视频矩阵系统源头开发

一、智能剪辑、矩阵分发、无人直播、爆款文案于一体独立应用开发 抖去推----主要针对本地生活的----移动端(小程序软件系统&#xff0c;目前是全国源头独立开发)&#xff0c;开发功能大拆解分享&#xff0c;功能大拆解&#xff1a; 7大模型剪辑法&#xff08;数学阶乘&#x…

openHarmony UI开发

常用组件和布局方式 组件 ArkUI有丰富的内置组件&#xff0c;包括文本、按钮、图片、进度条、输入框、单选框、多选框等。和布局一样&#xff0c;我们也可以将基础组件组合起来&#xff0c;形成自定义组件。 按钮&#xff1a; Button(Ok, { type: ButtonType.Normal, stateEf…

C# Onnx Yolov8 Detect 烟雾检测

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace Onnx…