最近増えてきましたね。自宅にパチスロ機を置く人が。
自分もあったりします。
数年前に買った4号機の「押忍!番長」です。
コインが数十枚ついていて、パチ屋と同じようにコインを
入れて遊んで大当たりしたらジャラジャラとでてきます。
が・・・
ジャラジャラの音がとても大きいw
そしてコインの入ってるホッパー(貯蔵してる箱)がすぐなくなって補充しなきゃいけない
ってことで、センサーをごまかしてコインを使わず遊べるのがコイン不要機です。
ヤフオクみると2000?3000円で打ってますが、せっかくarduionoがあるので
これでやってみます。
ちなみにコイン投入側(セレクター)と払い出し側(ホッパー)と2種類あるのですが、
セレクターはここを参考にして作ることができたのですが
ホッパー側ができていませんでした。
前置きが長すぎたな。。。もっとサッサといこう。
そんなわけで、本体開けて接続。
ホッパーを分解した状態で配線
センサーはLG-JT20が2つついてる。
左が常時塞がれてる状態で、コインが通ると一瞬右がふさがる
2番と3番をショートさせればいいんだねきっと。
まさかの手書きw
センサーは片方は常時HIGHである必要がある。
アルド側で常時HIGHにすると、電源落としたりするとホッパーエラーがでるため、
トランジスタでNOT回路入れてみた。
やってることは簡単。フォトカプラPC817使って、
モーターの信号を受けたらアルドちゃんの入力ピンがHIGHになる。
アルドの出力ピンがHIGHになったらフォトカプラ経由でセンサーをON,OFFする
ピンは3本。モーターINPUT1本とセンサーOUTPUT2本
スケッチはこんな感じ。loop中の抜粋ですが。。。
モーターがONになったら1ms?9msまでセンサーの信号を反転させます。
10msでタイマーをリセットさせてまた0msから。
この10msは適当です。動いてるからいいと思う。
もうちょっとカッコいいスケッチの書き方ないのかなぁ。
割り込み使えばいいのかな?
追記:
当初はこんな動きを想定してました。
センサー1 ON →OFF→OFF→OFF→ON
センサー2 OFF→OFF→ON→OFF→ON
そのため、センサー1,2を別々に制御してるんだけど・・・
今みたら、このスケッチで動くんだったら1つでいいような気がしてきたw
?void swaitreset(){
? previous_millis = millis();
}
unsigned long ?swaittime(){
? return( ?millis() -previous_millis ?);
}
////////////////////////////////////////////////////////////
//senser2Pinにnot回路がいれてあるため
//両方同じレベルになってしまう・・・
if( digitalRead( moterPin )==HIGH){
? hopperTimert=swaittime()/10;
// ?Serial.println(t);
? if( hopperTimert<1 ){
? ? digitalWrite( senser1Pin,LOW );
? ? digitalWrite( senser2Pin,LOW ?);
? }
? if( 1<hopperTimert && hopperTimert<10 ){
? ? digitalWrite( senser1Pin,HIGH );
? ? digitalWrite( senser2Pin,HIGH );
? }
? if( 10<hopperTimert ?){
? ? digitalWrite( senser1Pin,LOW );
? ? digitalWrite( senser2Pin,LOW );
? ? swaitreset();
? }
??
}else{
? // モーター停止状態
? swaitreset();
? digitalWrite( senser1Pin,LOW );
? digitalWrite( senser2Pin,LOW );
}
とりあえず快適に動いてます。







