本文仅为入门实验,甚至谈不上研究的程度。目的是:记录如何烧录程序到 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. 面向对象:MATLAB的自定义类 [MATLAB]

    https://www.cnblogs.com/gentle-min-601/p/9785812.html 面向对象:MATLAB的自定义类 [MATLAB]   这几天刚刚开始学习MATLAB的面向 ...

  2. 《linux就该这么学》第十二节课:第10章,Apache网站服务

    第十章 10.1.网站服务程序 (让用户能够通过网站访问服务器上的资源) 目前提供的网站服务有IIS,Nginx,Apache等,IIS是windows中默认的web服务程序. Nginx是后起之秀, ...

  3. Windows 10,鼠标右键-发送到-桌面快捷方式缺失解决方法

    1-双击“我的电脑”. 进到这里 2-路径框修改为“shell:Sendto”,回车. 3-把“桌面快捷方式”黏贴到Sendto文件夹下

  4. CASE WHEN 及 SELECT CASE WHEN的用法

    CASE WHEN 及 SELECT CASE WHEN的用法 Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WH ...

  5. Intellij IDEA 配置Tomcat远程调试

    一.前言 在服务器端开发过程中,由于服务器环境差异导致运行结果不符合预期. 所以就需要到IDEA Debug 服务器代码.看起来貌似很高大上的事情. 今天就说说使用Intellij IDEA 配置的方 ...

  6. 华为AR-111S路由器GRE协议设置

    一.GRE的定义: gre(generic routing encapsulation,通用路由封装)协议是对某些网络层协议(如ip 和ipx)的数据报进行封装,使这些被封装的数据报能够在另一个网络层 ...

  7. [Docker] sh: docker-compose: not found

    有点坑爹,在使用  alpine 镜像的时候,明明在里面安装了docker-compose,/usr/local/bin/docker-compose也是存在的,却报 sh: docker-compo ...

  8. 主线程 RunLoop 学习笔记

    以下为主RunLoop 的输出,能够看到不同的source0,source1,observer ---------------------------------- CFRunLoop{wakeup ...

  9. 《ASP.NET Core In Action》读书笔记系列四 创建ASP.NET Core 应用步骤及相应CLI命令

    一般情况下,我们都是从一个模板(template)开始创建应用的(模板:提供构建应用程序所需的基本代码).本节使用 Visual Studio 2017 .ASP.NET Core2.0和 Visua ...

  10. Vue组件的定义、注册和调用

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>组 ...