(RB-13K023)基于Arduino 互动电子入门套件

来自ALSROBOT WiKi
跳转至: 导航搜索
13K02301.png

目录

产品概述

Arduino互动电子入门套件是哈尔滨奥松机器人科技有限公司专门为Arduino电子爱好者精心打造的一款适合电子类专业学生学习的入门套件。即使你没有学过电子电 路相关知识,也可以按照手册讲解一步步完成每个设计实验,在整个实验的过程中,你只需在面包板上通过跳线插拔连接元件,无须使用电烙铁焊接,避免了初学者 焊接元件浪费原料不环保的习惯。爱上Arduino互动入门套件是哈尔滨奥松机器人科技有限公司专门为Arduino爱好者精心打造的一款入门学习套件,此套件完全按照《爱上Arduino》(Arduino创始人所著《Getting Started with Arduino》中文译著)一书内容配置,除了书中涉及到的基本元件外,还增加了扩展讲解部分中的直流电机、风扇、干簧管、磁钢、倾角传感器、红外热释电传感器等。即使你没有学过电子电路相关知识,也可以按照中文教材书籍讲解一步步完成每个实验操作,在整个实验的过程中,你只需在面包板上通过跳线插拔连接元件,无须使用电烙铁焊接,避免了初学者焊接元件浪费原料不环保的习惯。本套件除基本入门操作讲解外,还附带18节实验课程,这部分课程完全考虑初学者学习兴趣,由易到难,循序渐进,精心编排,每个实验均配有电路图、元件插接图,实验详细说明和具有功能注释的例子程序。打好学习基础,启发创新思维,领悟开源创意文化,这款套件是你走进Arduino电子世界的必备之选。

主控器技术参数

  1. 主控器:Carduino UNO R3
  2. 微处理器:ATmega328
  3. Flash 内存:32 KB (ATmega328 其中0.5 KB 用于引导程序)
  4. 工作电压:5V
  5. 输入电压:接上USB 时无须外部供电或外部7V~12V DC 输入
  6. 输出电压:5V DC 输出和3.3V DC 输出和外部电源输入
  7. 时钟频率:16 MHz
  8. 输入电压:7-12V(推荐)
  9. 输入电压:6-20V(限制)
  10. 支持USB 接口协议及供电(不需外接电源)
  11. 支持ISP 下载功能
  12. 数字I/O 端口:14(6 个PWM 输出口)
  13. 模拟输入端口:6
  14. 直流电流:40mA(I/O 端口)
  15. 直流电流:50mA(3.3V 端口)
  16. EEPROM:1 KB (ATmega328)
  17. SRAM:2 KB (ATmega328)
  18. 尺寸:75x55x15mm

Arduino编译环境下载

当前最新版Arduino 1.7.9 下载地址: http://www.arduino.org/Software

第一个Arduino实验

点亮13号引脚的LED灯,持续一秒,然后灭掉,再持续一秒,一直循环。
在这第一个实验中,我们假设读者使用控制器的型号是Arduino UNO,并获取了Arduino开发环境,而且已经安装了USB驱动。

连接Arduino控制板和电脑

将USB线一端插在Arduino控制板上,一端插在电脑的USB接口上。(独立工作时Arduino控制板可以选择从USB供电, 也可以选择由电源适配器供电)

设置Arduino开发环境语言

打开Arduino主程序后,软件会自动识别系统的语言,然后设置开发环境为系统语言,如果需要设置为其他语言同样可以,只要打开:File > Preferences,找到Editor language项,将其设为需要的语言(例如:简体中文),然后关闭Arduino主程序并重新打开,开发环境界面就会变成中文。

Tu3.png


Tu4.png


Tu55.png


打开LED blink例程


打开软件选择文件 - 示例 - 01.Basics - Blink

blink


设置板卡型号

Arduino包括多种版本的主控器,其中比较常见的是Uno、Leonardo以及Mega系列的控制器。在软件上点击工具然后在“板”一项下选择相应的型号,这时你需要根据自己的主控硬件的固件类型来选择板卡。(样例中选用的是以Uno为bootloader的控制器)
工具 - 板 - Arduino Uno

Tu6.png


设置串口

工具 > 串口 > xx,这里的xx应选择在你的电脑设备管理器中看到的一致。

Tu7.png


下载程序

如图,点击验证,程序只进行了验证,而没有下载到控制器中,下载需要再点击上传键;若直接点击上传键,将程序会先进行验证然后直接下载程序到你的Arduino控制板上。

Tu8.png


程序效果

程序运行的效果就是:Adruino Uno板载的13号引脚LED灯在闪烁。

Arduino UNO驱动安装

Arduino UNO驱动安装方法

例程列表

基础实验

  • 串口通信控制LED灯实验
  • 智能骰子实验
  • 远红外火焰传感器应用
  • 干簧管控制继电器实验
  • 数字传感器控制流水灯
  • 智能门铃
  • PWM控制LED灯亮度实验
  • 全彩LED模拟呼吸灯实验
  • PWM控制电机转速
  • 红外热释电传感器人体检测报警实验
  • 温度报警器
  • 电子琴
  • 看谁摇的快
  • 指针亮度计
  • 记忆大考验
  • 串行转并行
  • 密码解锁

扩展实验

  • “Hello World!”实验
  • 交通灯设计实验
  • 抢答器设计实验
  • 模拟值读取实验
  • 伺服舵机控制实验
  • 红外线通信实验

精选例程

数字传感器控制流水灯实验

实验简介

单向倾角开关是一个可以检测倾斜、晃动的特殊开关,本例中使用倾角开关和干簧管作为触发,当两个传感器中任何一个被触发时,6 个LED 都会开始按照顺序闪烁。倾角传感器:倾角传感器是姿态传感器的一种,主要应用在物体状态的水平检测,同样他具备测量角度的大小。目前倾角传感器主要分为几个大类,有单轴倾角传感器和双轴倾角传感器,以及利用倾角传感器原理制作而成的倾角仪。

硬件设备

  • CarDuino UNO R3 控制器×1
  • USB 下载线×1
  • 大面包板×1
  • 跳线若干
  • LED灯×6
  • 470欧姆电阻×8
  • 干簧管×1
  • 单向倾角开关×1

硬件连接

数字传感器控制流水灯实验

Tu1.png

试验程序

 /*****************************************************************
 奥松机器人RobotBase www.robotbase.cn
 目的: 数字传感器控制流水灯实验
 目标系统: ArduinoUNO R3 控制器
 应用软件: Arduino IDE 1.7.7
 发布时间: 2015-11-19
 说明: 若用于商业用途,请保留此段文字或注明代码来源
 哈尔滨奥松机器人科技股份有限公司保留所有版权
 *****************************************************************/
 int i,j; //定义变量i
 void setup()
 {
     pinMode(2,INPUT);
     pinMode(3,INPUT);
     for(j=4;j<=9;j++)
     pinMode(j,OUTPUT);
 }
 void loop()
 {
     if (LOW==( digitalRead(2) && digitalRead(3) ) )
     {
         for(i=4;i<=9;i++)
        {
            digitalWrite(i,HIGH);
            delay(100); //延时0.1 秒
            digitalWrite(i,LOW);
            delay(100); //延时0.1 秒
        }
     }
 }

密码解锁游戏实验

实验简介

人们使用的锁具由传统的机械式锁逐渐发展为安全性能更好,功能更多的电子密码锁。密码解锁游戏的原理是通过一个旋转变位器调制出对应的密码,用3 个红色LED显示相应的位,蜂鸣器用于提示操作。

硬件设备

  • CarDuino UNO R3 控制器×1
  • USB 下载线×1
  • 大面包板×1
  • 跳线若干
  • 红色LED×3
  • 黑色按键×1
  • 旋转变位器×1
  • 蜂鸣器×1
  • 470欧姆电阻×4

硬件连接

密码解锁游戏实验

Tu2.png

试验程序

 /*****************************************************************
 奥松机器人RobotBase www.robotbase.cn
 目的: 密码解锁游戏实验
 目标系统: Arduino UNO R3 控制器
 应用软件: Arduino IDE 1.7.7
 发布时间: 2015-11-19
 说明: 若用于商业用途,请保留此段文字或注明代码来源
 哈尔滨奥松机器人科技股份有限公司保留所有版权
 const int LED1 = 8;
 const int LED2 = 9;
 const int LED3 = 10; // 三盏LED 代表三个级别
 const int BTN = 11; // 游戏开始按钮和确认按钮
 const int BUZ = 7; // 蜂鸣器给玩家提示
 const int POT = A0; // 通过电位计模拟解锁的感觉
 bool btnState1;
 bool btnState2; // 获取按钮按下的状态
 int r; // 单片机生成的随机数
 int answer; // 玩家的回答
 void (*reset)(void) = 0; // 软复位
 // 每一级需要不同的精确度
 bool isOK(int level, int r, int ans)
 {
     if(level == 0) return r - 2 < ans && ans < r + 2;
     if(level == 1) return r - 5 < ans && ans < r + 5;
     if(level == 2) return r - 10 < ans && ans < r + 10;
 }
 void setup()
{
     pinMode(LED1, OUTPUT);
     pinMode(LED2, OUTPUT);
     pinMode(LED3, OUTPUT);
     pinMode(BUZ, OUTPUT);
     pinMode(BTN, INPUT_PULLUP);
     randomSeed(analogRead(A1)); // 随机种子
 }
 void loop() 
{
     // 初始化游戏,关闭小灯和蜂鸣器
     digitalWrite(LED1, LOW);
     digitalWrite(LED2, LOW);
     digitalWrite(LED3, LOW);
     noTone(BUZ);
     // 按下按钮后游戏开始,避免直接进入游戏,过于突然
     while(1) 
    {
        btnState1 = digitalRead(BTN);
        delay(20);
        btnState2 = digitalRead(BTN);
        if(btnState1 == HIGH && btnState2 == LOW) break;
    }
   // 接收玩家的回答并做判断
   for(int level = 0; level < 3; level++)
   {
       // 生成随机数,使用蜂鸣器做提示
       r = random(0, 1024);
       while(1) 
      {
          answer = analogRead(POT); // 不断更新玩家的输入
          tone(BUZ, 2000, abs(r - answer)); // 输入不同,蜂鸣器发声不同
          // level = 0,第一级,范围固定
          // level = 1,第二级,范围匀速变化
          // level = 2,第三级,范围变速变化
         if(level == 0) r = r;
         if(level == 1) r = (r+1)%1024;
         if(level == 2) r = (r+random(1,6))%1024;
         btnState1 = digitalRead(BTN);
         delay(20);
         btnState2 = digitalRead(BTN);
         // 如果玩家按下了确认按钮
         if(btnState1 == HIGH && btnState2 == LOW)
         {
         // 如果玩家回答正确
             if(isOK(level, r, answer))
             {
             // 点亮当前级别的小灯
                 digitalWrite(LED1+level, HIGH);
                 break;
             }
             else // 如果回答错误
            {
                 // 直接重启整个游戏
                 reset();
             }
         }
     }
 }
 // 游戏结束
 while(1);
 }

产品相关推荐

Erweima.png

产品购买地址

基于Arduino互动电子套件

周边产品推荐

动手玩儿转Arduino
基于Arduino魔法书互动套件

相关问题解答

Arduino 驱动安装失败?最全的解决办法
如何利用Xbee模块实现两个Arduino UNO控制器的通信

相关学习资料

爱上Arduino与爱上Processing的互动视频教程
火焰传感器使用演示视频
电压传感器使用演示视频
奥松机器人技术论坛