IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 无人停车场运行收费系统 -> 正文阅读

[嵌入式]无人停车场运行收费系统

是舒克呀

无人停车场运行收费系统

通过Arduino uno 开发板 RFID射频技术以及DS1302、OLED屏幕、按键、指示灯等人机交互实现无人停车场自主运行收费系统,后期也可以根据需求自行添加功能

RC522读卡号

通过RC522与开发板之间的SPI总线通讯进行IC卡号读取,通过程序将读取到的卡号与系统设置的卡号进行对比,如果卡号为本系统(停车场内用户)则驱动舵机运转,打开闸门,使车辆通过进入车库,同时激活收费系统。
读取卡号时首位读取为10进制,后面则为2进制数

rfid.isCard();
  //读卡号
  if (rfid.readCardSerial())
  {
    Serial.print("your card id is   : ");
    Serial.print(rfid.serNum[0]);
    Serial.print(" , ");
    Serial.print(rfid.serNum[1],BIN);
    Serial.print(" , ");
    Serial.print(rfid.serNum[2],BIN);
    Serial.print(" , ");
    Serial.print(rfid.serNum[2],BIN);
    Serial.print(" , ");
    Serial.print(rfid.serNum[4],BIN);
    Serial.println(" ");
  • 读取卡号时首位读取为10进制,后面则为2进制数

停车场收费系统:

停车场收费系统
停车场收费系统
OLED屏幕上方显示当前时间年月日等信息,没有刷卡时当前状态显示无,当本系统用户刷卡后显示计费状态,下方需缴费栏则显示需缴纳的费用,系统收费扣费是对于IC卡进行的,在刷卡过程自动完成计费和收费,无需人员进行操作,对于卡内金额可通过APP或者充值站进行自主充值。

DS1302时钟模块

时钟模块用于进行时钟校准以及显示当前时间,该时间可以实现掉电存储,内部仍然继续计时,DS1302时间校准可以通过串口进行发送时间日期等数据进行校准

oid print_time()
{
   
    Time t = rtc.time();
   
    memset(day, 0, sizeof(day));
    switch (t.day)
    {
    case 1: strcpy(day, "Sunday"); break;
    case 2: strcpy(day, "Monday"); break;
    case 3: strcpy(day, "Tuesday"); break;
    case 4: strcpy(day, "Wednesday"); break;
    case 5: strcpy(day, "Thursday"); break;
    case 6: strcpy(day, "Friday"); break;
    case 7: strcpy(day, "Saturday"); break;
    }
   
    snprintf(buf, sizeof(buf), "%s %d-%d-%d %d:%d:%d", day, t.yr, t.mon, t.date, t.hr, t.min, t.sec);
    Serial.println(buf);
    ds1302_nian=t.yr;/*年分*/   ds1302_yue=t.mon;/*月份*/ ds1302_ri=t.date;/*日*/
    ds1302_shi=t.hr;/*小时*/    ds1302_fen=t.min;/*分钟*/ ds1302_miao=t.sec;/*秒钟*/ 
    //ds1302_riqi=t.day;/*星期*/  
    
}

void ds1302_jishi()
{
    ds1302_flag=0; 
    while (Serial.available() > 0)
    {
       comdata += char(Serial.read());
       delay(2);
       mark = 1;
    }
   
    if(mark == 1)
    {
       Serial.print("You inputed : ");
       Serial.println(comdata);
       for(int i = 0; i < comdata.length() ; i++)
       {
         if(comdata[i] == ',' || comdata[i] == 0x10 || comdata[i] == 0x13)
          {
            j++;
          }
         else
         {
            numdata[j] = numdata[j] * 10 + (comdata[i] - '0');
          }
       }
       
       Time t(numdata[0], numdata[1], numdata[2], numdata[3], numdata[4], numdata[5], numdata[6]);
       rtc.time(t);
       mark = 0;j=0;
       
       comdata = String("");
       
       for(int i = 0; i < 7 ; i++) numdata[i]=0;
    }
   
   
    print_time();
    delay(1000);
    ds1302_flag=1;
    if(shuaka)
    {
     shoufei+=1;
     RFID_flag=1;
    }
    
}

舵机模拟开闸

调用Servi.h库,舵机操作就边得很简单了,在myservo.writ()中输入角度即可驱动舵机转指定角度,180/90°舵机可以进行此类操作,若舵机极限角度为90或者180°时应适当调整转动角度-3左右为转动实际角度,不然会产生舵机抖动。

void Servo_Contron()
{
    myservo.write(90);delay(2000);
    myservo.write(0);
}

若需要完整代码可通过微信公众号《是舒克呀》添加作者微信获取

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 11:11:54  更:2022-02-04 11:13:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/20 8:40:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码