Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Arduino UNO系でも動くLISP実装 uLISP その1:説明と導入

Arduino UNO系でも動く軽いLISP実装として、 uLISPというのがあります。

www.ulisp.com


暫定的目標として、これでロボットアームを動かせるようにしつつ
obnizとのシリアル通信連動で遠隔制御できるようにまで持っていきたいと思います。

実際のところ

なんと……Arduinoのソフトウェアに上にuLisp実行環境を組むという超絶ストロングスタイル……!!

$ git clone https://github.com/technoblogy/ulisp
$ cd ulisp

そこにある"ulisp.ino"をArduinoに書き込みます。
するとシリアルポートにREPLが。
この数値"314"は使えるLISPセルです。

uLisp 2.7 
314> 

あとは……Lチカしてみましょうか。

314> (defun b (x) (pinmode 13 t) (digitalwrite 13 x) (delay 1000) (b (not x)))
b

283> (b t)

……ただ、これだとループが切れないので注意。
離脱するには"~"を入力してください。
実行中のスクリプトを中断できます。