欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]Arduino简单实验

[原创]Arduino简单实验


返回上一层
诀窍:想要学好Arduino的话,需要多动手、勤练习。
在这篇里,我们要用面包板、LED、按钮等和Arduino Uno板子来做几个简单的小实验。
希望,你看完之后,有一种好简单的感觉。
实验一:再次点亮LED
实验器件:
Arduino Uno板子        一块
LED灯        一个

这个LED在5V内是不会烧的,别的我就不知道了

请注意:LED的内阻很小,必须使用220欧姆电阻限制电路中的电流,否则直接连接电路,瞬间就会烧毁LED
由于我的大部分电阻(手上有几种不全)、万用表、其他模块等在家里,没有在身边,所以我就尽量不用了。你们有的话一定要用啊!

小提示:LED有一只脚要长一点,这个脚是正极,当然是插入12口的位置(在程序里,我设置的ledpin),当然,你也可以改成别的。如果你不知道的话,多试几次也会明白的。很早以前,我就是这样试出来的,现在也忘不了当时的情景。
以前,我没有用欧姆定率计算,我的LED不知道烧了多少个。(在这里,我要悄悄地告诉你,用万用表测量很方便的,我又买来了一个万用表。玩硬件不买东西怎么能行,在后面高级的教程里,我们还要自己用电烙铁来焊一些模块。)
代码:

int ledpin = 12; //定义数字接口12
void setup()
{
  Serial.begin(9600);//设置波特率为9600,这里要跟软件设置相一致。当接入特定设备(如:蓝牙)时,我们也要跟其他设备的波特率达到一致。
  pinMode(ledpin, OUTPUT); //设置数字12 口为输出接口,Arduino 上我们用到的I/O 口都要进行类似这样的定义。
}
void loop()
{
  digitalWrite(ledpin, HIGH); //点亮数字12 口LED。
  delay(1000);
  digitalWrite(ledpin, LOW); //熄灭数字12 口LED
  delay(1000);
}

实验二:用按钮来点亮LED
实验器件:
Arduino Uno板子        一块
杜邦线代替(按钮)        一根

在这里我用杜邦线来代替按钮,其实是一样的。我这样做的目的是要简单一点。

const int buttonPin = 2;     // 2口作为按钮的接口
const int ledPin =  13;      // 13口,LED
int buttonState = 0;         // 按钮状态标志用的变量,初始化为0
void setup() {
  pinMode(ledPin, OUTPUT);//LED为输出
  pinMode(buttonPin, INPUT);//按钮是输入
}
void loop()
{
  buttonState = digitalRead(buttonPin);//读取按钮的状态
  if (buttonState == HIGH)
  {
    digitalWrite(ledPin, HIGH);//开灯
  }
  else
  {
    digitalWrite(ledPin, LOW);//关灯
  }
}


实验三:光控LED
实验器件:
Arduino Uno板子        一块
杜邦线        三根
面包板        一块
光敏电阻        一个
电阻1k        一个




int a =300;     //此处需是环境基础亮度变量
int LED=13;//定义数字接口13         
void setup ()
{
  Serial.begin(9600);
  pinMode(LED,OUTPUT);
}
void loop()
{
  int n = analogRead(A1);//读取模拟口A0数值
  delay(1000);//方便我看
  Serial.println(n);//串口显示
  if (n>= a )
  {
    digitalWrite(LED,HIGH);//亮灯
  }
  else
  {
    digitalWrite(LED,LOW);
  }
}

实验四:舵机控制
实验器件:
Arduino Uno板子        一块
杜邦线        三根
舵机        一个


舵机左边的棕色线是电源负极,接GND
舵机中间的红色线是电源正极,电压是5V
舵机右边的黄色线是信号线,接PWM

#include <Servo.h>
Servo myservo;  // 定义舵机对象,最多八个
int pos = 0;    // 定义舵机转动位置
void setup()
{
  myservo.attach(9);  // 设置舵机控制针脚
}
void loop()
{
  // 0到180旋转舵机,每次延时15毫秒
  for (pos = 0; pos < 180; pos += 1)
  {
    myservo.write(pos);
    delay(15);
  }
  // 180到0旋转舵机,每次延时15毫秒
  for (pos = 180; pos >= 1; pos -= 1)
  {
    myservo.write(pos);
    delay(15);
  }
}

实验五:SOS求救
实验器件:
Arduino Uno板子        一块
SOS的摩尔斯代码是:...---...  就是“三短三长三短”的组合。
只要符合这种规律,别人一般会知道,这是需要求救的信号。
最简单的方法,就是用手电筒来实现,在这里我就不讲了。
现在我们把这个功能写到Arduino里,为了方便演示,我就用板子上自带的LED。
注释我就不写了,应该看得懂的。

程序源码:
int nLED =13;
void setup()
{
  pinMode(nLED,OUTPUT);
}
void Flash(int n)
{
  digitalWrite(nLED,HIGH);
  delay(n);
  digitalWrite(nLED,LOW);
  delay(n);
}
void Sos()
{
  Flash(200);Flash(200);Flash(200); //S ...
  delay(300);
  Flash(600);Flash(600);Flash(600); //O━━━
  delay(300);
  Flash(200);Flash(200);Flash(200); //S ...
  delay(2000);//等一会
}
void loop()
{
  Sos();
}
参考资料:
Arduino Uno介绍   http://kb.open.eefocus.com/index.php?title=Arduino_Uno
--------------------------------------本篇完-----------------------------------------

上传的附件 图片1.png
图片2.png
图片3.png
图片4.png
图片5.png
图片6.png
图片7.png
图片8.png
图片9.png
图片10.png
图片11.png
图片12.png
图片13.png
图片14.png
图片15.png
图片16.png
图片17.png
图片18.png
图片19.png

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功