その昔XYプロッターという、XとYの方向に独立に動く アームにペンがついた装置があったという(今でもある)。 この装置には2つの端子(XとY)がありこの端子に信号線を つなぐとそのの電圧に比例した位置までペンが動くようにできている。 この機械に文字を描かせようというのが今回の課題。
/* Init 6 */ for (i=0;i<36;i++){ x=128.-i*28/36; y=200.-i*150/36; C6[i]=(0xff & int(x)); //前半は上の部分を直線で C6[i]|=(0xff & int(y))<<8; theta=i*3.1415/18.; x=128.+30.*cos(theta-3.1415); y=50.+50.*sin(theta-3.1415); C6[i+36]=(0xff & int(x)); //後半は下の部分を円で C6[i+36]|=(0xff & int(y))<<8; }
void Pri(int x, unsigned int X[]){ int i; analogWrite(Xout,(0xff & X[0])+x); analogWrite(Yout,(0xff00 & X[0])>>8); //最初の点に移動 delay(1000); //1秒待つ for(i=0;i<72;i++){ //72点を順番に移動 analogWrite(Xout,(0xff & X[i])+x); //下位8bitはx座標 analogWrite(Yout,(0xff00 & X[i])>>8); //上位8bitはy座標 delay(15); //15ms待つ } analogWrite(Xout,(0xff & X[71])+x); //最後の点で analogWrite(Yout,(0xff00 & X[71])>>8); //1秒待つ delay(1000); }とした。一点一点の描画で15msほど待ち、両端で1000msまつ。