基于Arduino制作的简易投币机(未完善)
标签:arduino
策策Phantom 发布于 2017-05-07 23:04
Step 1: 目前材料
1个Arduino板
1个LED灯
1个数码管
1个光敏传感器
一个盒子。。。
电源。。。
一些线。。。。。。。
Step 2: 原理
利用LED做光源,通过用硬币遮挡光源,引起光传感器数值变化,来改变数码管中数字显示。
还无法判断硬币真假。。。
Step 3: 代码 (只写了数字0-4)
int _ABVAR_1_x = 0 ; int _ABVAR_2_k = 0 ; void __ardublockDigitalWrite(int pinNumber, boolean status) { pinMode(pinNumber, OUTPUT); digitalWrite(pinNumber, status); } void m1(); void m2(); void m3(); void m4(); void m0(); void setup() { pinMode( 3 , OUTPUT); Serial.begin(9600); } void loop() { if (( ( _ABVAR_1_x ) == ( 0 ) )) { delay( 1000 ); _ABVAR_1_x = 1 ; } analogWrite(3 , 255); Serial.print("message"); Serial.print(analogRead(0)); Serial.println(); if (( ( analogRead(0) ) < ( 10 ) )) { delay( 1000 ); _ABVAR_2_k = ( _ABVAR_2_k + 1 ) ; Serial.print("k"); Serial.print(_ABVAR_2_k); Serial.println(); } if (( ( _ABVAR_2_k ) == ( 0 ) )) { m0(); } if (( ( _ABVAR_2_k ) == ( 1 ) )) { m1(); } if (( ( _ABVAR_2_k ) == ( 2 ) )) { m2(); } if (( ( _ABVAR_2_k ) == ( 3 ) )) { m3(); } if (( ( _ABVAR_2_k ) == ( 4 ) )) { m4(); } } void m4() { __ardublockDigitalWrite(13, LOW); __ardublockDigitalWrite(12, HIGH); __ardublockDigitalWrite(11, HIGH); __ardublockDigitalWrite(10, LOW); __ardublockDigitalWrite(9, LOW); __ardublockDigitalWrite(8, HIGH); __ardublockDigitalWrite(7, HIGH); __ardublockDigitalWrite(6, LOW); } void m1() { __ardublockDigitalWrite(13, LOW); __ardublockDigitalWrite(12, HIGH); __ardublockDigitalWrite(11, HIGH); __ardublockDigitalWrite(10, LOW); __ardublockDigitalWrite(9, LOW); __ardublockDigitalWrite(8, LOW); __ardublockDigitalWrite(7, LOW); __ardublockDigitalWrite(6, LOW); } void m0() { __ardublockDigitalWrite(13, HIGH); __ardublockDigitalWrite(12, HIGH); __ardublockDigitalWrite(11, HIGH); __ardublockDigitalWrite(10, HIGH); __ardublockDigitalWrite(9, HIGH); __ardublockDigitalWrite(8, HIGH); __ardublockDigitalWrite(7, LOW); __ardublockDigitalWrite(6, LOW); } void m3() { __ardublockDigitalWrite(13, HIGH); __ardublockDigitalWrite(12, HIGH); __ardublockDigitalWrite(11, HIGH); __ardublockDigitalWrite(10, HIGH); __ardublockDigitalWrite(9, LOW); __ardublockDigitalWrite(8, LOW); __ardublockDigitalWrite(7, HIGH); __ardublockDigitalWrite(6, LOW); } void m2() { __ardublockDigitalWrite(13, HIGH); __ardublockDigitalWrite(12, HIGH); __ardublockDigitalWrite(11, LOW); __ardublockDigitalWrite(10, HIGH); __ardublockDigitalWrite(9, HIGH); __ardublockDigitalWrite(8, LOW); __ardublockDigitalWrite(7, HIGH); __ardublockDigitalWrite(6, LOW); }
Step 4: 展示。
登录以发表评论
好赞啊,这次的全国比赛当中看到了好几个类似的作品
http://m.youku.com/video/id_XMjc1MDcyOTQ2NA==.html?spm=a2h2a.8293802.0.0
阅读数: 8704