欢迎光临散文网 会员登陆 & 注册

Arduino从入门到创客带师(-1)—Hello World!

2020-02-08 06:21 作者:ACFUN-AK  | 我要投稿

Arduino从入门到创客带师(-1): Hello world!

纯小白向教程,更多是介绍和原理性讲解,大佬可以略过直接看这篇:

面对科技类创作者的周边发展建议

介绍

什么是HELLO WORLD?

“Hello, world"程序是指在计算机屏幕上输出“Hello,world”这行字符串的计算机程序。 Hello World 中文意思是”你好,世界“。Hello World 一直都是每一门语言经典的第一课,甚至就连GITHUB都有Hello World 因为实在是过于简单,所以我们把这个教程放在了#-1的位置上,比#0还简单

硬件准备工作

  • arduino UNO或其他标准开发板(LEONARDO 2560等等)

  • NodeMCU或其他基于ESP8266的WIFI开发板+microusb数据线

  • 电脑(PC或MAC)

软件配置

ARDUINO环境库的安装和使用GITHUB上的开源项目

非标ARDUINO开发板和基于8266的NODEMCU/D1开发板需要手动安装CH340/CH341驱动以及CP210X驱动

这里简单展示一下用ARDUINO UNO开发板串口输出HELLO WORLD以及点灯的例程

项目代码:

int val;//定义变量val

int ledpin=13;//定义数字接口13H

void setup()

{

Serial.begin(9600);//设置波特率为9600,这里要跟软件设置相一致。当接入特定设备(如蓝牙模块)时,各个设备的波特率也要达到一致。

pinMode(ledpin,OUTPUT);//设置数字13 口为输出接口,Arduino 上我们用到的I/O 口都要进行类似这样的定义(如果想看点灯效果,至少应该准备一只串了限流电阻的LED小灯按正确极性接在13号数字输出和开发板的GND接地之间)

}

void loop()

{

val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val

if(val=='R')//判断接收到的指令或字符是否是“R”。

{//如果接收到的是“R”字符

digitalWrite(ledpin,HIGH);//点亮数字13 口LED。

delay(500);

digitalWrite(ledpin,LOW);//熄灭数字13 口LED

delay(500);

Serial.println("Hello World!");//显示“Hello World!”字符串

}

}

具体关于代码的详解见Arduino语法详解

总之这个例程代码粘贴到ARDUINO IDE项目里面上传之后打开串口监视器开9600波特率对开发板发送大写英文字母“R”就可以看到HELLO WORLD了

如果这会儿在13号数字接口上有LED或者接了灯的继电器模块之类的,那它还会发光

串口是单片机开发板非常重要的接口,将来很多有关的外设都会需要用到串口进行通讯(串口传感器 串口蓝牙 串口WIFI扩展等等),咱用的UNO开发板基于ATMEGA328P这款单片机,开发板本身的功能很有限,所以现在如果各位要开始搞物联网开发咱建议各位从ESP8266开始直接学起,降低学习周期。PS:ESP8266模块本身自带一个指示灯,一般的教程第一课就是教用各种环境点亮开发板8266模块上自带的指示灯

如果用ESP8266,需要安装CH341/340 CP210X驱动,这里建议各位可以为了开发偶尔使用WIN10,驱动支持较好对ARDUINO很多开发板免驱,WIN7就需要额外安装,Mac更麻烦不建议使用。此外还需要会用开发板管理器或者离线包安装ESP8266 arduino环境 8266除了ARDUINO外有多种开发环境,比较简单的有直接用ESP 系列一体化开发环境进行开发,或者刷好各种固件之后用各种语言(node.js LUA micropython等)+ESPLORER等工具开发

这里我们可以选择刷这个固件如图

然后直接用串口监视器(波特率115200)输入 print "Hello World!"即可得到输出Hello World!

这样显然太简单了,这里就可以看出ESP8266模块的优点了,项目代码可以直接打包成固件,一键刷写就可以

让我们试试用ARDUINO环境:

项目代码:

void setup() { Serial.begin(9600); //初始化串口,波特率为9600 } //void setup只执行一次

void loop() { Serial.println("hello, world"); //向串口打印字符串 } //void loop执行无限次,反复循环,可以通过delay函数控制执行频率

这里烧写程序的时候开发板要选对型号,基本上咱常见的大部分开发板都是基于一样型号的ESP12模块,选NODEMCU0.9或者1.0就可以,至于CPU频率闪存大小和上传速度之类的参数可以默认,这里不作要求。

emmmmmm怎么还乱码了,总之正常情况下如果是以上代码运行正常的话,串口监视器会不停的输出hello, world,各位也就完成了开发板的入门了

PS:关于上期的FM模块用ARDUINO I2C通信方案原代码是BUG库的应对方案,咱请教过阿卡林大佬之后,大佬给出了这个项目:xantorohara/XantoKT0803

这次代码挺不错,没BUG,很容易就能用,视频效果:KT0803 FM项目测试

搞(修)代(BUG)码真是太有意思了


Arduino从入门到创客带师(-1)—Hello World!的评论 (共 条)

分享到微博请遵守国家法律