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啃萝卜 可能是最好用的可视化图形编程软件
值得骄傲的是,和其他优秀的编程软件不同,啃萝卜公司是一家国内的软件公司。所以我们可以对软件的功能一目了然,而不需要去汉化。同时和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社区有大量的源码、学习资料、适配的软件供我们学习使用,更有很多像啃萝卜一样的精致软件专门适配,还有一个最重要的因素,就是它很廉价。
零水平秒懂地基承载力建议收藏地基承载力,就是地基承担荷载的能力。地基相当于担东西的人。比如小孩儿能担的东西重量小工程术语就是承载力低。扁担相当于基础,担的东西相当于建筑物上部荷载。大人能担的重量大工程术语就是
地质勘察必备基础知识,含桩基施工常见质量问题及处理方法目录一建筑地基与基础常识二地质勘察的目的三岩土的工程分类四如何识读地质勘察报告五桩基施工中常见问题的分析及处理1建筑地基与基础常识1地基所有建筑物都是修建在地表上,建筑物上部结构的
铁路工程复杂岩溶隧道施工地质工作方法,看世界级难题怎么解决?宜万铁路隧道概况宜昌至万州铁路全长377公里,共有159座隧道(含线和线),总长338km,其中线有226km隧道,隧线比达60。其地形地质条件之复杂集西南山区铁路之大成,建设条件
边坡地基承载力验算和支护结构荷载计算对成为建(构)筑物地基的边坡,目前采取的防止地基失稳的做法是1。增加一项边坡稳定性计算的工作2。边坡支护结构荷载取按土压力理论计算出的某类岩土压力或其与修正系数的乘积。本文对这种做
边坡处治常用的抗滑桩施工,你搞清楚工序了吗?1概述桩是深入土层或岩层的柱形构件。边坡处治工程中的抗滑桩是通过桩身将上部承受的坡体推力传给桩下部的侧向土体或岩体,依靠桩下部的侧向阻力来承担边坡的下推力,而使边坡保持平衡或稳定,
三个问题详解基础施工,对工程要点ampampquot知根知底ampampquot基础施工的质量受到多方面影响。独立式基础施工时,只有选择正确的施工方法,谨防施工质量通病,才能顺利通过工程验收。今天就来详细分析单独基础的施工要点。施工细节看什么?一独立基础地梁钢
地质三宝之罗盘详解1地质罗盘基本构造,如图1,主要由磁针磁针制动器刻度盘测斜器水准器和瞄准器等构成。1反光镜2瞄准觇板3磁针4水平刻度盘5垂直刻度盘6测斜指示针(或悬锤)7长方形水准器8圆形水准器9
岩溶场地的防治处理措施(一)建筑布局措施与结构措施场地上主要建筑物的位置应尽量避开岩溶发育强烈的地段尽可能选择在非(弱)可溶岩分布地段在总平面布局上,各类安全等级建筑物的布置应与岩溶发育程度或场地稳定程
滑坡的发育阶段及分类一滑坡的发育阶段一般说来,滑坡的发生是一个长期的变化过程,通常将滑坡的发育过程划分为四个阶段(一)蠕动变形阶段斜坡在发生滑动之前通常是稳定的。在斜坡形成过程中,由于斜坡侧向临空面的
岩溶场地岩土工程勘察要点当拟建工程场地或其附近存在对工程安全有影响的岩溶时,应进行岩溶勘察。岩溶场地勘察的目的在于查明对场地安全和地基稳定有影响的岩溶化发育规律,各种岩溶形态的规模密度及其空间分布规律,可
当建筑场地内有地下水存在时地下水的监测当建筑场地内有地下水存在时,地下水的水位变化及其腐蚀性(侵蚀性)和渗流破坏等不良地质作用,对工程的稳定性施工及正常使用都能产生严重的不利影响,必须予以重视。地下水水位在建筑物基础底