首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Arduino+啃萝卜 图形化编程实现第一颗LED的点亮

Arduino :一款便宜好用,方便上手的开发板。

近几年,在全球大火的单片机开发板非Arduino莫属,在硬件领域不知道Arduino说出去也略显OUT。相比与传统单片机,Arduino最大的一个优点就是简单,对于小学生也可以快速上手,笔者从第一次接触Arduino到完成第一个程序的实现,用的时间也只有一个小时,这是在不看教程的情况下,Arduino的简单程度可想而知。

Arduino UNO R3开发板

Arduino IDE

说到Arduino就不得不提它的开发环境了,Arduino IDE是官方为Arduino而开发的编译环境,它可以在windows、Linux、Mac三大平台运行,相比于传统的STC89C51、STM32微控制器的编译环境只能在windows下,我们可选择的平台更加丰富了,学习Arduino的途径自然更多。我们先不提它的编程语言,因为此文用的是啃萝卜图形化编程,不需要懂任何的编程语言。没有用过Arduino IDE的同学可以先预览一下它的界面,它的界面比keil、IAR更加现代化。

啃萝卜 可能是最好用的可视化图形编程软件

值得骄傲的是,和其他优秀的编程软件不同,啃萝卜公司是一家国内的软件公司。所以我们可以对软件的功能一目了然,而不需要去汉化。同时和Arduino IDE一样,啃萝卜可以运行在windows、Linux、Mac三大主流平台,且在Arduino官网上给定的评分为10分。

啃萝卜界面简化图

啃萝卜主界面

用一个按键控制LED灯基于啃萝卜图形化编程

实验现象:默认情况下,LED为关,当按键按下之后,LED亮起;当按键松开之后,LED灭掉。

啃萝卜提供了两种编程方式,一种为文本编程,另一种就是图形化编程,对于文本编程,早已没有新鲜感;下面笔者给大家讲解一下如何用图形化编程实现用按键控制LED灯的开关。要实现这个功能只需要三步。

1、原理图的连接

啃萝卜将图形化编程非常彻底,以至于我们都可以在软件上连接开发板与元件的对应关系,不要小看这一步,软件会把我们在软件上的连线映射到实物,这样我们在下一步就不需要定义变量这一准备。笔者这个实验用到了一块Arduino开发板两个元件,元件包括一个按键,一个LED灯。他们的连接关系是:按键连接开发板IO口为7,LED灯连在了板子上的IO口13。我们需要的元器件在界面的左侧,需要什么直接拖出来,然后直接连线。下图为笔者连接好的原理图。

原理图连接关系

2、图形化编程

连接完成原理图之后,点击右上角的编程按钮,进入如下界面,对于用惯了keil的同学一定会觉得相见恨晚。

图形化编程界面

建议同学们在进行图形化编程的时候点击显示源码,显示源码之后左边是图形,右边是代码,我们每拖动一个图形,右边的代码都会做相应的改变,更有利于我们对程序的理解。如下图所示:在我们没有编程之前,程序里面已经有10几行代码了,很多初学者可能会有疑问,这些代码从哪里来的呢?其实同学们细心观察就可以发现规律,比如程序已开始定义了两个变量:int button_0 = 7,这句代码是根据我们的上一步的连线得来的,笔者在上一步把按键连接到了IO7,程序中自动的把IO7赋值给了button_0。下面一句led_0的代码同样的道理。

初始化界面

接下来,教同学们图形化编程,在界面中间有三项内容。

全局变量、函数

这一项我们不用管,因为上一步原理图连接中已经设置好了。

setup

其实相当于我们平时程序中while(1)之外的程序,也就是各种外设的初始化。

loop

这里面的程序等同于是我们while(1)里面的代码。

先进行初始化,按键接的是输入引脚,因为单片机要检测按键上的电平,笔者把按键引脚设置成了默认高电平,当按键按下的时候,按键接地,按键的电平会被拉低,当单片机检测到低电平,给LED输出高电平。也就是按键初始化为高电平,LED灯初始化为低电平。然后拖动对应的图形块,需要什么逻辑就从左边拖动,用到的图形块如下图,右边为图形对应生成的程序。

程序

生成的程序

/*

* Author: 爱上半导体

* Create: 2017/12/03

* Modify: 2017/12/03

*/

int button_0 = 7; //设置变量

int led_0 = 13; //设置变量

void setup() {

pinMode(button_0, INPUT); //设置按键为输入模式

pinMode(led_0, OUTPUT); //设置LED为输出模式

digitalWrite(led_0, LOW); //设置LED为低电平输出

digitalWrite(button_0, HIGH); //设置按键为高电平输入

}。

void loop() {

if (digitalRead(button_0) == LOW) { digitalWrite(led_0, HIGH); } else { digitalWrite(led_0, LOW); }

} //如果按键没有被按下,LED灯不亮

3、实物的连接

对应软件上原理图的连接,把实物按照对应的关系连接在一块,需要说明一点的是元件的另外一个引脚一定要连GND。

原理图的连接

最后一步烧录程序,在啃萝卜上烧录程序也非常省心,完成程序之后点击如下按钮的“上传”就可以完成程序的下载。

上传按钮

下载成功之后,按下按键,效果如图所示,由于没有接限流电阻,导致LED过亮,建议同学们做实验的时候接上一个1k的限流电阻。

效果图

编后语:对于第一次接触单片机的同学建议从Arduino学起,Arduino是完全开源的,Arduino社区有大量的源码、学习资料、适配的软件供我们学习使用,更有很多像啃萝卜一样的精致软件专门适配,还有一个最重要的因素,就是它很廉价。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171210A0HAW500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券