本文仅为入门实验,甚至谈不上研究的程度。目的是:记录如何烧录程序到 Arduino 主板,以及通过一些简单例程,找到 Arduino 开发的感觉。

开发环境:Ardunio IDE(用于编译、上传运行代码)、VS Code 这种实时的文本编辑器(方便查看、编写代码,编写后再将代码复制到 Arduino IDE 中保存)。

Arduino 驱动:在 Win10 环境,应该会自动安装。插上 Arduino 稍后一会,就能直接上传代码。

1、Hello World例程

打开 Arduino IDE,另存临时工程。用 VS Code 编辑 .ino 源文件:

int ledpin = ;  //定义数字接口13,对应 Arduino 数字 I/O 13口,库中的 LED_BUILTIN 常量

void setup()
{
// 通过串口收发数据
Serial.begin(); //设置串口的波特率
pinMode(ledpin, OUTPUT); //设置13口为输出模式。使用 Arduino 上面的 I/O 口,都需要类似设置
} void loop()
{
// int val = Serial.read(); //读取 pc 发送给 Arduino 的数据
digitalWrite(ledpin, HIGH); //13口输出高电平
delay(); //延迟0.5秒 digitalWrite(ledpin, LOW); //13口输出低电平
delay(); Serial.println("Hello World");
}

编写好保存后,用 Arduino IDE 上传代码后,只要 Arduino 通电,代码就会在主板上运行了。

最后打开 Arduino IDE 的串口工具,即可看到 Arduino 不断发送的数据;随便用个小灯泡,阴极接地,阳极接13口,可以看到小灯泡正在 Blink。

2、使用模拟接口,读取模拟值:

Arduino 有 A0-A5,共6个模拟口,模拟口也可以复用为数字接口14-19。至于是当作模拟口,还是用作数字接口,取决于使用 digital 还是 analog 函数。

例程:

int potpin = ;
int val = ; void setup()
{
// 通过串口收发数据
Serial.begin(); //设置串口的波特率
} void loop()
{
val = analogRead(potpin);
Serial.println(val);
delay();
}

电路图如下(其中 R2 为可变电阻)。通过可调电阻改变电流大小,从而改变 A0 的模拟值,读取并输出串口。

Arduino Reference:https://www.arduino.cc/reference/en/

记 Arduino 之 Hello World 篇(Getting Started)的更多相关文章

  1. 小圣求职记A:腾讯篇

    本人普通985高校计算机专业研究生一枚,从9月12号开始正式找工作,一个月过去了,参加了能参加的各个互联网公司的宣讲.笔试.面试,现用两篇随笔分享所见所闻.随笔A将以腾讯为例详细展示整个过程,随笔B将 ...

  2. TravelCMS旅游网站系统前台诞生记-2(后台框架篇)

    经过一个多月的研发,前台页面已基本成型了,已开发了线路和签证两大模块,支持在线支付,微信支付待开发,在这个过程中,发现前端技术远比后台技术注重的细节多,特别是css,比我想象的要难,为了兼容各种浏览器 ...

  3. TravelCMS旅游网站系统诞生记-1(后台框架篇)

  4. Arduino 极速入门系列 - 光控灯(1)- 关于理论和 LED 那些事

    点个 LED 闪亮好像太单调,这次来个光控 LED 灯.这个其实不需要 Arduino 也能做,这次只是用来演示一下 PWM 在 Arduino 里面的做法.PWM 原理后面会解释.这次用充电宝提供 ...

  5. KB奇遇记(10):终章

    本来还想写一篇关于前CIO的著名言论,不过想想还是算了.博客空间宝贵,不乱恶心人了. 这篇博文是本系列<KB奇遇记>的最后一篇了. 虽然在KB公司有这么多的苦,但毕竟收获也很多,至少让我懂 ...

  6. THUSC2018滚粗记

    THUSC2018滚粗记 前言 大家好,我是\(yyb\),我的博客里又多了一篇滚粗记, 我记得我原来在某篇滚粗记中曾经写过 \(yyb\)还会写很多很多次滚粗记才会有一篇不是滚粗记的东西. 看起来这 ...

  7. 高阶篇:4.4)FMEA手册的疑问与不足(个人观点)

    本章目的:如题,述说FMEA手册第四版的疑问与不足. 1.前言 作者接触FMEA,并真正将其作为可靠性设计方法,也是在近几年的时候,所以不能说算是一个FMEA专家吧. 但作者也有一些自己的优势,就是自 ...

  8. 安卓开发实战-记账本APP(六)

    记账本APP开发---终结篇 昨天的动态数字录屏奉上:在抖音上拍了一个(ps:欢迎点赞) https://v.douyin.com/poEjmG/ 今天将图表的内容进行了制作,我用的是MPChart的 ...

  9. 对于前端,「微信小程序」其实不美好

    微信小程序开放公测了,9月底我曾经写过一篇 「微信小程序」来了,其中最后一句:"谢天谢地,我居然还是个前端". 这种火爆的新事物总是令人激动,感谢这个时代. 但是,当我真作为开发者 ...

随机推荐

  1. Java对象在Hibernate持久化层的状态

    -临时状态:刚用new语句创建对象,还没有被持久化,并且不处于Session缓存中.处于临时状态的java对象被称为临时对象. -持久化状态:已经被持久化,并且加入到Session的缓存中.处于持久化 ...

  2. .net core mysql ef

    利用nuget添加以下引用 MySql.Data.EntityFrameworkCore         Pomelo.EntityFrameworkCore.MySql         Micros ...

  3. docker命令汇总

    docker命令汇总 序号 类别 简述 命令 功能 说明 1 整体管理 安装 yum install docker-engine centos上安装docker Ubuntu上安装dockerapt- ...

  4. C#中string.Format 用法详解

    这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string. ...

  5. Warning: count(): Parameter must be an array or an object that implements Countable in line 302解决方法

    ytkah在调试项目时又弹出一个警告Warning: count(): Parameter must be an array or an object that implements Countabl ...

  6. 某平台实时数据录入js代码的修改坑点

    在隐形内嵌函数使用的时候,很容易把这一点忘记了:内嵌函数不能修改外部函数的变量和参数 使用了mysql存储过程实现数据计算,导致高并发的时候数据库挂掉 mysql最大连接数调整到16384 之前为10 ...

  7. trident-deploy自动部署命令

    sh ./iot-api/install.sh  ./iot-api/values.yaml

  8. Java 数据库程序设计

    数据库基础 目前,大多数数据库系统都是关系数据库系统(relational database system).该数据库系统是基于关系数据模型的,这个模型有三个要素:结构.完整性和语言 结构(struc ...

  9. iOS 高级去水印,涂鸦去水印

    目前在研究一下图像的处理,看了一下相关的软件,比如:<去水印大师>,究竟去水印是怎么处理的呢?看图分析. 一共是三个功能:快速去水印.高级去水印.涂鸦去水印 快速去水印:暂时没找到好的处理 ...

  10. Oracle创建新undo表空间最佳实践(包含段检查)

    在处理一则ORA-600 [4194]案例时,参考MOS文档:Step by step to resolve ORA-600 4194 4193 4197 on database crash (文档 ...