成品图



(垃圾桶由超声波感应自动开启,延时后关闭)


(垃圾桶的所有布线全部精细的设置在桶盖,桶身完全没有布线,轻松取开,倒垃圾无忧)


(内置的时钟可以为你精准报时,LM35温度传感器也可以尽可能准确地告知你温度信息)

别看这个垃圾桶看起来非常的小巧和简陋,但可谓是麻雀虽小,五脏俱全,当你伸手放在桶盖前时,桶盖会自动感应打开,而这种识别方式则是双通道超声波传感器的功劳,这一传感器听起来非常的高大上是不是,事实上价格也是非常的便宜,一般不会超过10元。
垃圾桶桶盖上有两个小按键,右侧按键是用来选择功能模式,而左侧按键则用来进行确认,简洁而实用,垃圾桶内内置蜂鸣器和RTC时钟模块,可以进行精准定时和报时。LM35提供的温度数据使得垃圾桶摇身一变成为了温度播报员。桶盖上USB接口也大大拓展了使用者的想象空间,它可以用来充电,用来照明,用来驱动小风扇等等。当夜幕降临,桶内内置的LED小夜灯可以将垃圾桶摇身一变成为可爱的小精灵,在寂静的黑夜中发出温暖而和蔼的光芒。

看了这些,你想拥有这样一款智能又可爱的桌面垃圾桶吗?别急,接下来我就要向你们分享这个智能垃圾桶的所有奥秘。

首先是硬件方面,制作智能垃圾桶,我们需要哪些原材料呢?

1.普通桌面垃圾桶一个,某宝上价格5到8元不等

2.小型舵机一个引脚的棕、红、橙线以此对应(GND,VCC,信号线)

LM35温度传感器

3. 0.96存OLED显示屏,价格一般在10到15元之间

4.三种0805型号贴片LED灯(白,蓝,绿),颜色可以根据个人喜好而定哈

5.轻触按键两个

6.usb接口模块

7.DC电源接口模块及电源线


8.RTC时钟模块

9.超声波模块一个

10.Arduino NANO单片机最小系统板一块

这样一来我们的硬件准备阶段就告一段落啦,接下来就要进入动手制作环节

步骤一:剪去桶盖上的犄角,使得桶盖能够进行更大扭矩的转动,防止因为垃圾桶盖转动不足导致开口过小,投不进去垃圾

步骤二:在桶盖上挖出大小合适的通孔,使得超声波模块的“小眼睛”、OLED、USB接口、DC电源接口和按键能够嵌入桶盖,挖孔工具可以是钻机,电烙铁或是激光切割


步骤三:按照所给PCB线路图进行连线

步骤四:曲轴连杆式传动结构的制作,选用硬质杆与舵机臂组成连杆传动机制,控制桶盖的开合,这样的硬质杆可以由身边许多的东西替代,比如排针,牙签,甚至热熔胶棒

步骤五:利用Arduino IDE和usb串口给Arduino下载程序。Arduino IDE的配置要选择为Arduino NANO MEGA328P,并选择好相应的串口,这样才能成功的将程序烧录进单片机

当程序成功载入ArduinoNANO上时,你就将拥有这样一款超级拉风的多功能桌面垃圾桶了
还在等什么,赶紧动手试一试这个简单而炫酷的DIY吧!

以下是Arduino代码:

#include <Servo.h>
#include <SPI.h>
#include <Wire.h>
#include <DS1302.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 10
#define PIN_SERVO 11
Servo myservo;
Adafruit_SSD1306 display(OLED_RESET);
#define LOGO16_GLCD_HEIGHT 8 //定义显示高度
#define LOGO16_GLCD_WIDTH 8 //定义显示宽度
const int trig=2;
const int echo=3;
float distance,distance1,distance2,distance3,distance4,distance5;
DS1302 rtc(13, 7, 8); // RST, DAT, CLK
/*void getdatetime()
{
Serial.println(rtc.getDateStr(FORMAT_LONG, FORMAT_LITTLEENDIAN, '/'));
Serial.print(rtc.getDOWStr());
Serial.print(" ");
Serial.println(rtc.getTimeStr());
}*/
static const unsigned char PROGMEM str_1[] =
{ }; //photoLOGO KECHUANG
static const unsigned char PROGMEM str_2[] =
{};//xiaohui
static const unsigned char PROGMEM str_3[] =
{ };//LOCK
static const unsigned char PROGMEM str_4[] =
{ };//GREEN LIGHT
static const unsigned char PROGMEM str_5[] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,
0x00,0x1C,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x06,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,
0x00,0x18,0x1C,0x0F,0x03,0xEC,0xF1,0x80,0x00,0x00,0x41,0xF9,0xF9,0xFB,0xF7,0x1E,
0x00,0x18,0x1C,0x3F,0x8F,0xFD,0xE1,0x80,0x00,0x00,0x47,0xFB,0xF9,0xFB,0xF7,0x9E,
0x00,0x18,0x38,0x7F,0xDF,0xFF,0xC1,0x80,0x00,0x00,0x4F,0x9B,0xBB,0x87,0x0F,0xBE,
0x00,0x18,0x38,0xF3,0xFC,0x1F,0x81,0x80,0x00,0x00,0x4E,0x03,0xFB,0xF7,0xEF,0xBA,
0x00,0x18,0x38,0xE1,0xF8,0x3F,0x01,0x80,0x00,0x00,0x5F,0xF7,0xF3,0xF7,0xEF,0xFA,
0x00,0x18,0x71,0xE3,0xF0,0x3E,0x01,0x80,0x00,0x00,0x5D,0xF7,0xE7,0xEF,0xDD,0xFA,
0x00,0x18,0x71,0xC3,0xF0,0x3F,0x01,0x80,0x00,0x00,0x5C,0x77,0xE7,0x0E,0x1D,0xF2,
0x00,0x18,0x71,0xE7,0x79,0xF7,0x01,0x80,0x00,0x00,0x5F,0xFE,0xF7,0xEF,0xFD,0xF2,
0x00,0x18,0xFF,0xFF,0x7F,0x77,0x81,0x80,0x00,0x00,0x5F,0xEE,0x7F,0xFF,0xF8,0xE2,
0x00,0x18,0xFC,0xFE,0x3F,0x77,0x81,0x80,0x00,0x00,0x4F,0xCE,0x7F,0xFF,0xB8,0xE2,
0x00,0x18,0x00,0x30,0x0C,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x06,
0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x03,
0x03,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x01,
0x03,0x18,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x01,
0x03,0x98,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x01,
0x03,0x98,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x01,
0x7F,0xD8,0x0F,0xCE,0x1C,0xEF,0xC0,0x80,0x00,0x00,0x47,0x39,0xDC,0x67,0xFF,0xFD,
0x7F,0xF8,0x1F,0xCE,0x38,0xEF,0xC0,0x80,0x00,0x00,0x47,0x79,0xF8,0xEF,0xFF,0xFD,
0x7F,0xF8,0x1D,0xDC,0x39,0xFF,0xC0,0x80,0x00,0x00,0x47,0x7B,0xF8,0xEE,0x38,0xE1,
0x7F,0xF8,0x1D,0xDC,0x39,0xDC,0x00,0x80,0x00,0x00,0x47,0xFB,0xB9,0xEE,0x79,0xC1,
0x7F,0xF8,0x3F,0x9C,0x71,0xDF,0x80,0x80,0x00,0x00,0x46,0xFF,0x7F,0xDC,0x71,0xF9,
0x7F,0xF8,0x3F,0xB8,0x73,0xFF,0x00,0x80,0x00,0x00,0x4F,0xFF,0x7F,0xDC,0x71,0xF9,
0x7F,0xF8,0x3B,0xB8,0x73,0xB8,0x00,0x80,0x00,0x00,0x4F,0xBE,0x73,0xDC,0xE3,0x81,
0x7F,0xF8,0x77,0xB8,0x77,0xB8,0x00,0x80,0x00,0x00,0x4F,0xBE,0xE3,0xB8,0xE3,0xF1,
0x7F,0xD8,0x7F,0xFF,0x7F,0x7F,0x00,0x80,0x00,0x00,0x4F,0x3C,0xE3,0xB8,0xE7,0xF1,
0x03,0x98,0x7E,0x7F,0x7E,0x7F,0x00,0x80,0x00,0x00,0x4F,0x38,0xE3,0xB9,0xC7,0xF1,
0x03,0x98,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x01,
0x03,0x18,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x01,
0x02,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x01,
0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFE,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};//BLUE LIGHT
static const unsigned char PROGMEM str_6[] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,
0x00,0x1C,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x06,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,
0x00,0x18,0x1C,0x0F,0x03,0xEC,0xF1,0x80,0x00,0x00,0x41,0xF9,0xF9,0xFB,0xF7,0x1E,
0x00,0x18,0x1C,0x3F,0x8F,0xFD,0xE1,0x80,0x00,0x00,0x47,0xFB,0xF9,0xFB,0xF7,0x9E,
0x00,0x18,0x38,0x7F,0xDF,0xFF,0xC1,0x80,0x00,0x00,0x4F,0x9B,0xBB,0x87,0x0F,0xBE,
0x00,0x18,0x38,0xF3,0xFC,0x1F,0x81,0x80,0x00,0x00,0x4E,0x03,0xFB,0xF7,0xEF,0xBA,
0x00,0x18,0x38,0xE1,0xF8,0x3F,0x01,0x80,0x00,0x00,0x5F,0xF7,0xF3,0xF7,0xEF,0xFA,
0x00,0x18,0x71,0xE3,0xF0,0x3E,0x01,0x80,0x00,0x00,0x5D,0xF7,0xE7,0xEF,0xDD,0xFA,
0x00,0x18,0x71,0xC3,0xF0,0x3F,0x01,0x80,0x00,0x00,0x5C,0x77,0xE7,0x0E,0x1D,0xF2,
0x00,0x18,0x71,0xE7,0x79,0xF7,0x01,0x80,0x00,0x00,0x5F,0xFE,0xF7,0xEF,0xFD,0xF2,
0x00,0x18,0xFF,0xFF,0x7F,0x77,0x81,0x80,0x00,0x00,0x5F,0xEE,0x7F,0xFF,0xF8,0xE2,
0x00,0x18,0xFC,0xFE,0x3F,0x77,0x81,0x80,0x00,0x00,0x4F,0xCE,0x7F,0xFF,0xB8,0xE2,
0x00,0x18,0x00,0x30,0x0C,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x06,
0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x03,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x01,
0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x18,0x40,0x00,0x00,0x00,0x00,0x01,
0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x1C,0x40,0x00,0x00,0x00,0x00,0x01,
0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x1C,0x40,0x00,0x00,0x00,0x00,0x01,
0x00,0x18,0x0F,0xCE,0x1C,0xEF,0xC0,0x80,0x03,0xFE,0x47,0x39,0xDC,0x67,0xFF,0xFD,
0x00,0x18,0x1F,0xCE,0x38,0xEF,0xC0,0x80,0x03,0xFF,0x47,0x79,0xF8,0xEF,0xFF,0xFD,
0x00,0x18,0x1D,0xDC,0x39,0xFF,0xC0,0x80,0x03,0xFF,0xC7,0x7B,0xF8,0xEE,0x38,0xE1,
0x00,0x18,0x1D,0xDC,0x39,0xDC,0x00,0x80,0x03,0xFF,0xC7,0xFB,0xB9,0xEE,0x79,0xC1,
0x00,0x18,0x3F,0x9C,0x71,0xDF,0x80,0x80,0x03,0xFF,0xC6,0xFF,0x7F,0xDC,0x71,0xF9,
0x00,0x18,0x3F,0xB8,0x73,0xFF,0x00,0x80,0x03,0xFF,0xCF,0xFF,0x7F,0xDC,0x71,0xF9,
0x00,0x18,0x3B,0xB8,0x73,0xB8,0x00,0x80,0x03,0xFF,0xCF,0xBE,0x73,0xDC,0xE3,0x81,
0x00,0x18,0x77,0xB8,0x77,0xB8,0x00,0x80,0x03,0xFF,0x4F,0xBE,0xE3,0xB8,0xE3,0xF1,
0x00,0x18,0x7F,0xFF,0x7F,0x7F,0x00,0x80,0x03,0xFE,0x4F,0x3C,0xE3,0xB8,0xE7,0xF1,
0x00,0x18,0x7E,0x7F,0x7E,0x7F,0x00,0x80,0x00,0x1E,0x4F,0x38,0xE3,0xB9,0xC7,0xF1,
0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x1C,0x40,0x00,0x00,0x00,0x00,0x01,
0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x18,0x40,0x00,0x00,0x00,0x00,0x01,
0x00,0x18,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x10,0x60,0x00,0x00,0x00,0x00,0x01,
0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFE,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};//WHITE LIGHT
static const unsigned char PROGMEM str_7[] =
{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,0xFC,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xF9,0xE7,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xF8,0xE7,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xF8,0x67,0xC2,0x3F,0x0F,0xE1,0x18,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x27,0x02,0x3C,0x07,0x01,0x10,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x00,0x06,0x02,0x38,0x02,0x00,0x20,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,
0x00,0x04,0x3C,0x78,0xE0,0x3E,0x02,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,
0x00,0x00,0x7C,0x71,0xE0,0x7E,0x06,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,
0x00,0x00,0xF8,0x71,0xC0,0x7C,0x1E,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x3F,0xFF,
0x00,0x00,0xF8,0xE1,0xC0,0xFC,0x0E,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x03,0xFF,
0x00,0x20,0xF8,0xE1,0x80,0x7C,0x0E,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x01,0xFF,
0xF8,0x60,0x00,0x10,0x08,0x00,0x86,0x7F,0xFF,0xFF,0xFE,0xFF,0xFF,0xC0,0x03,0xFF,
0xF8,0x60,0x00,0x10,0x1C,0x08,0x86,0x7F,0xFF,0xFF,0xFE,0xFF,0xFF,0xF0,0x0F,0xFF,
0xF8,0xE6,0x3F,0xFC,0x7E,0x1F,0xFE,0x7F,0xFF,0xFF,0xFE,0xFF,0xFF,0xF0,0x0F,0xFF,
0xFD,0xE7,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFC,0x7F,0xFF,0xF0,0x0F,0xFF,
0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFC,0x7F,0xFF,0xF0,0x0F,0xFF,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFC,0x7F,0xFF,0xF0,0x0F,0xFF,
0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xF8,0x3F,0xFF,0xE3,0xC7,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x1F,0xFF,0xEF,0xF7,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x3F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x7F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x0F,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x0F,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x0F,0xFF,0xF3,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xE0,0x0F,0xFF,0xF3,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xE0,0x0F,0xFF,0xE1,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xC0,0x07,0xFF,0xC0,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0x8F,0xFF,0xFF,0xC3,0x87,0xFF,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0x8F,0xFF,0xFF,0xC7,0xC7,0xFF,0x80,0x7F,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFC,0x7F,0xFF,0x07,0xFF,0xFF,0xCF,0xE7,0xFF,0xC0,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFC,0x7F,0xC0,0x00,0x1F,0xFF,0xDF,0xF3,0xFF,0xC0,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xF8,0x3F,0xF0,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0x80,0x7F,0xFF,
0xFF,0xFF,0xFF,0xFF,0xE0,0x0F,0xF8,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x9E,0x7F,0xFF,
0xFF,0xFF,0xFF,0xFF,0x80,0x03,0xFC,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xC0,0x07,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xE0,0x0F,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xE0,0x0F,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xC0,0x07,0xFE,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xC7,0xC7,0xFC,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xDF,0xF7,0xFC,0x71,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,};//CLOCK#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
void setup() {
Serial.begin(9600);
myservo.attach(PIN_SERVO);
pinMode(A2,INPUT_PULLUP);
pinMode(A3,INPUT_PULLUP);
pinMode(A6,INPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(12,OUTPUT);
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
// pinMode(10,OUTPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); myservo.write(50);}int m=0,m1=0,a,a1;
int ms=57;
float temp;
void loop() {if(m1==0)
{
// digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(12,LOW);
}
if(digitalRead(A2)==0)
{
m++;delay(ms);
}
if(digitalRead(A3)==0)
{
m1++;delay(ms);
}myservo.write(50);if(m==0)
{
display.clearDisplay();
digitalWrite(6,HIGH);
digitalWrite(5,HIGH);
digitalWrite(12,HIGH);
}
while(m==0)
{//display.clearDisplay();
//display.drawBitmap(0, 0, str_2, 128, 64, 1);
static unsigned long sensortStamp = 0;if(millis() - sensortStamp > 1500){
sensortStamp = millis();
// read the LM35 sensor value and convert to the degrees every 100ms.
int reading = analogRead(A6);
temp = reading *0.0048828125*100-8;}
// digitalWrite(4,LOW);
if(temp>=29)
{
//digitalWrite(4,HIGH);
//delay(1000);
}
myservo.write(50);
if(distance<=7)
{
myservo.write(180);
delay(5000);
myservo.write(50);
delay(2000);
distance=100;
}digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
distance=pulseIn(echo,HIGH)/58.00;//B
display.setTextColor(WHITE,BLACK);//oled
display.setTextSize(2);
display.setCursor(16,22);
display.println(rtc.getTimeStr());
display.setTextColor(BLACK,WHITE);//oled
display.setCursor(16,42);
display.println(rtc.getDOWStr());
display.setTextColor(WHITE,BLACK);//oled
display.setTextSize(1);
display.setCursor(80,0);
display.println("T=");
display.setCursor(96,0);
display.println(temp);
display.setCursor(0,0);
display.println(rtc.getDateStr(FORMAT_LONG, FORMAT_LITTLEENDIAN, '/'));
display.display();
if(digitalRead(A2)==0)
{
m++;delay(ms);
}
if(digitalRead(A3)==0)
{
m1++;delay(ms);
}}
if(distance<=7)
{
myservo.write(180);
delay(5000);
myservo.write(50);
delay(2000);
distance=100;
}digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
distance=pulseIn(echo,HIGH)/58.00;//Bif(m==1)
{
display.clearDisplay();
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite(12,LOW);
display.drawBitmap(0, 0, str_1, 128, 64, 1);
display.display();
}
if(m==2)
{
display.clearDisplay();
display.drawBitmap(0, 0, str_3, 128, 64, 1);
display.display();
if(m1==1)
{
m=0;
m1=0;
}
}
if(m==3)
{display.clearDisplay();
display.drawBitmap(0, 0, str_4, 128, 64, 1);
display.display();
if(m1==1)
{
digitalWrite(5,HIGH);
}
if(m1==2)
{
digitalWrite(5,LOW);
m1=0;
}
}
if(m==4)
{
display.clearDisplay();
display.drawBitmap(0, 0, str_5, 128, 64, 1);
display.display();
if(m1==1)
{
digitalWrite(6,HIGH);
}
if(m1==2)
{
digitalWrite(6,LOW);
m1=0;
}
}
if(m==5)
{display.clearDisplay();
display.drawBitmap(0, 0, str_6, 128, 64, 1);
display.display();
if(m1==1)
{
digitalWrite(12,HIGH);
}
if(m1==2)
{
digitalWrite(12,LOW);
m1=0;
}
}
if(m==6)//clock
{if(m1!=1)
{
display.clearDisplay();
display.drawBitmap(0, 0, str_7, 128, 64, 1);
display.display();
}
int c=0,s=0,d1=0,d2=0,d3=0,d4=0,d5=0,d6=0,d7=0,d8=0;
while(m1==1)
{display.clearDisplay();
delay(50);
if(digitalRead(A3)==0)
{
c++;delay(ms);
}
if(digitalRead(A2)==0)
{
s++;delay(ms);
}
//digitalWrite(4,HIGH);//beep
display.setTextColor(BLACK,WHITE);//oled
display.setTextSize(2);
display.setCursor(3,0);
display.println(" setclock ");
display.setTextColor(WHITE,BLACK);//oled
display.setTextSize(2);
display.setCursor(0,20);
display.println(d1);
display.setCursor(16,20);
display.println(d2);
display.setCursor(32,20);
display.println(":");
display.setCursor(48,20);
display.println(d3);
display.setCursor(64,20);
display.println(d4);
display.setCursor(80,20);
display.println(":");
display.setCursor(96,20);
display.println(d5);
display.setCursor(112,20);
display.println(d6);
display.display();if(c==1)
{
m1=2;
}}
if(m1==2)
{digitalWrite(4,LOW);
m1=0;
m=6;
}
}
if(m==7)
{
m=2;
delay(65);
}}

【项目】基于Arduino Nano的多功能桌面感应垃圾桶
https://www.arduino.cn/forum.php?mod=viewthread&tid=83370&fromuid=163915
(出处: Arduino中文社区)

基于Arduino Nano的多功能桌面感应垃圾桶相关推荐

  1. 基于Arduino nano 的RDA5807M的收音机(一)

    一:准备工作 软件:1.arduino-1.8.8-windows.exe(可去官网直接下载 https://www.arduino.cc/en/Main/Software) 2.串口调试助手 3.串 ...

  2. arduino nano 蓝牙_基于Arduino的摩尔斯电码练习及无线收发报训练器

    摘要:本文介绍一款基于Arduino NANO开发的,带2.4G无线收发报功能的摩尔斯电码训练器的系统设计思路.发射端通过NANO板的外部中断引脚采集电键输入的脉冲PPM序列同时驱动喇叭播放电键音,然 ...

  3. arduino - pinMode参数1的确定 - 以arduino nano every核心板为例

    文章目录 arduino - pinMode参数1的确定 - 以arduino nano every核心板为例 概述 笔记 pins_arduino.h ABX00028-datasheet.pdf ...

  4. 基于Arduino的多功能智能交通信号灯的设计与实现 ---------对盲人语音播报,红灯结束时铃声提醒,信号灯倒计时和闯红灯语音劝阻

    ** 基于Arduino的多功能智能交通信号灯的设计与实现 ---------对盲人语音播报,红灯结束时铃声提醒,信号灯倒计时和闯红灯语音劝阻 ** 魏树鸿, 1.系统设计思路 a.: 满足基本信号灯 ...

  5. 基于arduino的oled12864电子时钟和菜单功能

    基于arduino和I2C协议OLED12864的电子时钟和菜单功能 说明: up使用了基于Arduino的 OLED12864 显示,并在此之上编写了具有菜单选择功能的电子时钟.由于仅用了一周的课程 ...

  6. 基于Arduino的制作——智能桌面移动风扇灯

    初学Arduino,就要完成一次大作业,任务是用Arduino制作智能家居,这"戳实"很艰辛...还好,过程很艰辛,结局还算圆满. 特别感谢一起完成该制作的YuanSnowing同 ...

  7. arduino智能闹钟_一种基于Arduino的多功能智能闹钟的制作方法

    本实用新型涉及智能闹钟技术领域,具体为一种基于Arduino的多功能智能闹钟. 背景技术: 智能睡眠是款带有睡眠循环跟踪的闹钟,可以设置多组闹钟,添加不同的铃声,可以记录睡眠状态,自动改变屏幕亮度,帮 ...

  8. 水果图像识别:基于 Arduino 和 TensorFlow Lite Micro

    特邀博文 / Dominic Pajak 和 Sandeep Mistry,来自 Arduino 团队 Arduino 肩负着让任何人均可轻松使用机器学习的使命.去年前,我们宣布 TensorFlow ...

  9. 基于Arduino的草缸自动控制系统

    [智能草缸-哔哩哔哩] https://b23.tv/Pxea9NK 很早之前就想要实现一个全自动控制的草缸,当时是19年刚研究生入学,正好在本科毕业的暑假时间,有在培训机构教学Micro bit的硬 ...

最新文章

  1. flask gevent uwsgi nginx 联合高并发 部署
  2. MultiBinding的StringFormat参数问题
  3. a[1]和1[a]——浅谈数组下标运算符
  4. unipapp 解决无法编译sass_如何解决Vue项目里面没有sassloader依赖包的问题
  5. how is Customizing activity launched by ABAP Framework
  6. mvc试图 下拉框不重复_面试前不巩固一下基础知识、刷刷题吗?
  7. 2019年7月第一周总结-RabbitMQ总结
  8. element table根据条件隐藏复选框
  9. HomeHack:黑客如何控制 LG 的 IoT 家用设备
  10. php公众号开发 点菜,微信公众号点餐系统怎么弄 微信点餐系统怎么开发
  11. 测绘类(遥感)投稿期刊(卓越期刊、EI、CSCD、核心期刊)汇总,内附投稿链接
  12. spss标准差与标准偏差不一样
  13. 协程问题:Can only use Waiter.switch method from the Hub greenlet
  14. python创始人国籍_2018年4月TIOBE排行榜前10的编程语言创始人
  15. 碰到ConvergenceWarning的情况
  16. MediaPlayer+TextureView,完美切换全屏、小窗口的 Android 视频播放器
  17. 服务请求2XX、5XX等错误具体是什么
  18. python控制程序_Python 流程控制
  19. 地理信息系统明年将服务全运会
  20. 如何选一款适合企业的进销存软件?这款软件推荐给你

热门文章

  1. css和html实现简单的图片轮播效果
  2. java double 乘_java Double 进行加减乘除
  3. onmouseover和onmouseout的使用
  4. C++ Beep函数用法
  5. 使用超声波传感器测量距离并在LCD上显示
  6. java鼠标指针锤子,java线程工具走出锤子敲铁皮时代。
  7. tp5中在定义当前是否是移动端浏览页面的常量
  8. 亚丁游记(下)-云南篇
  9. 1039 宏定义之闰年判断
  10. 函数插值法实验报告c语言,插值法实验报告.doc