Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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)

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