• 单片机的智能垃圾桶设计


    一.硬件方案

            本设计主要是利用单片机设计并制作一套智能垃圾箱。要求以单片机为控制核心,通过红外传感器检测是否有人扔垃圾,并自动打开垃圾箱盖,扔完垃圾后再自动关闭。电路主要由51单片机+独立按键+电机驱动模块+2个红外传感器+蜂鸣器报警模块等组成;如图:

    二.设计功能

    (1)两个按键分别为复位按键、手动打开垃圾桶按键。
    (2)当智能垃圾桶红外线检测到有人时,将控制步进电机打开垃圾桶。
    (3)如果人一直在垃圾桶旁边时,垃圾桶将一直打开,当人离开5S后,盖子将自动盖上。
    (4)当桶内红外检测到垃圾满时,单片机将开启声光报警,并且自动取消打开桶盖模式,智能通过手动按键打开桶盖。
    (5)当垃圾清理完时,系统将恢复自动模式。

    三.设计原理图

    (1)原理图如图:

     

    (2)PCB图如下:

     

     四.软件设计

    1. void main()      
    2. {
    3.     TMOD=0x10;    //定时器0,定时器1,16位工作方式
    4.     EA=1;         //打开总中断0    
    5.     TH1=0x4c;
    6.     TL1=0x00;
    7.     TR1=1;
    8.     ET1=1;
    9.     while(1)
    10.     {    
    11.         if(open_flag==0)
    12.         {
    13.             P2=P2&0xf0;
    14.             m_i=0;
    15.         }
    16.         else 
    17.         {        
    18.             proc();
    19.         }
    20.     } 
    21. }
    22. void dis_pose()
    23. {
    24.     if(!HW1) 
    25.     {
    26.         led1=0;    
    27.         if(!key1)
    28.         {
    29.             if(key1_flag)
    30.             {
    31.                 key1_flag=0;
    32.                 if(open_flag1) 
    33.                 {
    34.                     hand_flag=1;
    35.                     open_flag=2;
    36.                 }
    37.                 else 
    38.                 {
    39.                     hand_flag=0;
    40.                     open_flag=1;
    41.                 } 
    42.             }
    43.         }
    44.         else key1_flag=1;
    45.     }
    46.     else 
    47.     {
    48.         led1=1;
    49.         if(!HW2)
    50.         {
    51.             if(HW2_flag)
    52.             {
    53.                 HW2_flag=0;
    54.                 if(open_flag1) open_flag=2;
    55.             }
    56.         }
    57.         else 
    58.         {
    59.             HW2_flag=1;
    60.         }
    61.     }
    62. }

    资料链接:https://pan.baidu.com/s/19jcO0dwmbNWjF8BL4A6J6g?pwd=u2nw 
    提取码:u2nw

  • 相关阅读:
    【附源码】Python计算机毕业设计社区居家养老服务管理系统
    FPGA面试题(6)
    设计模式之策略模式
    大学物理---质点运动学
    记录一次内存泄漏导致页面崩溃的排查过程
    《QT从基础到进阶·二十八》QProcess使用,从一个exe程序启动另一个exe程序
    亚马逊个人漂浮装置UL 1177测试报告审核申请
    基于Rplidar二维雷达使用Hector_SLAM算法在ROS中建图
    PWN入门(2)利用缓冲区溢出绕过登录和第一个PwnTools脚本
    实践GoF的设计模式:迭代器模式
  • 原文地址:https://blog.csdn.net/eletronicfish/article/details/127741510