ポケコンの11ピンを使っての
部品の制限で2bit通信。0~3の値をポケコンに送ることができます。
こんな感じ。
回路図
ポケコンのGNDの抵抗を書き忘れました。補ってください。
抵抗はCdSにつないであるのが10kΩ,それ以外は1kΩです。
ポケコンのPIN番号は、一番上側を1,一番下側を11としています。3がGNDです。
参考: 8ビット制御練習基板
Arduinoのコード
const int SENSOR = 0; /* アナログINの0 */ const int POKECOM_1 = 12; /* デジタルIOの12 */ const int POKECOM_2 = 13; /* デジタルIOの13 */ int val = 0; void setup(){ pinMode(POKECOM_1, OUTPUT); pinMode(POKECOM_2, OUTPUT); Serial.begin(9600); } void loop(){ /* CdSからの値を整形. 440~840くらいの値を取る(私の環境の場合)ので、それを0~3に直す.*/ val = (analogRead(SENSOR) - 440)/100; /* 1bit目をPOKECOM_1から出力 */ if(val%2==1){ digitalWrite(POKECOM_1, HIGH); }else{ digitalWrite(POKECOM_1, LOW); } /* 2bit目をPOKECOM_2から出力 */ if(val/2==1){ digitalWrite(POKECOM_2, HIGH); }else{ digitalWrite(POKECOM_2, LOW); } delay(100); }パラレルといいつつ、あんまりパラレルじゃありません。
bit演算使えよ!といったツッコミも承知です。
部品を揃えたら8bit通信で作り直しますんでしばしお待ちください。
ポケコンのコード
10 WAIT 10 20 OPEN "PIO:" 30 CLS 40 X=0 50 Y=0 60 PIOSET 3 70 V=PIOGET 80 Y=30-Y 90 GCURSOR(X,Y) 110 GPRINT "1000" 120 X=X+1 130 GOTO 70ポケコンを持っている方はマニュアルも持っているはずなので、そちらを参考にしてください。
4と5のピンをINPUTに設定し(PIOSET 3)、値を読み取ります。
読み取った値をグラフにして液晶に表示します。
0 件のコメント:
コメントを投稿