2020年
1月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

setup diary

2007|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|06|08|11|
2015|01|02|03|04|05|06|07|08|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|

2020-01-27 USBaspを使った書き込み

_ arduinoISPとUSBasp

arduinoをいじっていて、シリアルからの書き込みに失敗したので、書き込み機から書き込むことにした。しかし、手元に書き込み機が無かったので、調べてみたらarduino UNOをISP書き込み機にするという方法があるらしい。rduino IDEのFile-Examples-ArduinoISPで選んだsketchをUNOに書き込めば良い。以下の通りの接続をして、Arduino as ISPを選択して書き込む。

10 RESET
11 MOSI
12 MISO
13 SCK

しかし、うまく行かないときもあるので、別の方法を試してみることにした。USBaspという書き込み機を以前購入したのを思い出して、使ってみることにした。ubuntu linuxを使ってやっていたのだが、portのpermissionが無いと言われる。調べてみたらplugdevというgroupになっていたので、ユーザーをplugdev groupに登録したら、書き込めるようになった。bootloaderの書き込みは、以下のような表示が出るが書き込みはうまくいっているようだ。

warning: cannot set sck period. please check for usbasp firmware update.

また、実際のsketchを書き込む場合には、Upload Using Programmerをメニューから選ばないといけない点も注意が必要である。ちなみに、この書き込み方だとbootloaderも上書きしてしまう。


2020-01-30 genmatrixで行列を作る

_ maximaで角運動量演算子

Rで角運動量演算子の行列を計算するプログラムは、以前に書いて、時々使っているが、Rでは変数を含んだ計算をすることができない。そこで、maximaを使ってこの行列を計算するプログラムを書いてみた。maximaについてはど素人なので、無駄な部分が多いと思うが、これを使うと変数を含んだ変形が簡単になるはずだ。ただし、行列の掛け算は.を、行列のn乗は^^を使うことに注意しないといけない。最後の行は、核四重極相互作用の行列を例として示した。
mjz(j):=genmatrix(lambda([a,b],if a=b then j+1-a else 0),2*j+1,2*j+1);
mjp(j):=genmatrix(lambda([a,b],if a=b-1 then sqrt(a*(2*j+1-a)) else 0),2*j+1,2*j+1);
mjm(j):=transpose(mjp(j));
mjx(j):=(mjp(j)+mjm(j))/2;
mjy(j):=(mjp(j)-mjm(j))/2/%i;
me(j):=ident(2*j+1);
3*mjz(j)^^2-j*(j+1)*me(j)+n/2*(mjp(j)^^2+mjm(j)^^2);

_ 2020/4/15追記

久々に使おうとしたら、代入がコロンだということを忘れていて、なかなか動かなくて苦労した。