1,arduino开发板主要用于处理输入输出信号;

2,第一个案例:利用arduino IDE编辑代码控制LED灯闪烁;

void setup(){ 仅仅执行一次

PinMode(13,output); //设置引脚模式,13号为输出;

}

void loop(){ //循环执行,不停止

digitalWrite(13,HIGH); //设置数字输出,13号引脚高电平,此时灯亮;

delay(1000); //延迟1000ms之后执行下一步函数;

digitalWrite(13, LOW); //设置13号引脚为低电平,此时灯灭;

delay(1000); //延迟函数;

}

3,第二个案例:流水灯控制;

将6个小灯插到面包板上,其中长引脚分别分配arduino的6,7,8,9,10,11接口;短引脚全部都接到面包板的蓝线上,然后在面包板的蓝线中的一个接口连接到arduino的GND接口。代码如下:

void setup(){

pinMode(6,output);

pinMode(7,output);

pinMode(8,output);

pinMode(9,output);

pinMode(10,output);

pinMode(11,output);

}

void loop(){

digitalWrite(6, LOW);

digitalWrite(7,HIGHT);

delay(200);

digitalWrite(7, LOW);

digitalWrite(8,HIGHT);

delay(200);

digitalWrite(8,LOW);

digitalWrite(9,HIGHT);

}

4,开关元件;

(1)开关元件有四个脚,内部电路是这样的,连接的时候要么对角线,要么等侧连接;

(2)还有一种是震动开关:只要震动,里面的电线接触,就接通;没有正负极

(3)第三种开关,干簧管。磁铁一旦靠近就接通。

(4)第四种开关,滚珠开关。只要倾斜就接通,因为里面有个小滚珠。但是只有一侧滚动能接通;

5,本来开关和灯没有关系,现在利用程序控制,当按下开关时,灯亮。其中,灯泡长脚是连接7号接口,7号接口定义为输出信号,而开关连接的引脚是连接8号接口,8号接口定义为输入信号;因为此刻开关作为外部控制设备,是向开发板输入信息,LED灯作为受控器件,是开发板向它输出信号。点击按钮的时候,电流从蓝色线流向接口,此时可以判断如果此接口是低电平则灯泡亮;

源代码:

void setup(){

pinMode(7, output);

pinMode(8,input);

digitalWrite(8,HIGH);//设置开关初始值是高电平;

}

void loop(){

if(digitalRead(8)==LOW) //如果8是低电平,即按下开关;

digitalWrite(7,HIGH);

digitalWrite(7,LOW);

}

7,利用蜂鸣器实现手风琴;

和上一个原理一样,因为蜂鸣器是根据频率不同设置的,所以,根据开关接口的电平不同设置相应的蜂鸣器频率。

void setup(){

pinMode(8,INPUT); //设置开关

digitalWrite(8, HIGH);

pinMode(9,INPUT);

digitalWrite(9, HIGH);

piMode(10,INPUT);

digitalWrite(10, HIGH);

pinMode(11,OUTPUT) //设置灯

pinMode(12, OUTPUT)

pinMode(13,OUTPUT)

}

void loop(){

if(digitalRead(8)==LOW){

tone(7,2093); //蜂鸣器频率设置为2093,发出dou

digitalWrite(11, HIGH);

}else{

notone(7);

digitalWrite(11,LOW);

}

8,呼吸灯:所谓呼吸比较平稳,所以不能像闪烁的LED那样忽闪忽灭,所以要使用模拟输出,电流连续变化。

代码:

void setup(){

pinMode(11,OUTPUT);

}

void loop(){

for(int i=0;i<30;i++){

analogWrite(11,i); //模拟信号输入,其中的i范围是[0,255];

delay(10);

}

for(int j=29;j>0;j--){

analogWrite(11,j);

delay(10);

}

}

其中模拟信号电压和数字信号电压的值,对应关系:

模拟信号是如何实现,在一个周期控制电压在一个范围内的?

如图,on属于5v, off属于0v,在一个时间周期,即发送一次脉冲时, 上一个图ta在on的持续时间是25%,off持续的时间是75%,这样计算出来的电压值:v0=5*25%+0*75%=1.25(v);  可以简单的这样理解;

9,呼吸流水灯:

void setup(){

pinMode(3, OUTPUT);

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

pinMode(9, OUTPUT);

pinMode(10, OUTPUT);

pinMode(11, OUTPUT);

}

int ports[6]=[3,5,6,9,10,11];

int i=0,level=0;

set loop(){

analogWrite(ports[i], level);

delay(10);

++level %=7;

++i %=6; i首先自增,然后取模6,也即是,i一直处于0~5的范围循环;

}

10,  台灯的原理(模拟输入):利用电位计能够取得连续值;电位计有3个腿,左边接+5v电源接口,最右边的接GND,中间的接模拟输入接口;

void setup(){

pinMode(9,OUTPUT); //仅需要设置灯的接口是输入还是输出就行了,不用设置电位计的接口,因为电位计接的是模拟输入区域,已经规定那几个端口就是输入;

Serial.begin(9600); //Serial是表示串口,begin设置波特率;

}

void loop(){

Serial.printIn(analogRead(A0)); //analogRead(A0)表示读取电位计A0输入接口的值,Serial.printIn()表示将值输出到屏幕上;这 个屏幕可以是串口小助手工具,将板子连接到电脑,串口小助手设置相应的COM口,然后 就可以读取值并显示;

analogWrite(9, analogRead(A0)/4); //将灯的输出值设置为电位计的输入值;因为模拟输入的范围是[0,1023],而模拟输出的 范围是[0,255],所以接口9的值应该设置为电位计输入值的1/4;

delay(200);

}

原文作者:kalinux

arduino 鸿蒙,arduino入门开发案例(上)相关推荐

  1. Flowable 快速入门教程:Flowable 入门开发案例,结合流程设计器详细讲解

    Flowable 快速入门教程:Flowable 入门开发案例,结合流程设计器详细讲解 前言 流程设计器集成 整体流程图 流程节点说明 第一审核人节点:实际设置审核人 配置信息 说明 第二审核人:参数 ...

  2. arduino 鸿蒙,Arduino 开发板介绍及对比(上)

    一.UNO/UNO r3 Arduino / Genuino Uno是基于ATmega328P的单片机开发板.它有14个数字输入/输出引脚(其中6个可用作PWM输出),6个模拟输入脚,16 MHz晶振 ...

  3. 数据库入门开发案例,真的是入门级别的!!看了不后悔。

    首先我们先讨论实体之间的联系怎么表示 1.数据库中一对一的实现方式: (如一个学生对应一个档案,一个档案对应一个学生.学生表为A表,档案表为B表) 唯一外键方式:在A和B任意一表中添加唯一外键(注意是 ...

  4. 鸿蒙系统入门开发(入门篇)

    文章目录 鸿蒙开发 开发基础知识 app Ability 库文件 资源文件 配置文件 pack,info HAR 搭建开发环境 软件安装 配置开发环境 下载HarmonyOS SDK 运行hello ...

  5. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第42讲:PHP数据库开发案例

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第42讲:PHP数据库开发案例 上节学习了Mysql数据的操作,本节结合贵阳网站建设的实践经验,通过MVC思想进行实例开发和程序设计. 一.网站建设流程介绍 ...

  6. Arduino 机器学习实战入门(上)

    Arduino 机器学习实战入门(上) 这是来自Arduino团队的Sandeep Mistry和Dominic Pajak的一篇客座文章. Arduino的任务是让机器学习变得简单,任何人都可以使用 ...

  7. CH55X 基于Arduino框架开发程序上传相关注意事项

    CH55X 基于Arduino框架开发程序上传相关注意事项

  8. Arduino版读取程序的规则_如何在Arduino开发板上使用机器人操作系统(ROS)

    Arduino开发板经常用于制作一些小型的机器人,并具有简单的逻辑定义控制.但是,由于板载计算能力和软件有限,开发人员常常无法升级到更复杂的机器人.通常,随着开发人员变得越来越有经验,他们会寻找专门用 ...

  9. 【学习笔记】在Arduino开发板上使用人体红外传感器HC-SR505

    PIR(Pyroelectric Infra Red)传感器可测量检测区域中的物体发出的红外光. HC-SR505就是这样的传感器.它非常易于使用,如果检测区域中有物体在移动,该传感器会产生HIGH高 ...

  10. Django 入门项目案例开发(上)

    关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. Django 入门案例开发(中) http://www.cnblogs.com/focusBI ...

最新文章

  1. iOS之HTTP和HTTPS的基本知识和应用
  2. Python在线考试系统防作弊功能的思路和实现
  3. word 段显示在页面最下方_最快速地把同一内容插入到Word文档不同页面的相同位置...
  4. 软件 Bug 引发的致命事故,程序员责任何在?| 技术头条
  5. 【OCP-052】052认证考试新题库整理-第9题
  6. SQL Server 2008使用问题集锦
  7. BZOJ 3251 树上三角形
  8. 扩展欧几里得算法及其简单应用
  9. Lora服务器:Chirpstack连接Lora网关实战
  10. 毕业设计的一些小总结
  11. 人体神经网络的组成部分,人体的神经网络是什么
  12. linux java 串口_Java串口通信总结
  13. 输入若干个国家的英文名字,将它们按字母顺序从大到小排列,然后输出。
  14. c++基于ffmpeg实现mp4转flv
  15. 使用neon实现RGB888转RGB565
  16. win10下node.js升级
  17. app小窗口悬浮工具_悬浮助手SoftCircle
  18. 联发科有没有高端处理器_联发科官宣,全球第六款7nm处理器来袭,专为游戏而生...
  19. Java Web前后端分离项目—后端servlet实例
  20. 我的世界win10版与java版_我的世界java版和win10版的区别

热门文章

  1. 大小和尚共有100人php,古今诗趣(一)· 数字诗
  2. 字符集详解(学习,看一篇就够了)
  3. C语言中字符串的结束标志是什么
  4. 【入门】统计字符的个数
  5. C语言:判断一个数是不是素数(质数)
  6. 最新win10系统激活教程
  7. 如何写一篇学术研讨会级的论文
  8. 如何理解前后端分离HTML5,Web前后端分离开发思路
  9. python编程星期几_python如何获取星期几
  10. AJPFX讲解外汇保证金交易的货币符号和外汇的报价方式