So-net無料ブログ作成
検索選択
前の10件 | -

おにぎりは「にっぽんのピロシキ」です! [ロシア文化・日本文化]

 これまた先日、ロシア語の先生とふとした会話から、「おにぎりってなんて説明するんですか?」という話題になりました。

 すると、先生のお薦めの表現は「японские пирожки(日本のピロシキ)」でした。

 おにぎりの米は、ピロシキの生地に相当すると考えることが出来るし、その中に入れられている具も様々な種類があるし、まさに「おにぎりはピロシキとおなじ」とのことでした。
 この表現だと、ロシア人はみんな「ああ、なるほどね!」と理解できるそうです。

 ちなみに、英語からの発想で「ライスボール」などと説明してもまったく理解できません、とのことでした。(^^;
 「米のボールってなによ?(?_?)」ってなるそうです。

(ロシア語)「生格の落とし穴」この形容詞はどこにかかる? 文章の構成について [ロシア語]

今回は、ずーっと私自身がハマっていた生格の落とし穴についての報告です。

   まず、この文章…
(1)Я читаю учебник русского языка. 
   私はロシア語の教科書を読んでいます。
   "учебник"(教科書)に、русский язык(ロシア語)の生格がくっついています。 

   Я  читаю учебник     русского языка.
   主格 動詞  対格(不活動)  生格    生格
   特に問題なく理解できると思います。


   で、問題は次です。

(2)Я читаю учебник русской литературы. 
   私はロシア文学の教科書を読んでいます。
   Я  читаю  учебник    русской литературы.
   主格 動詞  対格(不活動)  生格    生格


 ここで(1)と(2)に違いがあります。
 (1)はруссккого、(2)русскойになっています。

 注意するのは「(2)のрусскаяが直接に修飾しているのは、литератураであって、учебникではない」のです。
RIMG0017.JPG
 混乱しやすい理由は、「русская литератураをひとつとして捉えてしまうと、これはучебникを修飾している」、とも捉えられるので、ついついрусскаяを男性名詞の形容詞の変化であるрусскогоに間違えてしまうのです。

 ここは、私が間違っていたポイントなんです!
 そもそもこの間違いやすいポイントを解説している文法書があんまりなかったりします…
 (ひょっとして、ここはみんな間違わないんでしょうか?)

 たとえば、これ。
 Я  читаю  русский    учебник. 私はロシアの教科書を読んでいます
 主格 動詞  対格(不活動)  対格(不活動)
 こちらは対格が使われていて、文章の構成が今までと違っています。
 この例文のあとに…

 Я читаю учебник русского языка. 
 こんなのが出てくると、русскогоは、языкではなくつい、учебникを修飾していると勘違いします。

 この順番で解説されると…まず、確実に間違います。
 私は、長い間理解できませんでした。
 気をつけましょう!

 実は…、最近発売された黒田龍之助さんの「初級ロシア語文法」で、私の場合、これが今まであやふやだったことに気が付いたんです。


初級ロシア語文法

初級ロシア語文法

  • 作者: 黒田 龍之助
  • 出版社/メーカー: 三修社
  • 発売日: 2012/01/25
  • メディア: 単行本(ソフトカバー)



 最初、思いっきり正攻法なタイトルだったので、本屋さんの店頭で黒田さんの本であることに気が付かず、Amazonで検索して気が付いたんです。

 で、よくよく内容を細かく見てみると、今回のようなハマるポイントがいくつも解説されています。しかも、口語調なので読みやすくなっています。
 ただ表紙と、ページを開いてぱっと見た時の印象が地味なので、黒田さんが書いた本ではないと思い込んだり、他の本との違いが判らなかったりします。
 値段もちょっと高めの3300円くらい、ページ数も400ページあるので価値はありますが、それに見合う価値はあると思います。

 NHKの「新ロシア語入門」は途中で飽きてしまいましたが…この本は、間違いなく毎日勉強できる本に仕上がっています。

 黒田さんの前書き(この本小説のような前書きがあるんです!)によれば、最後まで読み通せるようにしたとのことです。後書きもありますが…まだ読んでいません。(^^;;


モレスキンのノートって不思議、自分の「思考のアーカイブ」になる。 [失敗談ほか]

 今回はモレスキンのお話です。

 先日購入したノートは、不良品でしたが、すぐにモレスキンが対応してくれたおかげで、結局自分のところに新しいノートが一冊増えてしまいました。

 で、このモレスキンを使っているうちに、気が付いたんです。
P2012_0223_195206.JPG
 このノート、自分の関心事や重要な事柄を書き込んでいくうちに、自分の「思考のアーカイブ」になるんです。
 情報だけじゃなくて、自分がどうしてその情報について、価値判断したか、とかの道筋を追えるんです。
 PCやスマートフォンやiPadのまっさらなフォントだけでは、記録できないものが記録できるんです。
 そもそも、いつもPCやiPadを持っていられる人なんて、実際には、限られた人だけです。
 他の人と会ったり、打ち合わせをしたり、交渉に出向いたり、さらには海外に行ったりするとPCって意外にもジャマなんです。(必要なものなんですけどね)
 しかも、PCに残せる情報って意外や意外、比較的最近のものばかりなんです。
 ちょっと古い情報はあっという間にアプリケーションで開けなくなったり、持ち運んで使っているノートPCではパワー不足で実質的に使えなかったりするわけです。
 さらに、いろんな分野の仕事に関わっていると、PCに残せない『感覚的なモノ』が多かったりします。(デザイナーなどのクリエイティブな仕事に就いている人は特に)

 しかも大抵のノートは、あちこちに持ち運んで使おうとすることを考えていないはずです。
 手でノートを持ち歩くと、品質の高い日本製でも、表紙が手垢で汚れたりしてカッコワルイ。自分には重要でも、人前には出したくありません。
 たぶん、そもそも一般的なノートって学生が鞄に入れて家から学校に移動して、授業に使って、また鞄に入れて……塾に行ったり、家に帰ったりして、また机の上で開いて……という使い方を想定しているんでしょう。
 でも、私のようにあちこちに持ち歩いて使う人――手で持ってあちこちの部屋をうろつき廻ったり、電車の中、膝の上のトランクの上で開いたり、打ち合わせで膝の上でノートを開くなんて人――には、普通のモノではダメなんだと思います。
 しかもある程度、情報が書き込まれて、「ああ、このノートなんか良い感じ」と思っていたりすると、ぷつっと残りのページが終わったりします。じゃあ、分厚いノートにして、さらにカバーをして使おうと思うと、今度は手触りがカバーでしっくりこなかったり、重くなったりして最後まで使えません。

 で、モレスキンのハードカバーってすごく出来が良くて、汚れにくいし待ちやすいし、ノートのページ数も絶妙なんです。細かいところには不満なところもいっぱいあるけど、必要な部分はきっちりと押さえている感じです。

 なるほど、世界中で愛されるって、わかるわぁ。
 (ただし、行儀の良い使い方をするならば、日本のノートは使いやすいです)

 いろんなノートを使ってみたんですけど、書き込んでいくと、半分くらい行った時に、なんか書き込むことがイヤになってやめてしまった事ってありませんか?
 そこに書き込んである情報は、それなりに大切なのに、なぜかページをめくりたくない。
 他にも仕事中ならノートを開くけど、自分の時間(たとえば、家でくつろいでいる時とか、寝る前とか)には開きたくない、なんてのが多くありませんか?
 わたし、そんなことばっかりでした。
 3分の1くらい使ってほったらかし、半分使ってほったらかし、そんなことばっかり。
 なんか、うまくいかないなぁ、って感覚があったんです。

 で、モレスキンだと、それがない。

 表紙が汚れてみすぼらしくなることもない、ページがバラバラになることもない……今までのノートって、メモの延長線にあって、ある程度時間がたったら廃棄、みたいな感じですが、モレスキンはそれがないんです。
 しかも、自分の(そのときの)情報だけでなく、考え方や感じ方まで記録される「自分の思考のアーカイブ」に育つんです。場合によっては「自分の思考のアルバム」にもなります。

 あ、これはすごい、って思いましたね。
 
 もし、私のようにノートの3分の1しか使えない人は、一度モレスキンのハードカバーを使ってみてください。ページの半分を超えることが出来たら、それまであなたの思考をジャマしていたのはノートそのものの作りです!
 使ってみてください。
 買うのに勇気がいりますけど、使ったら後悔はしません。
 (私は買うかどうか、店先で一時間近く悩みました)
モレスキン http://www.moleskine.co.jp/


MOLESKINE モレスキン スクエアードノートブック・方眼・ラージ

MOLESKINE モレスキン スクエアードノートブック・方眼・ラージ

  • 作者: MOLESKINE
  • 出版社/メーカー: カファ
  • 発売日: 2008/09/01
  • メディア: 単行本



モレスキンのノートで不良品にあたる… [失敗談ほか]

ロシア語の勉強(特に自習用)にモレスキンのノートを使っています。
あえてこの高価なモレスキンを使うことで、うまくいかなかったら自分が悪い、ってことにしています。
かつて、仕事でもプロ用の高価な機材を使って、絶対に機材のせいに出来ないようにしてスキルアップを図ったことがありました。こうすれば、自分自身としては機材などの不安要素はなくなるので中身に集中できるし、うまくいかなかった時でもその結果に納得することが出来ます。

で、ノートも普通のやつを使ったりしていたのですが、なんかしっくりこない…で、モレスキンにしてみたのですが…万年筆には向いてないこともあって、なんか期待していたほどでもない。でも、タフなので確かに使いやすいところもあって、それなりに気に入ってきたところ…

不良品でした…
image.jpeg

ハードカバーのスクエアード(方眼は筆記体が書きやすいのです)のラージサイズなんですがページをめくったら、白紙になってました。

力が一気に抜けました(^^;;
調べると全部で4ページありました。

モレスキンのホームページからクレームいれましたが、もうなんていうか、自分の思考がモレスキンにジャマされたイメージになってしまいました。
こんなこともあるんですね(^^;;


※すぐに丁寧なお詫びと、さらに点検した良品を送ってくれるとの連絡がありました。(^◇^)
 使っているノートは、そのまま手元に残して良いとのことで、安心しました。
 きちんと対応してくれるので安心です。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:学問

(ARDUINO)ARDUINOに接続したプリンターでロシア語を印字する [arduino]

 せっかく、キリル文字が印刷できるプリンターを手に入れたので、ロシア語の勉強に役立てられないかと思って、「ロシア語メモ書き印刷プリンター」なんてものを作ってみました。

 外見はこんな感じで、東急ハンズで525円で買ってきたハガキ整理用のボックスにプリンターを組み込みました。
P2012_0209_225810.JPG

 中を開けると、XBEEシールドをつけたArduinoが一個だけ入っています。
 5VのACアダプターから電源をもらい(要するにACアダプターからの+電源をArduinoの5V端子へ、-をGNDに配線し)、XBEEシールドでは、ソフトシリアルで9600BPSで受信したXBEEからのデータを、今度は1番ピンからプリンターのRXへ19200BPSで送っているだけです。(ACアダプター端子の処理がめんどくさかったので、とても適当な処理をしています。とりあえず固定用リングが入らなかったので、テープで接触してショートしないようにしていたりします(^^;;;)

 P2012_0209_225556.JPG
 写真が見えにくくてすいません。
 Arduino
 デジタル0番--->プリンター TX
 デジタル1番--->プリンター RX
 GND   --->プリンター GND
 と接続しています。
 XBEEシールドは、デジタル2番と3番を利用するようにスイッチを設定しています。
 Arduinoの電源は、ACアダプターから分けてもらった、5V端子とGNDに差し込んでいます。
 電源については、1.5A以下のACアダプターではプリンターが動作しませんので注意が必要です。

 XBEEはシリーズ2PROのPCBアンテナタイプです。
 ひとつをコーディネーター、もう片方をルーターとして(両方ともATコマンド版)として使っています。
 ※プログラマブル版ではないので、SPARKFUNのXBEEシールドでも正しく動作します。


 またArduinoは、XBEEから「シフトJIS」のキリル文字のデータを受信した場合、プリンター用のキリル文字のキャラクタコードに変換もしています。
 ロシア語が必要ない人にとっては、別になくても良い機能です(^^;;;

 XBEEを使っているので、電源コード意外の配線がないので、とてもすっきりとした外見です。とても控えめなプリンターです。
P2012_0209_225645.JPG
 とりあえず、ざっくりとDELPHIで作った自作ターミナルソフトを起動して、XBEEエクスプローラ経由でプリンターへデータを送ると……
P2012_0209_230130.JPG

 こんな感じで、印刷されます。
P2012_0209_225528.JPG

 こんなんで役に立つのか? と思ったんですけど……
 意外や意外、ちょっとした空き時間にぴろぴろーん、とレシートを広げて文章とかチェックできるので、面白いです。通勤時間にバスを待っている間に、ぴろぴろーんと広げたり、お昼のラーメン食べている時に片手で広げて読んだりも出来ます。
 普通のプリンターって意外と大型化されてしまって、A4とかで印刷すると見る時もめんどうだったりするかもしれませんが、レシートくらいの大きさだと意外となんでもないですね。

 イーサネットシールドと合わせたりすると、定期的にロシア語のサイトを印刷したりとか面白いことが出来るかもしれません。

 ただ……日本語を使おうとすると、さすがに日本で販売されているプリンターが必要になると思いますけど、6万円くらいするので高いんですよね。
 さすがにそこまでは……(^^;;;;;

 私の場合、送信側に自作のターミナルソフトを使いましたが、その理由は大きな文章を送ろうとするとArduinoとプリンターの間ではフロー制御をしていないので、あまり大量のデータを送ったりすると印字が間に合わず、データを取りこぼしてしまうので、文字が化けて印刷されてしまいます。
 なので、ターミナルソフト側で、テキスト一行を送信するごとに、0.5秒くらいのウェイトをかけて次の印刷処理に移るようにしています。
(こんな事を載せても……いったいどれだけの人の役に立つかは判りませんが……(^^;;;)


 でも、XBEEでの印刷はかなり良いです。
 何かのデータやログを離れたところに置いたプリンターで打ち出せるのは気持ちいいです。


参考までにスケッチも載せておきます。
---------------------------------------------------------------------
#include <NewSoftSerial.h>

NewSoftSerial s2(2,3);

int flg=0;
int ff=0;
int a;

void setup()
{
  Serial.begin(19200);
  s2.begin(9600);
  pinMode(13,OUTPUT);  
}


void loop()
{
  if (s2.available() >0)
    {
     a=s2.read();

     if (ff == 0 && a<=0x80)
       {
          Serial.print(char(a));
       }
     if (ff==2) ff=1;        
     if (a==0x84 && ff==0) ff=2;        
     if (ff ==1)
       {
         ff=0;
         a=conv_k(a);
         Serial.print(char(a));
       }         

     flg=1000;
    }

 if (flg >0)
  {
    digitalWrite(13,HIGH);
    flg--;
  }
  else
  {
    digitalWrite(13,LOW);
  }    
    
    
}



int conv_k(int a)
{
          int b='?';
         //АБВДЕ
         if (a >= 0x40 && a<= 0x45 ) {b=a+0x80;}
         ////Ёё
         if (a == 0x46 || a== 0x76) {b=0xB8;}
         if (a>=0x47 && a != 0x76 && a<0x70) {b=a+0x7F;}

         ////////фбв
         if (a >= 0x70 && a<= 0x75 ) {b=a+0x70;}
         if (a>=0x77 && a<=0x7F) {b=a+0x6F;}
         if (a>=0x80) {b=a+0x6E;}
return b;
}



(ARDUINO)ARDUINOにプリンターを接続する [arduino]

今回は、Arduinoに超小型プリンターを接続して使います。使うのは、レシート用紙を使うサーマル・プリンター(熱転写プリンター)です。
 液晶ディスプレイではどうしても情報量が限られますし、マイクロSDに記録してもパソコンがないと結果を把握できないし……簡単に情報を閲覧できるのはなにか?と考えると「プリンター」という結果にたどり着いたのです。
 しかも、熱転写式ならインクジェットみたいにウォームアップがいりません。インク切れに脅える必要もありません。(熱転写式は、実際には熱に弱い欠点がありますけど)
 それで、このプリンターを入手したのです。
 CIMG0183.JPG
 Arduinoと並べると小ささが判ると思います。
 海外のサイトで売られている熱転写プリンター(中国製)です。
 http://www.adafruit.com/products/600#tutorials

 このプリンター、いろいろと探していて見つけたもので、輸送費(いちばん安いヤツ)込みで1万円以内(およそ77USD)で買える価格だったのですぐに注文しました。(先ほどのAdafruitのサイトから購入しました。今回は注文してからおよそ10日ぐらいで届きました)
 SPARKFUNにも同等のプリンター(COM-10438:端子部分など若干違いがあります)がありますが、どちらのプリンターにしても電源は5V〜9Vの1.5Aなので、パソコンのUSB電源では足りないので動かせません。別に電源が必要になります。
 今回、ACアダプターを別に買ったりするのも面倒なので、一式全部そろった「スターター・パック」を注文しました。

 単純に印字するだけなら、19200BPSでテキストを送信して、最後にLF(0x0A)を送信すれば印字してくれます。

 CIMG0187.JPG
 極端な話、Arduinoに適当にBlinkでも入れて(動作のジャマされないようにして)、こんな感じでArduinoのデジタルポートの0番とプリンターのRX、GNDとプリンターのGNDを配線して(これでパソコンからの信号がプリンターに直接届くようになります)、IDEのシリアル・モニターの改行をLF、通信速度を19200BPSに設定してしまえば、IDEから送った文章を印刷してくれます。
 これだけでも、もう小さなタイプライターが出来上がってしまいます。


 またAdafruitに、各種機能を簡単に使えるライブラリーもありますので、それを使うのも良いでしょう! ただし! このライブラリーには注意すべきことがあります!
 Adafruitのサイトで紹介されているライブラリーは統合開発環境Arduino1.0ではエラーとなって動きません。
 さらに、指定のURLからライブラリーをダウンロードすると、「adafruit-Thermal-Printer-Library-736bc98.zip」というファイルになりますが……
 Arduinoのライブラリーに入れる場合、フォルダをこの長いファイル名したのではダメなのです。
 「Thermal」という名前にしないとダメなんです。めんどくさいですね(^^;;;;

 SPARKFUNのHPにも資料がありますので、http://www.sparkfun.com/datasheets/Components/General/Driver%20board.pdf、こちらを参考にしても良いと思います。

 CIMG0184.JPG

 印字速度もレシート用だけに速いです。
CIMG0186.JPG
 縦倍角、反転とか、いろいろありますし、バーコードも印字できます。
 さらにはキリル文字対応ってのがすごいです。
 簡単なグラフィックも印字することは出来ます。

 しかし! カタカナやひらがな、日本語には対応していません。

 でも、とにかく簡単に使えるのでArduinoでプリンターを使いたいって方にはお勧めです。

 ちなみに、付属したレシート用紙の大きさは幅58ミリ、外径35ミリ、内径(芯)12ミリのものでした。用紙については、外径38ミリまでは大丈夫との事です。


※後日追加:Arduino1.0用では、こちらも参考に出来ます。
http://bildr.org/2011/08/thermal-printer-arduino/

(ARDUINO)ATtiny85を8Mhz動作でプログラムする [arduino]

 今回はATtiny85を8Mhzクロック動作にして、統合開発環境Arduino1.0でプログラミングしてみます。

 8Mhz動作にすると、SoftwareSerialが使えるのが大きいです。
 もちろん、シリアルのprint構文なども使えるようになります。

 するとこんな感じに、LEDを点けるだけでなく、シリアル接続の7セグLEDを使えたりします。

CIMG0182.JPG
(※シリアル接続のLEDは、SPARKFUNのCOM-09230という旧タイプ、現在はCOM-09764という新しいタイプになっています。電源は乾電池2本で5Vを出力する電池ボックスPRT-08249です)


 かなり表現範囲が広がるので、いろいろなことが出来るようになります。

 では、肝心の設定に参りましょう!

■8Mhz動作への切り替え
(1)ArduinoとATtiny85をプログラムする時と同じように結線する。
(2)Arduino1.0を起動する
(3)Arduino1.0の[Tools]から[Boad]と進み[Attiny85(internal 8Mhz clock)]を選択
(4)Arduino1.0の[Tools]から[Programmer]と進み、[Arduino as ISP]を選択
(5)Arduino1.0の[Tools]から[Burn bootloader]を選択

 ただし、ここでブートローダを書き込んだとしても、シリアル通信でATtiny85をArduinoのようにプログラムすることは出来ません。
 この手順によって、ATtiny85は8Mhz動作になるようにヒューズ・ビットが設定されるだけです。ですので、プログラムする時は相変わらず、ArduinoISPなどの外付けのISPが必要です。

 後はいつものようにプログラムをして、Attiny85(internal 8Mhz clock)に書き込むことが出来ます。
 もちろん、ソフトウェアシリアルは使えます。
 テストのために、サンプルのBlinkをAttiny85(internal 8Mhz clock)として書き込んでみてください。きちんとヒューズ・ビットの設定が出来ている場合には、一秒間隔で正しく点滅しますが、もし1Mhz動作のままならば、8秒くらいの長い間隔で点滅してしまいます。


■1Mhz動作への切り替え
(1)ArduinoとATtiny85をプログラムする時と同じように結線する。
(2)Arduino1.0を起動する
(3)Arduino1.0の[Tools]から[Boad]と進み[Attiny85(internal 1Mhz clock)]を選択
(4)Arduino1.0の[Tools]から[Programmer]と進み、[Arduino as ISP]を選択
(5)Arduino1.0の[Tools]から[Burn bootloader]を選択

 こうすることで、1Mhzの動作の設定に戻すことが出来ます。


※一度、8Mhzクロックにすれば、以降はずっと8Mhzで動作しますので、書き込むたびに設定する必要はありません。


※今回はなぜか、Arduino1.0のArduino ISPでなぜかプログラムがうまく書き込めませんでした。それで、ArduinoIDEの「IDE-0023」を起動し、そちらのArduinoISPを書き込んで使いました。書き込んだ後は、Arduino1.0を立ち上げ直して、そちらで作業しました。なにかまだISPに問題があるのかもしれません。

 わかり次第報告します。

------------------------------
(追加)
2012/2/6
ShooさんからUNOについての情報が寄せられました。
Arduino Unoのブートローダー(Optiboot)に問題があるので、それをOptifixに変更することで、ArduinoISPを使えるようになるとのことです。
------------------------------


※今回使ったスケッチ
#include <SoftwareSerial.h>  // ライブラリの導入

#define rxPin 1
#define txPin 2

SoftwareSerial MS =  SoftwareSerial(rxPin, txPin);
int b=0;

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */

void setup() {                
  // initialize the digital pin as an output.
  // Pin 0 has an LED connected on most Arduino boards:
  pinMode(0, OUTPUT);     
  MS.begin(9600);    // スピードを設定
 MS.print("w");
 MS.print(char(0));
 MS.print("z");
 MS.print(char(10));



}

void loop() {
  digitalWrite(0, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(0, LOW);    // set the LED off
  delay(1000);              // wait for a second

if(b<1000){ MS.print("X");}
if(b<100){ MS.print("X");}
if(b<10){ MS.print("X");}
 MS.print(b);
 b++;
if (b>9999){b=0;}
}



(ARDUINO)ARDUINO UNOで、ATtiny85をプログラムする [arduino]

開発環境(IDE)もArduino 1.0となりましたので、これとUNO(R3)を使ってATtiny85を、プログラミングしてみました。
(今回は8MHz動作のテストは行っていません。それについては、後日報告します)

CIMG0178.JPG
 参考にするのは、こちらProgramming an ATtiny w/ Arduino 1.0(http://hlt.media.mit.edu/?p=1695)です。


 では、順番にいきましょう。

1.必要な物(ハードウェア系)
(1)arduino UNO
(2)ATtiny85
(3)ブレッドボードとジャンパワイヤー
(4)抵抗(110Ω~120Ωくらいに出来るもの)、このほかLEDを動作させるための適当な抵抗もあるとOK。
(5)LED1個

 これらを使ってこのように配線します。

ArduinoISPtoATtiny45_85LED.png

 ※ここで忘れてはいけないのは、プラスの5V電源を110~120Ωに通し、それをRESETの端子に接続しておくことです。こうしてリセット機能を無効にしておかないと、Arduino ISPが正しく機能しません。

CIMG0179.JPG

 ※また、参考HPにあるように、10μFのコンデンサをRESET側に+、GND側に-を接続してもリセット端子が無効に出来ます。


ハードウェア系は以上です。

2.必要な物(ソフトウェア系)
(1)統合開発環境IDEの「Arduino1.0」
(2)ATtiny85書き込み用の設定ファイル(https://github.com/damellis/attiny/zipball/Arduino1)
 ここで入手したdamellis-attiny-6bff522.zipを展開し、中身をArduinoのスケッチが保存されているディレクトリの「hardware」フォルダに移動します。
 ※もし「hardware」フォルダがない場合は、新たに作成してください。


3.ATtiny85へのプログラムの書き込み

(1)UNOに「Arduino ISP」のプログラムをインストール
 IDEを立ち上げて、[File]-[Examples]-[Arduino ISP]と進むと、ISP用のスケッチがどーんと開きますのでこれをUNOに入れてください。
(2)BORDの設定は、ATtiny85のインターナルの1MHz、もしくは8MHzを選択します。なお、今回のやり方では8MHzでは正しく動作しません。ヒューズ・ビットが1MHz動作のままになってしまっているからです。
(3)通信ポートは、UNOと同じポートを選択してください。
 あとは、プログラムの作成をして、UPLOADすればOKです。

 使えるのは、以下のコマンドです。
pinMode()
digitalWrite()
digitalRead()
analogRead()
analogWrite()
shiftOut()
pulseIn()
millis()
micros()
delay()
delayMicroseconds()
SoftwareSerial (has been updated in Arduino 1.0)
※なんと、ソフトウェアシリアルが使えるようですね。
でも、これはヒューズ・ビットを正しく8MHz動作に設定出来たときに使えます。
今はまだ使えません。


 また、相変わらず……
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
 このようなエラーは出ます。でも、このエラーが出ても問題なく書き込まれていますので、ご安心ください。


 参考までに、サンプルとしてブリンクならば以下のようになります。

------------------------------------------------------------------

void setup() {
pinMode(0, OUTPUT);
}

void loop() {
digitalWrite(0, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(0, LOW); // set the LED off
delay(1000); // wait for a second
}

------------------------------------------------------------------

参考までに、ピンの配置は以下の通りです。
ATtiny85.gif


さて、ここまで来て問題なくUPLOAD出来れば手放しで喜べるのですが……どうも、うまくいかない場合があります。

 で、解決策として私がやってみたものは以下の通りです。
(1)UNOのリセットボタンを押してから、アップロードしてみる。
(2)パソコンから、一度UNOのUSBケーブルを外して、つなぎ直してアップロードしてみる。
(3)IDEのArduino1.0を終了し、もう一度起動してから、アップロードしてみる。
(4)ボードの選択をインターナル8Mhz動作に設定していたならば、インターナル1Mhzに設定し直してアップロードしてみる。(※ヒューズ・ビットが正しく設定出来ていないかもしれませんから)
(5)ATtiny85を上から指でブレッドボードに押しつけてアップロードしてみる。
 ※ATtiny85はピンもとても華奢なので、きちんとブレッドボードに刺さっているかを確認してください。(意外にも結構これが原因だったりします)

 これらの対応で、なんとかアップロードが出来ます。

 一度書き込んでOKだったのに、二度目以降が失敗続き、なんてこともあるようです。
 これは、抵抗の値を変えても、抵抗をコンデンサに変えても、変わらないようです。

なお、 近いうちに、8MHz動作について報告する予定です。

XBEE S2Bで失敗、SPARKFUNのシールドで動かない。 [arduino]

 Arduinoでちょっと調子に乗ってしまった私ですが……失敗してしまいました。
 Xbeeのシリーズ1が思いのほか使いやすかったので、シリーズ2のZIGBEEに対応した物に手を出して、さらに、注文時に間違って、プログラマブルを買ってしまったのですが……
 落とし穴がありました……。

 まず購入したのはこれです。
P2012_0116_221414.JPG

XBEE PROのS2BのPCBアンテナ(シリーズ1のチップアンテナモデルに相当するもので、外付けアンテナがいらないタイプ)の、プログラマブル・モデルです。

 で、こんなめんどくさいのプログラム出来るはずがありません。
 開発環境そろえるだけでも、面倒です。
 ちょっとWEBを検索しただけでも、初心者が参考にできるサイトはほとんどなく……まいりました。
 なにせ、プログラムを組み込んでいないと、最初に出てくるのが、メニューです。
 アップロード、バージョン情報の確認、バイパスモード、アプリケーションのバージョン情報の確認とかです。
 とりあえずX-CTUで、ターミナルから半角のBを打ち込んでバイパスモードにして、コーディネーターのAT版とルーターのATコマンド版にしてみます。(パラメーターはとりあえずデフォルトにして、最低限のPANIDと、通信先IDだけを変更しました)
 やっぱり、最初にメニューが出てきます。
 いろいろと調べてみましたが、ATコマンドなどでただのXBEEとして使用する方法はありません。
 とにかく起動したら最初に有無を言わさず「B」の半角英数を一個送信して、バイパスモードにすればよいので、まあ、これくらいならしょうがないかと思っていたら……

 まだ、落とし穴がありました。
 SPARKFUNが出しているXBEEシールド(画像・左)、こいつに組み込むと動作しません。
 電波は受信出来ているようなのですが、肝心のデータが取り出せない感じです。
 で、SPARKFUNのサイトをみたら、案の定、一部のXBEE(シリーズ1のPROの一部、日本ではまだ使用出来ない、見通し通信距離が3キロを越えるとんでもない高出力タイプ)で動かないことが報告されています。なんでも、どこかに配置されているコンデンサが悪さしているとか、していないとか、しかし、解決方法はいまいちはっきりしません。

 念のため、手元にあった純正シールド(画像・右)に差し替えてみたら、あっさりと正常に動作します。

 P2012_0116_221100.JPG

 もう、愕然としました。
 さらに、SPARKFUNの「エクスプローラ5Vマイコン用(SFE-WRL-09132)」を使ってみても正常に動きません。がっくりです。
 「XBeeエクスプローラUSB(SFE-WRL-08687)」の方は問題なく使えるだけに、ショックでした。とりあえず、長距離通信が必要になった時の中継ポイント用として使うことを考えています。

 SPARKFUNを重宝していただけにショックでした(^^;;;;。
(ただ、最近、SPARKFUNの商品でいろいろと痛い目を見ているので、警戒もしています。シリアル接続で使えるJPEGカメラの撮影サイズが変えられなくなっていたり、ノキアのカラー液晶のシールドが、ライブラリーではうまく動作しないので自分で変更する必要があったりします。なんかコワイですね)

 シリーズ2に挑戦してみようかという方がいましたら、気をつけてください!
プログラマブル・モデルは、このシールドでは動きません。
(その後、普通のXBEE PRO S2Bを入手して確認したところ、プログラマブルでなければ問題なく動作します)
 プログラマブル版をSPARKFUNのXBEEシールドで使おうと計画している方がいましたら、ダメです!動きません!

(ロシア語)映画「戦争と平和」 [ロシア語]

 国家事業として当時ソ連で撮影された、「戦争と平和」がNHK・BSプレミアムで放送になります。
 なんでも、ロシア語の先生からも、小説で読むのが大変ならばこの映画を見なさい、とまで言われた小説に忠実な作りの超大作らしいです。ということで実は、私もとても期待している放送です。

 知り合いからの情報で、昨年にNHKがロシアからこの映画のフィルムを国内に持ち込んでハイビジョン放送に向けて準備しているというのを聞いていたのですが、なかなか放送にならずヤキモキしていたのです。
 ただ、残念なことは、デジタルリマスター作業につきものの「デジタル技術での修復作業」が行われなかったそうです。映画界では、修復作業に否定的な人たちもいるので、ロシアからも「(映像の改変につながりかねない)修復作業はまかりならん」と言われてしまったのか……それとも最近の不景気でNHKにそれだけの予算がなかったのか……かなり残念です。NHKなら、アーカイブとかも持っているのだから、デジタル修復も出来ただろうに……

 とはいえ、放送があるのはありがたい!!


 1月30日(月)22:00~第一部
 1月31日(火)22:00~第二部
 2月 1日(水)22:00~第三部
    1日(水)23:22~第四部

 とにかく、長いので、録画の準備を忘れずに!!

前の10件 | -
メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。