zoukankan      html  css  js  c++  java
  • Arduino UNO 学习 (一) 认识arduino、LED灯、按键控制

    作为兴趣爱好,开始学习开发板,从基础入手,记录学习使用心得。

    一、arduino

    Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。

    由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、

    David Mellis和Nicholas Zambetti等。

    它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个的部分:

    硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。

    你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。

     

    Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。

    板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。

    对Arduino的编程是通过 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。

    基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,

    他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。

    ——————from baike.baidu.com

    Arduino UNO是基于ATmega328P的Arduino开发板。它有14个数字输入/输出引脚(其中6个可用于PWM输出)、6个模拟输入引脚,

    一个16 MHz的晶体振荡器,一个USB接口,一个DC接口,一个ICSP接口,一个复位按钮。它包含了微控制器所需的一切,

    你只用简单地把它连接到计算机的USB接口,或者使用AC-DC适配器,再或者用电池,就可以驱动它。


    “Uno” 在意大利语中意思是“一”。Arduino UNO是Arduino系列的一号开发板,Arduino IDE 1.0是Arduino IDE的第一个正式版本,

    Arduino UNO硬件和Arduino IDE软件建立了一套Arduino开发标准,此后的Arduino开发板和衍生产品都是在这个标准上建立起来的

    ———————from https://blog.csdn.net/m0_37738838/java/article/details/85045066

    从arduino.cc下载IDE

    (二)面包板

    面包板是由于板子上有很多小插孔,专为电子电路的无焊接实验设计制造的。由于各种电子元器件可根据需要随意插入或拔出,免去了焊接,

    节省了电路的组装时间,而且元件可以重复使用,所以非常适合电子电路的组装、调试和训练。

    (三)LED灯

    流水灯

    代码

     1 int val;
     2 int BASE = 2;
     3 int NUM = 6;
     4 
     5 void setup() {
     6   // put your setup code here, to run once:
     7   for (int i = BASE; i < BASE+NUM; i++){
     8     pinMode(i, OUTPUT);
     9     }
    10 }
    11 
    12 void loop() {
    13   // put your main code here, to run repeatedly:
    14   for (int i = BASE; i < BASE+NUM; i++){
    15     digitalWrite(i, LOW);
    16     delay(200);
    17     }
    18 
    19     for (int i = BASE; i < BASE+NUM; i++){
    20     digitalWrite(i, HIGH);
    21     delay(200);
    22     }
    23 }

    交通灯

    代码

     1 int redled = 10;
     2 int yellowled = 7;
     3 int greenled = 4;
     4 void setup() {
     5   // put your setup code here, to run once:
     6   pinMode(redled, OUTPUT);
     7   pinMode(yellowled, OUTPUT);
     8   pinMode(greenled, OUTPUT);
     9 }
    10 
    11 void loop() {
    12   // put your main code here, to run repeatedly:
    13   digitalWrite(greenled, HIGH);
    14   delay(5000);
    15   digitalWrite(greenled, LOW);
    16   for(int i = 0; i < 3; i++){
    17     delay(500);
    18     digitalWrite(yellowled, HIGH);
    19     delay(500);
    20     digitalWrite(yellowled, LOW);
    21     }
    22    delay(500);
    23    digitalWrite(redled, HIGH);
    24    delay(5000);
    25    digitalWrite(redled, LOW);
    26 }

    (四)按键控制

    代码

     1 int ledpin = 10;
     2 int inpin = 7;
     3 int val;
     4 
     5 void setup() {
     6   // put your setup code here, to run once:
     7   pinMode(ledpin, OUTPUT);
     8   pinMode(inpin, OUTPUT);
     9 }
    10 
    11 void loop() {
    12   // put your main code here, to run repeatedly:
    13   val = digitalRead(inpin);
    14   if (val == HIGH){
    15     digitalWrite(ledpin, HIGH);
    16     }
    17   else{
    18     digitalWrite(ledpin, LOW);
    19     }
    20 }

    总结:

    电路原理、程序编写都简单,易懂。

    期待进一步深入。

  • 相关阅读:
    考拉兹猜想,100万以内的数
    给任意a、b、c三个数作为边盘都是否能构成三角形
    计数算法-对200万考生的成绩就行排序
    冒泡排序
    插入排序
    Echarts
    vue+tinymce
    java RestTemplate.postForObject请求传参
    java计算今天起后7天时间 +昨天八点+今天前7天的日期
    layui+echarts+动态数据
  • 原文地址:https://www.cnblogs.com/heze/p/12747720.html
Copyright © 2011-2022 走看看