热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

2.0Arduino各类模块(持续更新)

 Arduino本身的接口并不多如何实现更多的功能,以及各种模块如何使用?从本节开始进行介绍,补补档。二、各类模块1、HC595(可用于拓展接口)Vin接5v正极,GND负极OE接

 Arduino本身的接口并不多如何实现更多的功能,以及各种模块如何使用?从本节开始进行介绍,补补档。


二、各类模块

1、HC595(可用于拓展接口)

Vin接5v正极, GND负极

OE接负极启动

MR接正极保持信号,接负极重置所有接口

“资料”为即将放入“大平台”的数据, 活塞为高点位时将“资料推入大平台”,从“0”号口开始

”大平台“为高电位时将数据推入串口

void loop() {
digitalWrite(big,LOW); //大平台降低
for(i=0;i<8;i++){input(a[i]);} //循环放入数据
digitalWrite(big,HIGH); } //大平台升高
void input(int input){
digitalWrite(push,LOW); //活塞后退
digitalWrite(datain,input); //输入数据
digitalWrite(push,HIGH);} //活塞升高

2、L293D电机驱动芯片

 

1-启用1,2(+ 5V)

2-输入1(信号1)

3-输出1(电机1引脚1)

4-接地(0v)

5-接地(0V)

6-输出2(电机1的引脚2)

7 -输入2(信号2)

8-VCC2 {+ 9v(另一只电池的+ ve端子,而不是连接到arduino的电池或等效电池)}

9-启用3,4(+ 5V ) 10-输入3

11-输出3(电机2的引脚2) 12-接地(0V)

13 -接地(0v) 14-输出4(电机2的引脚2)

15-输入4 16-VCC1(+ 5V)

可以通过模拟信号输入调速控制直流电机的速度,通过同侧信号输入控制电机的正反转,两个信号口必须为不同的电平,一侧高一侧低。启动接口可以使用模拟信号输入进行调速,VCC接口为电机主供电接口。调速范围(0,255)

int S,OUT;
int sensor = A1; //定义模拟信号输入口
void setup() {
Serial.begin(9600);
pinMode(8,OUTPUT); //信号输出控制方向
pinMode(9,OUTPUT); //信号输出控制方向
pinMode(10,OUTPUT); //直流电机使用模拟信号输出控制速度
digitalWrite(8,HIGH); //输出方向
digitalWrite(9,LOW);
}
void loop() {
S = analogRead(A1);
OUT= map(S,0,1023,0,255);
analogWrite(10,OUT);
}

3、L293D电机驱动板

此处使用AFMotor函数库

数字引脚2和13可用。

    下面的引脚只有在下面提到的直流或者步进电机工作时才会被用到

       数字引脚11: 1号直流电机或者1号步进电机

       数字引脚3: 2号直流电机或者1号步进电机

       数字引脚5: 3号直流电机或者2号步进电机

       数字引脚6:4号直流电机或者2号步进电机

    下面的引脚只有在下面的直流或者步进电机工作时才会被用到

       数字信号4,7,8,和12通过74hc595(serial-to-parallel)来驱动直流或者步进电机

    下面的引脚只有在舵机工作时才会被用到

       数字信号9:1号舵机

       数字信号10: 2号舵机

#include //导入函数库
AF_DCMotor m1(1,MOTOR12_64KHZ);
AF_DCMotor m2(2,MOTOR12_64KHZ);
AF_DCMotor m3(3,MOTOR12_64KHZ);
AF_DCMotor m4(4,MOTOR12_64KHZ);
//设置控制频率MOTOR12_64KHZ,MOTOR12_8KHZ,MOTOR12_1KHZ
void setup(){
}
void loop(){
motor.setSpeed(255);//设置速度
motor.run(FORWARD); //向前
motor.run(BACKWARD);//向后
motor.run(RELEASE);//停止
}



推荐阅读
  • 本文总结了在多人协作开发环境中使用 Git 时常见的问题及其解决方案,包括错误合并分支的处理、使用 SourceTree 查找问题提交、Git 自动生成的提交信息解释、删除远程仓库文件夹而不删除本地文件的方法、合并冲突时的注意事项以及如何将多个提交合并为一个。 ... [详细]
  • 本文介绍了在Visual C++环境中通过编程实现鼠标移动及点击的具体方法,包括获取鼠标当前位置、移动鼠标至指定位置并执行点击等操作。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • 本文详细介绍了如何在Java Swing中使用`JButton.registerKeyboardAction()`方法来为按钮设置键盘快捷键,并提供了多个实用的代码示例。 ... [详细]
  • 本文旨在探讨Swift中的Closure与Objective-C中的Block之间的区别与联系,通过定义、使用方式以及外部变量捕获等方面的比较,帮助开发者更好地理解这两种机制的特点及应用场景。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 本文将详细介绍Fuel CMS如何基于CodeIgniter框架构建,包括其单入口模式的实现方式及关键配置文件的作用。通过分析本地环境中的index.php和.htaccess文件,我们将更好地理解Fuel CMS的核心架构。 ... [详细]
  • 本文提供了一个详尽的前端开发资源列表,涵盖了从基础入门到高级应用的各个方面,包括HTML5、CSS3、JavaScript框架及库、移动开发、API接口、工具与插件等。 ... [详细]
  • 深入理解iOS中的链式编程:以Masonry为例
    本文通过介绍Masonry这一轻量级布局框架,探讨链式编程在iOS开发中的应用。Masonry不仅简化了Auto Layout的使用,还提高了代码的可读性和维护性。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
author-avatar
mobiledu2502874455
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有