Wemos同Arduino
上电后不断执行loop函数中的代码,我们核心控制代码写入loop
setup函数只调用一次,一般用于硬件相关的初始化,比如IO口,串口,wifi等
一、硬件
WeMos开发板、超声波模块(HC-SR04)、蜂鸣器、SG90舵机、垃圾桶模具
二、软件
/*******超声波控制垃圾桶********/
#include <Servo.h>
//超声波引脚
#define Echo D2 //回应
#define Trig D8 //触发、发射
//SG90舵机引脚
#define DuoPin D5 //信号线
Servo MyDuoJi; //Servo类函数的定义
//超声波时长的测量
long getTime()
{
digitalWrite(Trig,HIGH);
delayMicroseconds(8);
digitalWrite(Trig,LOW);
return pulseIn(Echo,HIGH);
}
//给超声波引脚IN或者OUT,初始化
void InUltrasonic()
{
pinMode(Echo,INPUT);
pinMode(Trig,OUTPUT);
}
void setup()
{
InUltrasonic();//超声波初始化
MyDuoJi.attach(DuoPin);//连接舵机
MyDuoJi.write(190);//上电初始化舵机的角度
}
void loop()
{
long distance;
distance=getTime()/58;//超声的测量的距离
if(distance<=5)
{
MyDuoJi.write(100);
delay(5000);
}
else{
MyDuoJi.write(180);
}
}
总结:
/***Arduino的详细介绍(基于Mega2560)(分文)
——pinMode,digitalWrite/digitalRead()**
函数:
pinMode():
功能:指定特定端口是作为输入还是输出;
形式:pinMode(pin,mode)
参数:pin:想要设定的端口号;
mode:模式,有INPUT,OUTPUT和INPUT_PULLUP三种模式。(INPUT_PULLUP参数设定内置的上拉电阻是否被使能)。
返回值:none;
digitalWrite():
功能:控制引脚输出高低电平;
如果引脚被pinMode()设为OUTPUT,5V (或者 3.3V 在使用 3.3V的板子上) 就是HIGH, 0V (ground) 就是 LOW。
如果引脚被设为INPUT,digitalWrite()将对输入引脚的上拉电阻使能HIGH(或者禁止LOW).
建议digitalwrite和digitalread使用之前都要用piMode指定输出输入,否则引脚上拉电阻会像限流电阻一样(此时应该是高阻态)。
形式:digitalWrite(pin,value)
参数:pin:要操作的引脚;
value:有HIGH和LOW两个取值。
digitalRead():
功能:读取引脚电平状态;
形式:digitalRead(pin)
参数:pin:要读取的引脚
返回值:HIGH或者LOW; ******/