精华内容
下载资源
问答
  • 投币器控制装置(电路部分) 最近,制作了一款简易的投币器装置。实现功能:可以检测到硬币或者游戏币等投入装置,电机旋转一定时间,同时伴随音乐传出。 写下此博文,记录制作过程。 1.纯硬件电路搭建 投币器的主要...

    投币器控制装置(电路部分)

    最近,制作了一款简易的投币器装置。实现功能:可以检测到硬币或者游戏币等投入装置,电机旋转一定时间,同时伴随音乐传出。
    写下此博文,记录制作过程。

    1.纯硬件电路搭建

    投币器的主要部分分为传感器检测部分,电源部分,控制部分,音乐部分,电机部分。

    (1)传感器
    在网上买了许多元器件进行测试,有光电传感器,人体探测模块,超声波传感器,红外线数字传感器,激光传感器等。这些模块都可以根据硬币的滑动来返回一个电平信号(大部分都是高电平),我们可以根据反馈到的信号做下一步处理。
    但是,这些模块的灵敏度有一定的局限性。我最终制作的成品中,硬币投放装置的卡槽接近90度,也就是说,当硬币投入后,会以非常快的速度下落,此时使用这些传感器检测时,由于灵敏度不够,会导致无法检测到硬币落入。
    在经过一系列测试的基础下,最终选择了某宝的激光传感器,其及灵敏度非常高,且反馈回来的是一个高电平信号,便于采集使用。虽然价格较其他传感器高一些,但是一分钱一分货,东西使用起来没有任何问题。
    在这里插入图片描述

    (2)电源部分
    由于该装置是又许多模块搭建而成,所以供电是必不可少的。本来打算使用电池供电,但是制作后的成品将一直处于使用状态,所以选择外接电源来进行供电。这个直接在某宝上买了一个小电源模块,上面有5V和3.3V的输出,方便我们的使用。其实这个降压模块自己也可以制作,非常简单。买一个电源端子,配上稳压芯片,在加上电阻电容,几块钱就搞定了。
    在这里插入图片描述

    (3)控制部分
    因为最终的成品要实现接受到信号后,使电机旋转一定时间,也就是要有延时处理,在某宝上买了一块延时继电器,上面可以通过按钮调整工作模式和时间,很方便。其中,继电器的供电电压需要6V以上,所以我还买了一块升压模块来进行升压,以满足供电要求。输出端口把地线接入常闭端口。
    在这里插入图片描述

    (4)音乐部分
    这里使用一个音乐模块和喇叭搭建而成。这个模块是插入内存卡的,也就是说,你想要什么音乐都可以,下载好放入SD卡里就可以。供电电压是5V,控制信号低电平有效。声音还是相当大的,最大音量比老年机放音乐声音还大。
    在这里插入图片描述

    (5)电机部分
    最终的成品是带动了一个220V供电的电机,所以要做一个保护输出的部分。本来直接接在继电器后面也可以,但是以防万一,还是多加了这个部分。也是直接买了一个直流控交流继电器,将延时继电器的输出接入,输出控制大电机。
    在这里插入图片描述
    整体的部分就是这样,下来主要是各个模块的连接,使用杜邦线跳线连接好,固定在洞洞板上,就完成了。
    这是硬件模块的主体部分,传感器和电机没有接入。
    在这里插入图片描述

    2.单片机搭建
    其实用单片做起来更加简单,但是有的朋友可能没学过相关的知识,所以听上去很费劲。身边刚好有51的核心板,就用51做了这个投硬币器。51也比较简单,大家都能看的懂。

    硬件部分:传感器检测部分,电源部分,音乐部分,电机部分,51单片机核心板。其实和上面没啥区别,就是把继电器控制时间的部分调整到单片机当中。

    软件部分:
    直接附上代码,简单易懂。把控制代码放在终端中。
    这里实现的功能稍微进行了一些修改,接收到控制信号后,电机先旋转30S,然后当电机停止后,播放一段音乐。

    #include "reg52.h"			
    typedef unsigned int u16;	  
    typedef unsigned char u8;
    
    sbit input=P1^0;  
    sbit output=P1^1;  
    sbit music=P1^2;  
    sbit led=P2^0;	
    
    
    void delay30s(void)   
    {
        unsigned char a,b,c,n;
        for(c=254;c>0;c--)
            for(b=232;b>0;b--)
                for(a=253;a>0;a--);
        for(n=2441;n>0;n--);
    }
    void delay3s(void)   //?? 0us
    {
        unsigned char a,b,c;
        for(c=189;c>0;c--)
            for(b=230;b>0;b--)
                for(a=33;a>0;a--);
    }
    
    
    void Int0Init()
    {
    	//ÉèÖÃINT0
    	IT0=1;//£¨Ï½µÑسö´¥·¢£©
    	EX0=1;//´ò¿ªINT0µÄÖжÏÔÊÐí¡£	
    	EA=1;//´ò¿ª×ÜÖжÏ	
    }
    
    void main()
    {	
    	led=0;
    	output=0;
    	music=1;
    	Int0Init();  //	ÉèÖÃÍⲿÖжÏ0
    	while(1);		
    }
    void Int0()	interrupt 0		//ÍⲿÖжÏ0µÄÖжϺ¯Êý
    {
    	if(input==0)
    	{
    		output=1;
    		delay30s();
    		output=0;
    		music=0;
    		delay3s();
    		music=1;
    	}
    }
    
    

    整个硬件电路搭建下来约100元左右,其中主要是传感器价格较贵,而且主要是硬件电路搭建,使用的都是成品。如果使用洞洞板或者PCB,成本会较低。
    大致内容就是这么多,其中一些细节性的东西描述的较为粗糙,望大家见谅,其中有不正确的地方,也欢迎大家指正,一起交流学习。有不懂得朋友可以留言私信。

    展开全文
  • 该工具用于通过PC机串口与ICT脉冲接口纸币器,硬币投币器进行通信。在电脑上对纸币器,硬币器进行控制,通信,数据分析,LOG日志分析。
  • 功能:监测投币机的投币数量,到达指定数量开启门禁道闸。材料:arduino uno,投币机,继电模块,8位DIP开关。原理:将投币投币脉冲信号接入arduino中断引脚,

    功能:监测投币机的投币数量,到达指定数量开启门禁道闸。材料:arduino uno,投币机,继电器模块,8位DIP开关。原理:将投币机投币脉冲信号接入arduino中断引脚,根据中断次数判断投币数量。用DIP开关设置应投币数量,当投币数量等于应投币数量时,控制继电器模块动作,输出NO/NC型号给门禁道闸。

    展开全文
  • 投币微信打印机WF-700B系列控制板接线说明。用于指导投币微信打印机专用投币器连接板WF-700B的使用方法,接线步骤。
  • 精敏(JMDM)自动售水机控制系统采用深圳市精敏数字机器有限公司自主研发的JMDM-2011工业控制器,实现了高精度、高速的定位、定时和速度控制。JMDM-2011是目前业内功能较强、稳定可靠、抗干扰能力强的工业控制器,...
  • 各位大神好,近期小弟打算做一个... 当客户扫码之后选择5,10,15个低电平脉冲中的一个商品后,单片机会接受到脉冲,根据脉冲个数来来分辨所购买的商品,继而控制继电输出高电平。 希望大神可以给出一套例程,谢谢。
  • 而自动售卖系统的外设也越来越复杂,从投币机到读钞机到非现金交易(如IC记账卡),导致对主控制器的要求越来越高。为了简化设计,采用一个简单、稳定的内部通讯总线协议非常必要。 本文介绍了欧
  • 专业定制电子存包柜(红外条码柜-自设密码柜-IC/ID刷卡柜-指纹识别柜-投币柜-各类智能柜) 可定制人脸识别智能柜-微信智能柜-联网柜-支付柜-各类智能控制柜 支持各种智能柜的功能定制
  • V3.0版本 ...MDB接口实际上是工作于9600波特率的主从型串行总线接口,所用外围设备(例如投币器、纸币器、读卡器等)均为主控制器(售货机控制器-VMC)的从机。所有外围设备与VMC之间的通信方式都一致。
  • 小区电动车充电大多数采用投币式和时间计费方式这样计费方式使电动车用户充电费用过多,收费不合理,给电动车用户增加了额外的经济负担。该装置为了消除收费不合理情况,选取用户使用电量来进行收费的方法,使收费...
  • 某超市门口的自动寄存柜有n个寄存箱,并且有一个投币控制器 顾客想要寄存小件物品时,只要在投币控制器中投入一个1元硬币,如果此时有空闲的箱子,寄存柜就会自动打开一个空的箱子,并且打印输出一张小小的密码纸条 ...

    【程序设计与实践】实验四:自动寄存柜

    某超市门口的自动寄存柜有n个寄存箱,并且有一个投币控制器
    顾客想要寄存小件物品时,只要在投币控制器中投入一个1元硬币,如果此时有空闲的箱子,寄存柜就会自动打开一个空的箱子,并且打印输出一张小小的密码纸条
    如果没有空闲的箱子,则提示“本柜已满”。
    当顾客离开超市时,用密码纸条上指定的数字密码依次输入到开箱控制器,则顾客所存包的箱子门就会自动打开,顾客取走物品后,关上门。
    输入数据时,可先输入寄存箱总数n, 再由用户选择是“投硬币”还是“输密码”。
    如果选择“投硬币”,则只有硬币值是1时才开箱。如果有空闲的箱子,则输出箱子编号及密码(4位数字); 如果无空闲的箱子,则提示“本柜已满”。
    如果选择“输密码”,若输入的密码与某一箱子密码相符,则显示打开的箱子编号,否则输出提示“密码错误”。

    请编写开箱控制程序实现上述过程。

    输入输出示例:

    寄存箱总数:10
    1.投硬币  2.输密码  0.退出   请选择:1
    投币值:1
    寄存箱编号:1  密码:9342
    1.投硬币  2.输密码  0.退出   请选择:2
    输入密码:9342
    1号寄存箱已打开
    1.投硬币  2.输密码  0.退出   请选择:0
    

    在这里插入图片描述

    代码:

    #include <stdio.h> 
    #include <stdlib.h> 
    #include <string.h> 
    #include <time.h>
    #include <iostream>
    #include <string>
    #include <sstream>
    
    using namespace std;
    
    #define MAX_LOCKER_COUNT 100	/*寄存柜的最大数量*/ 
    
    /*寄存柜结构*/ 
    typedef struct{ 
    	int used;		/*0 表示没被使用了,1 表示被使用了*/
    	string password; 	/*密码*/ 
    }Locker; 
    
    Locker Lockers[MAX_LOCKER_COUNT]; /*寄存柜数组*/ 
    
    int LockerCount; /*寄存柜个数*/ 
     
    /*查找密码所对应的柜子,找到返回相应的数组下标,未找到返回-1*/ 
    int FindByPassword(string pwd){ 
    	int i=-1;
    	for(i=0;i<MAX_LOCKER_COUNT;i++){
    		if(pwd==Lockers[i].password)	return i;
    	}
    	return -1;
    }
    
    /*产生一个与已有密码不同的密码*/ 
    void GeneratePassword(int i){
    	int pass;
    	stringstream ss;
    	pass=rand()%(9999-1000+1)+1000;
    	ss<<pass;
    	ss>>Lockers[i].password;
    	ss.clear();
    }
    
    /*执行投入硬币动作*/ 
    void DropCoin(){ 
    	int	i,coin; 
    	while(1){
    		printf( "请投币:" );
    		scanf( "%d", &coin );
    		if(coin == 1){
    			break;
    		}
    		else	puts( "请投入 1 个 1 元的硬币" );
    	}
    	
    	/*查找一个空的寄存柜*/ 
    	for(i=0;i<LockerCount;i++){
    		if(Lockers[i].used==0)	break;
    	} 
    		if( i>=LockerCount ){
    			puts( "本柜已满!" );
    		return;
    	} 
    
    /*产生密码,并将使用标志置为 1 */ 
    	GeneratePassword(i);
    	Lockers[i].used = 1; 
    
    /*输出信息*/ 
    	cout<<"寄存箱编号:"<<i+1<<"	密码:"<<Lockers[i].password<<endl;
    }
    
    /*执行输入密码动作*/ 
    void InputPassword(){ 
    	string pwd;
    	/*输入密码*/ 
    	printf( "输入密码:" ); 
    	getchar();
    	getline(cin,pwd);
    	
    	int i = FindByPassword(pwd); 
    	if( i != -1 ) {
    		Lockers[i].used=0;
      		printf( "%d 号寄存箱已打开\n", i+1 ); 
    	} 
    	else {
    		printf( "密码错误\n" );
    	}
    } 
    
    int main(){ 
    	srand((unsigned int)(time(NULL)));
    	printf("          =========自动寄存柜========           \n\n");
    	int i; 
    
    	printf( "寄存柜总数:" ); 
    	scanf( "%d", &LockerCount ); 
    
    	/*初始化*/ 
    	for(i=0;i<LockerCount;i++){ 
    		Lockers[i].used=0; 
    	} 
    
    	while(1){ 
    		printf( "1.投硬币	2.输密码	0.退出	请选择: " );
    		scanf("%d",&i);
    		if(i==1){ 
    			DropCoin(); 
    		}
    		else if(i==2){ 
    			InputPassword(); 
    		}
    		else if(i==0){ 
    			puts( "结束" ); 
    			break; 
    		} 
    	} 
    	return 0;
    }
    
    
    展开全文
  • verilog 自动售货机

    2010-05-29 14:03:16
    1)设计一个自动售货机,此机能出售1元、2元、5元、10元的四种商品。出售哪种商品可有顾客按动相应的一个按键即可,并同时用数码管...此累加只有商家可以控制清零。 6)此售货机要设有一个由商家控制的整体复位控制
  • CcTalk串行协议中文介绍 使用说明 是一种广泛使用的串行协议,遍及货币...如硬币和纸币验钞机等外部设备在多元化的自动支付设备如交通,票务,投币电话,娱乐设备,以及零售现金管理中建立,使用ccTalk与主机控制器通信
  • 4.5 微控制器(单片机)抗干扰能力与电磁兼容性  4.6 开关电源干扰的抑制技术  4.7 单片机测控系统的抗干扰技术  4.8 单片机CPU的抗干扰技术  4.9 微机测控系统实用抗干扰研究 ...
  • E717 复印数据或NE控制器通信不良 复印数据或NE控制器通信不良,进入维修程序模式,选择COPIER>FUNCTION>CLEAR>ERR 清除故障码 E719 0001 投币机与主控制板通信不良 投币机与主控制板通信不良,进入维修程序模式,...
  • 处理器可以轻松地将RAM连接到其标准地址,数据和控制I/O,并且可以以最少的固件开销访问设备,而磁盘驱动或其他闪存则不是这种情况。由于RAM存储所有重要配置,因此该内存的内容通常对游戏机的运行至关

    数年来,诸如投币游戏机和视频扑克机等游戏机一直是游戏行业的基础。通常这些游戏机的普及程度取决于赢钱的可能性,游戏机的可靠性以及游戏机的娱乐价值。相对于其他可用游戏选项的游戏机。

    当前基于微处理器的游戏机使用静态随机存取存储器(ram)来存储关键且连续变化的运行时处理数据,机器状态以及与游戏相关的其他配置详细信息。处理器可以轻松地将RAM连接到其标准地址,数据和控制I/O,并且可以以最少的固件开销访问设备,而磁盘驱动器或其他闪存则不是这种情况。由于RAM存储所有重要配置,因此该内存的内容通常对游戏机的运行至关重要。

    关键数据的示例可能包括以下一项或多项:
    •获胜结果的数量
    •机器付款
    •下注细节(例如,下注次数或下注硬币数量)
    •货币刷卡详细信息
    •硬币金额和面额
    •每个玩家的游戏记录,例如游戏级别,使用的物品和时间
    •计时器数据

    RAM存储器的一个弱点是它的易失性,在断电时会导致内容丢失。在许多关键应用中,当没有系统电源时应保存RAM内容,电池或可充电Supercap用来维持SRAM的电源以保持数据。通常游戏法规还要求部署备用电池配置,以在任何断电或电源故障期间保持游戏状态。部署电池选件的固有风险是电池的可靠性。系统电源波动或电源故障会严重影响电池性能,如果维护不当会导致电池完全故障。在游戏应用程序中,如果在关键数据传输期间游戏机的电源丢失,并且如果备用电池也失败或不可用,则系统RAM将丢失所有内容,这可能导致系统完全关闭或出现故障。

    为了避免这种灾难性的故障,游戏机设计师会谨慎设计电池支持的RAM解决方案。赛普拉斯的nvSRAM可提供标准RAM的性能,并且无需使用电池.NV-SRAM不会遇到与电池有关的问题,并且可以在所有断电情况下安全保存关键数据,这使其成为电池后备非易失性RAM的理想选择解决方案。
    在这里插入图片描述
    图1显示了游戏机架构的典型框图

    展开全文
  •  本章的实例问题是一个糖果机的控制器,有几个状态,不同的动作会有不同的响应。  比如投币再转动曲柄,会发放糖果,糖果没有了会显示售罄等等。 第一版的程序  下面是一个从状态图实现状态机代码(state ...
  • 如硬币和纸币验钞机等外部设备在多元化的自动支付设备如交通,票务,投币电话,娱乐设备,以及零售现金管理中建立,使用ccTalk与主机控制器通信。 该协议是在一家位于英格兰西北部港市曼彻斯特郊外的名为Coin ...
  • Verilog自动售货机设计

    万次阅读 多人点赞 2015-07-11 10:54:28
    我们实习的内容,设计一个自动售货机的控制器,实现以下功能: a. 机器只接受1元硬币和5元纸币; b. 机器共提供4种货物,价格分别为2元、2元、3元、3元; c. 顾客先选择需要的一种或者多种货物,再确认所选货物...
  • 本项目旨在对B站web端、移动端以及TV端散落在世界各地的野生api进行收集整理,研究使用方法并对其进行说明,运用了黑箱法、控制变量法、js逆向分析法、网络抓包法等研究办法 所有api均为标准http协议,返回数据大都...

空空如也

空空如也

1 2
收藏数 25
精华内容 10
关键字:

投币器控制器