基于Wemos的感应开盖垃圾桶

硬件


软件 ArduiNo


软/硬件配置


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;    ******/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容