本文仅为入门实验,甚至谈不上研究的程度。目的是:记录如何烧录程序到 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. Python环境——安装扩展库

    一.修改easy_install源 在操作用户家目录添加一个文件 cat >> ~/.pydistutils.cfg <<EOF [easy_install] index-ur ...

  2. 杂记:解决Android扫描BLE设备名称不刷新问题

    背景 个人开发过一种BLE设备有这样一种需求:当设备处于状态A时,广播设备名称A:处于状态B时,广播设备名称B. 问题 我们发现,当Android在进行Ble扫描的时候,扫描回调函数onScanRes ...

  3. selenium--鼠标事件

    鼠标事件perform() #执行所有ActionChains中存储的行为context_click() #右击事件double_click() #双击事件drag_and_drop(source,t ...

  4. Xamarin.Forms 开发资源集合

    收集整理了下 Xamarin.Forms 的学习参考资料,分享给大家,稍后会不断补充: UI样式 Snppts: Xamarin Forms UI Snippets. Prebuilt Templat ...

  5. 混合开发使用Chrome Inspect调试WebView预览手机界面和定位元素

    使用Chrome Inspect调试混合应用可以帮助我们排查问题.例如定位元素,快速修改CSS样式并实时查看效果.其实微信开发也是一种混合开发模式,微信可以看做一个原生的Android App搭配了一 ...

  6. “行业客户云原生最佳实践日” 亮相KubeCon上海

    2018年11月13日至15日,由CNCF主办的KubeCon + CloudNativeCon将首次登陆中国上海,这是全球范围内规模最大的Kubernetes和云原生技术盛会. 唯一聚焦客户实践的分 ...

  7. [CentOS] rsync同步目录进行备份文件

    操作不难,网上一堆.这里列几个 CentOS7 参考地址: https://www.server-world.info/en/note?os=CentOS_7&p=rsync Copy fil ...

  8. [React Native] change port when running react native

    Two ways to do that. First, use this module to do that, https://github.com/ktonon/react-native-port- ...

  9. 棋盘游戏,dfs搜索

    问题描述 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆 ...

  10. Load data local infile 实验报告

    1.实验内容: 利用SQL语句“load data local infile”将“pet.txt”文本文件中的数据导入到mysql中 (pet表在数据库menagerie中) 2.实验过程及结果: ( ...