Arduino IDE及编程函数_林佳展的博客-程序员宅基地_arduinoide

技术标签: ide  

说明:此文章仅是我学习过程中的一些记录,如有侵权,请联系我删除,文章中难免有遗漏错误之处,欢迎指出。

一、Arduino IDE

二、常用函数

1.基本操作

2.数字

3.模拟

4.串口通讯

5.随机数 

一、Arduino IDE

基本操作

1.选择开发板                  工具-->开发板

2.选择端口                     工具-->端口

3.保存                             文件(sketch)-->保存

界面

验证(编译)

上传(烧录)

Arduino使用的编程语言:C++

变量的作用域 => 注意定义变量的位置

        “全局变量” => 定义在函数外

        “局部变量” => 定义在函数内

二、常用函数

1.基本操作

pinMode(pin,Mode);

配置引脚的模式。

        pin为引脚。

        Mode为模式,有3种:

                a.OUTPUT,b.INPUT,c.INPUT_PULLUP(输入上拉)

2.数字

digitalRead(pin);

读取引脚电平。

        pin为引脚。

①使用int变量类型存放数据时,返回值为HIGH/LOW

②使用boolean/bool(即布尔型)变量类型存放数据时,返回值为1/0


digitalWrite(pin,val); 

配置引脚的数字电平。

        pin为引脚。

        val为数字电平,有2种:

                a.HIGH,b.LOW

                        (对于Uno开发板,HIGH = 5VLOW 0V/GND

        

3.模拟

analogRead(pin);

将引脚输入的模拟数据映射成数字量。(对于Uno开发板,读取的值是电压值)

        pin为引脚。

        (对于Uno开发板,输出的0~5V模拟电压映射成0~1023的数字量)

analoWrite(pin,val);

输出模拟电压。(对于Uno开发板,输出为PWM波)

        pin为引脚。

        val为模拟电压值。

                从0~255对应0~5V

4.串口通讯

Serial.begin(bauds);

串口通讯初始化,配置串口的波特率。

        bauds为波特率;

Serial.print(str);

输出内容到串口监视器。输出完不换行

        ①若str为变量名,则输出变量的值。

        ②若str为“·····”,即字符串,则输出“”中的内容。

print改成println,则输出结果后换行并且空一行。

5.随机数 

random(max);

random(min,max);

产生随机数。

        min为最小值,max为最大值。

①返回值包含min,不包含max。

②单独使用random()产生随机数时,在每次程序启动时,总是重复同一组随机数。

randomSeed(seed);

产生随机数的种子。

        实际应用中,seed常用analogRead(pin)

                其中,pin为某个悬空引脚

6. 映射map

b = map(a,0,1023,0,255)

a为输入变量(0~1023),b为结果(0~255)

将0~1023等比映射成0~255。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_48021291/article/details/121490673

智能推荐

自制“包扫描”工具_Ctrl+viviya的博客-程序员宅基地

一、包扫描的作用在某些时候,我们需要得到一个包下的所有类,然后根据条件约束再去筛选特定的类。这个时候如果有一个工具,可以输入包名之后就直接扫描出报下所有的类,对于开发人员来说,是很方便的操作。就比如说是Spring框架中用到了注解,首先的操作就是,扫描一个指定包下的所有的类,将带有Compenent注解的类加入到一个BeanPool容器中,作为后续可能会用到的被注入的初始化对象。为了方便使用,我自制了一个通用性比较强的“包扫描”工具。二、具体操作1、更改使用者输入的包名:为了方便起见,允许使用这个

(转)当margin-top、padding-top的值为百分比时是如何计算的?_weixin_38169798的博客-程序员宅基地

本文链接:https://blog.csdn.net/qq_27437967/article/details/72625900问题:当margin-top、padding-top的值是百分比时,分别是如何计算的? A 相对父级元素的height,相对自身的height B 相对最近父级块级元素的height,相对自身的height C 相对父级元素的width,相对自身的width D ...

ORACLE 12C PDB 维护基础介绍_bangpao4432的博客-程序员宅基地

来自:http://www.xifenfei.com/2013/05/oracle-12c-pdb-%E7%AE%A1%E7%90%86%E4%BB%8B%E7%BB%8D1.htmlCDB和PDB是ORACLE 12C一个很亮的新特性,由于他们的引入导致传统的ORACLE数据库管理理念不少发生了改变,这里列举了部分最基本的cdb和pdb管理方式cdb和pdb关系图...

CSS与CSS3美化页面_AllenCode7的博客-程序员宅基地

目录一、CSS简介1.1 什么是CSS?1.2 样式层叠次序二、CSS基础语法三、CSS使用方式四、CSS常用选择器五、CSS关系和属性选择器六、CSS伪类选择器七、CSS的尺寸和单位八、CSS字体与文本属性九、CSS背景属性十、CSS边框属性十一、CSS内外补白属性十二、CSS盒子模型实例十三、CSS定位属性十四、CSS布局属性十五、CSS实现导航十六、CSSflex弹性盒子介绍十七、CSS用户界面和多栏属性介绍十八、CSS表格和过度属性介绍十九、CSS旋转动画和媒体查询属性介绍二十、CSS字体图标的使用

Squid 缓存的相关操作及使用说明_weixin_34130389的博客-程序员宅基地

一、查看squid命中情况除了之前在squid的access.log中查看squid缓存命中的方法之外,还可以通过以下方法进行查看:这里对图片服务器的httpd配置文件添加一些新的配置如下:ExpiresActive on ExpiresDefault "access plus 12 month" ExpiresByType text/html "access plus ...

Django-- (六) Django高级开发_jacke5t的博客-程序员宅基地_django 高级

1、自定义过滤器Django提供了很多过滤器,但有时并不能满足我们的需求,这时候就需要自定义过滤器来实现某种功能。1.1 步骤1、创建templatetags包名字是固定的,不能随意改动2、 在templatetags包里创建文件,用来存放过滤器函数,文件名字可以任意。3、编写过滤器函数from django.template import Libraryregister = Library() # 实例化模板库@register.filter # 用来注册过过滤器的装饰器

随便推点

不同语言中的标准输入输出重定向(freopen)_yunshouhu的博客-程序员宅基地

转自:http://blog.watashi.ws/2357/freopen-summary/通常在Online Judge上的题目要求程序从标准输入流(standard input, stdin)读入输入数据,将答案输出到标准输出流(standard output, stdout),并通常会无视标准错误输出流(standard error, stderr)的输出。当然,过多的stde

Mysql主从复制与读写分离_weixin_34191734的博客-程序员宅基地

MySQL主从复制与读写分离一、实验环境二、实验步骤先部署主从复制,只有主从复制完成了,才能在此基础上进行读写分离。MySQL支持的复制类型:基于语句复制:在主服务器上执行sql语句,在从服务器上执行同样的语句,MySQL默认采用基于语句的复制,效率较高。基于行复制:把改变的复制过去而不是把命令在服务器上执行一遍。混合类型复制:默认采用基于语句复制,一旦发现基于语句无法精确复...

ASP.NET MVC5+EF6+EasyUI 后台管理系统(9)_weixin_44901266的博客-程序员宅基地

本次参考学习了https://www.cnblogs.com/ymnets/p/3424309.htmlC这个人的教程但是由于时代久远,教程节奏快,版本的问题。对于初学者来说,很不友好。正好我也要学习,所以自己重新写一下,顺带改一改其中的小bug。系统目标:实现一个权限管理案例 用户—角色—权限本节目标:导航菜单1.准备工作下载http://files.cnblogs.com/ym...

AVA算法:字符串A中是否包含字符串B_衫恋冰的博客-程序员宅基地

JAVA算法:字符串A中是否包含字符串B public static void main(String[] args) { test5("aabbccdd","dd"); } //if (baseChar[i] == searchChar[0] && i + searchChar.length <= baseChar.length) ...

欧文分校的计算机科学博士,UCI的CS「加州大学欧文分校计算机科学系」_实施计划的博客-程序员宅基地

加州大学欧文分校计算机科学系专业研究生阶段开设有以下三个学位项目,分别是:计算机科学硕士(Master of Computer Science):为期4个学期(quarter),共需修读11门课程,44个学分,合学费$43,000(2017学年)。要求申请本科毕业,拥有计算机科学、计算机工程或电气工程专业背景,其它理科或商科专业背景但拥有相当计算机功底的学生亦可申请。该项目系2017秋季新开设的p...

vue+elementUi——实现后台管理系统的布局(sideBar+header+appMain)_yehaocheng520的博客-程序员宅基地_element 后台布局

在做后台管理系统时,最常见的系统布局就是:左右布局。左侧是菜单栏,右侧是内容区,内容区又分为头部和展示区。如下:因此分析一下这个页面的结构:1.html部分<template> <div class="app-wrapper"> <div class="layout-aside" :class="{collapse:isCollapse}"> <div class="layout-logo"> <router-link to=

推荐文章

热门文章

相关标签