>FT232RLの力

>僕は普段AVRマイコンというマイコンを使用しています。
秋月でも共立でも様々なところで販売されていて入手性は文句なし、価格は\100~で買えます。

そのAVRマイコンを初心者でも簡単に扱えるようにしたものをArduinoといいます。

僕が自分達で(正確には後輩が)ユニバーサル基板上にないArduinoのメリットは、
①秋月ですら3300円もする高価なAVRライタが不要で、USB接続で開発できる点
②シールド(追加のモジュールのようなもの)を接続でき、オプション品(液晶など)も簡単に接続できる点
③多くのライブラリが用意されていて、複雑な機能も簡単に使える点
です。

Arduinoには会社ごと/個人ごとにいろいろな種類がありますが、ArduinoはArduinoとしてピンが決められているのでライブラリが使えるんです。

でも、正直けっこう高いです。
例えばストリナで売られているArduino Duemilanove 328は3200円します。

ハンダ付けが苦手な人は確かにArduinoを買ったほうがいいのかもしれません。しかし、Arduinoの公式サイトでは回路図が公開されています。
つまり、ある程度知識があれば自作できるということです。

そこでオススメの方法。(Arduino公式の回路図とは異なります)
秋月にFT232RLという製品があります。本来はUSB/シリアルの(TTLレベルでの)変換モジュールです。でもこれをうまく使うと……AVRライタとして機能します。

すzのAVR研究室

FTDI BitBang AVR-Writer
で紹介されています。

実は僕もこの方法を使っていて、公式のライタを持っていません。

また、さらにいい点があって、もともと(今もだけど)USB/シリアル変換モジュールなので、AVRから出力されたUARTのデータをUSBから読むことができます。書き込みとデバッグをケーブルの差し替えなしに行えます。
その上、USBの5VとAVRのUARTと、一度もRS232レベルに変換されることなく常にTTLレベルで通信が行われるので、非常に高速になります。

もちろんFT232を接続したAVR基板であればArduinoのソフト(名前忘れた)から直接書きこむこともできます。ピン配置さえ合わせれば同じように使えます。
/950と安いですしね。

おすすめです!

>学校

>学校の授業は何を教えるべきなのか、と考えました。

今中学三年生の英語の授業では
ユメタンという英単語帳と英検のテキストとDUAL SCOPE(英語の参考書)を使っているそうです。
……つまり長文のテキストはないです

僕がこれを見て思ったのは
「暗記させようとしすぎ」ということです。
単語帳で単語を覚えさせられ、英検テキストでイリオムを覚えさせられ、参考書で例文を覚えさせられる。まるで詰め込み塾です。
(ちなみにDUAL SCOPEは中に色々な文(仮定法でも分詞構文でも)が出ていて、そのパターンを全て暗記させようというような作りになっています)

例年は
CROWNを使用した長文演習を通じてイリオムを学び、速読英単語で単語覚えつつ、基礎英語でリスニング力を高めつつ、ゆったりと模試に備え、「まぁ初めての模試だから」と言って軽く済ます
というのが洛星のスタイルでした。

しかし今年CROWNをやらずに英検/英単語だけ覚えさせるというのはいかがなものか。

まず「基礎を固める」という洛星の教育方針に逆らいまくっているのが一つ。
これはなぜか?

いま中学三年生の英語の担当はK馬という非常に頭の悪い教師らしいです。
洛星では初めての全国模試は中学三年生で受けるのですが、模試の成績は他学年と比較することができます。つまり質の悪い教師に教えられた中三が今のまま模試を受ければ圧倒的に低い点数になり、自分の質の悪さが露呈するわけです。
そこをどうにか変えようとしているのかなぁと思いました。

学校でここまで暗記させたところで、どうせ受験には忘れる。というか、英作文の能力とかがすごく欠けそうな気がする。
少なくとも、暗記は学校でやるものではないと思う。

学校は(仮にも)教師という名前のつく、一定の知識を(少なくとも過去には)持っていた人がいるから行く意味があるのであって、暗記するだけなら家でいいでしょう。

まぁこんなこと書くのもあの教師への元々の嫌悪感が大きいからでしょうが。

>プログラミングの経験

>最近後輩にプログラミングを教えています。

そこで今日は少し課題を出してみました。内容は、フィボナッチ数列を羅列する、です。

まず僕の作ったプログラムは

#include <stdio.h>

unsigned long a,pa,ppa;

int main(){
pa=1;//n=1
ppa=1;//n=2

printf(“%d \r\n”,ppa);
printf(“%d \r\n”,pa);

while(1){//3項目以降
a=ppa+pa;
ppa=pa;pa=a;
printf(“%d \r\n”,a);
}
}

こうなっています。

そして後輩が作ってくれたプログラムは

#include <stdio.h>
int main(){
int a;
int b;
a=0;
b=1;
printf(“1″);
while(1){
a=a+b;
printf(“%d \r\n”,a);
b=a+b;
printf(“%d \r\n”,b);
}
}

でした。

Tabによる段落分けや改行による部分分けというのは置いておいて、
僕はついつい書き換えやすいように/考え易いようにほぼ漸化式そのままでプログラムを書いてしまいました。

しかしプログラム自体は後輩の方が短いです。
書き換えにくいかもしれない、でも変数の数が少なくてメモリ使用量も抑えられていて、発想力に少し感動させられました。

どちらのプログラムのほうがうまいとは言えない、課題を出したものとして少しきまずい瞬間でした。

>世界の狭さ

>世界って狭い、とよく感じます。

僕が初めてそんな感情を抱いたのは中学3年生の時。友達と「ぷよぷよ」のオンライン対戦をした時です。

「世界中の誰かと対戦」を選択して通信を開始します。
するとどうしたことでしょう。友達と当たりました。

これが初めて世界の狭さを感じた瞬間でした。

最近はTwitterやfacebookで知り合いを見つけたり、学校の先生を見つけたり、そういう点で世界の狭さを感じます。

Internet shirink the world.

素晴らしいです

>私情

>僕の通う駿台フロンティアクラスの京都駅前校では、本日より新年度の授業が開始されました。

僕もまた新しく増えた知らない人たちの中で勉強することになります。
今日は英語の授業がありました。
この先生がすごく花粉症で……鼻をずっとズーズーいわせながら授業をしていてイライラ……
これって教師としてどうなんでしょうか?という疑問を抱きつつ今日の授業が終わりました。
また私情な話ですが、今日の駿台の授業中に友達にアンケートを取りました。
タイトルは「体操服をどのぐらいの頻度で持って帰るか」です。
結果は……

※12名に質問、部活で体操服を使わない人のみ

こうなりました。
協力していただいた方々、ありがとうございました。

真面目めな人ばかりに質問したのにも関わらず、基本的に毎日持って帰る人が50%しかいませんでした。今まで毎日持って帰っていた僕が少しばかみたいに思えてきます。

実は今日間違えて体操服を洗濯に出してしまい、朝に電車を遅らせて、その間脱水機にかけて乾かす、という非常に馬鹿な事をやったので自分の行動を見なおそうと思って質問させていただきました。

ご協力ありがとうございました。