使用 Arduino 控制硬币接收器
组件和用品
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
关于这个项目
这个项目的目的是用arduino编写代码来控制硬币接收器,以便它可以在其他项目中使用。我想到的特定项目是为我的女儿建立具有平衡意识的存钱罐。
代码
用Arduino控制硬币接收器Arduino
//Mario's Ideas//用Arduino控制硬币接收器#include #include #include //模块连接引脚(数字引脚)#define CLK 3#define DIO 4TM1637Display display(CLK, DIO);//用于测量脉冲之间的间隔的变量int i=0;//检测到的脉冲数int impulsCount=0;//所有硬币的总和insetedfloat total_amount=0;void setup() { // pinMode(2, INPUT_PULLUP); Serial.begin(9600); display.setBrightness(0x0f); // 当信号从高电平变为低电平时,连接到引脚 D2 的中断执行 IncomingImpuls 函数 attachInterrupt(0,incomingImpuls, FALLING); EEPROM.get(0, total_amount); display.clear();}voidcomingImpuls(){ impulsCount=impulsCount+1; i=0;}void loop() { i=i+1; Serial.print("i="); Serial.print(i); Serial.print(" 冲动:"); Serial.print(impulsCount); Serial.print("总计:"); Serial.println(total_amount); if (i>=30 and impulsCount==1){ total_amount=total_amount+2;脉冲计数=0; EEPROM.put(0, total_amount); } if (i>=30 and impulsCount==2){ total_amount=total_amount+1;脉冲计数=0; EEPROM.put(0, total_amount); } if (i>=30 and impulsCount==3){ total_amount=total_amount+0.5;脉冲计数=0; EEPROM.put(0, total_amount); } if (i>=30 and impulsCount==4){ total_amount=total_amount+0.2;脉冲计数=0; EEPROM.put(0, total_amount); } if (i>=30 and impulsCount==5){ total_amount=total_amount+0.1;脉冲计数=0; EEPROM.put(0, total_amount); } if(total_amount<10) display.showNumberDecEx(total_amount*10, 0b10000000, true, 2, 2); else display.showNumberDecEx(total_amount*10, 0b00100000, false, 4, 0);}
示意图