0

ATmega168でシリアルエコー

8MHz駆動になったmega168で、UARTエコー。

シリアルコンソールで送信した値がそのまま帰ってくる。

ATMega8の時とは違って、受信割り込みに反応して返すのではなくmain()の中のループで受け取って返している。というか受信割り込みから復帰できないので。

今晩中に解決できるといいな…

SourceCode, hex, Makefile(avr-gcc 3.4.6)

Read more

0

ATmega168のクロックを内蔵8Mhzに切り替える

マルツで買ったATmega168に「avrsp -fl11100010」して、8Mhzで動かす設定に変えた。

ATMega168ATmega168 USART,LED



最初は1MHz
なのでこのままでは使い物にならないので、avrspを使ってヒューズビットのロービットを書き換えて内蔵8MHzで動かす。mega8とはロービットが微妙に変わっているので、mega8そのままではできない。

Read more

0

Arduinoボードを自作して、Flash+C#+Arduinoでフォトブラウザ作った

技術のエクササイズ、テクササイズの第9回課題Arduinoボードを作った。テクササイズのサイトはパスワードかかってますが。

Arduinoは何度も書いてるけど、Atmel ATmega8/ATmega168を使いやすくする開発環境で、基盤の仕様やブートローダーも全部オープンソースになっているプロジェクトです。

なのでArduinoボードを購入せずに、部品買ってきてゼロから自分で作る事もできる。

Handmaid Arduino-boardHandmaid Arduino-board

3時間以上かかった

オープンっていうか、RS232C-UART変換と16MHzの発振子を使うことを守れば、基本的に何でも良い。Arduinoのサイトにパーツリスト回路図があるが、今回は日本で入手しやすいパーツ(秋月や千石など。DigiKeyは小ロットだと高いので使わない)で作った。

Read more

0

ATmega168を動かしてみた

ATmega168とATmega8

ATmega168 & ATmega8

先週マルツで買ったATmega168というAtmel社のAVRマイコンを、動作チェックした。

ATMega168

ここね。秋月の通り。棚に在庫無かったので、言ったら他店舗から取り寄せてくれた。

■ATmega8→ATmega168

ATmega168はATmega8系統のピンコンパチ(28pin)の上位版。ATmega8->ATmega48->ATmega88->ATmega168という順列。

HERO’S Downloadのデータシート翻訳版をざっと見た違いは以下の通り。

・Flashメモリの容量が2倍

・全てのピンに外部入力割り込みが付いた

・PWMが6つある

・いくつかのレジスタの名前が変わった

28ピンというサイズとその機能が俺らの用途に絶妙なので、AT90S4433の頃からずっと使っている。最近のArduinoもATmega168用のブートローダがある。

「全てのピンに外部入力割り込みが付いた」は、ピンへの電気の入力ON/OFFをイベントで通知してくれるという事。ATmega8までは基本的には(INT0, INT1以外のピンは)ループの中で監視するしかなく、重たい他の処理中は信号を見ることができなかった。PCの様な高機能なマルチスレッドが無いマイコンで複雑な事をするにはとても重要な機能だ。

■動作チェック

今までATmega8を動かしていた回路にそのまま入れ替えてみた。

Read more

0

TagTube: YouTubeからタグ検索して20個表示するビデオプレイヤー

晩ご飯が遅くて目が冴えてしまったので、ノリで「TagTube」というのを作った。

サービスとしては動いてませんが、ソースコード公開しておきます。

YouTubeのflvファイルのURIは動的に変わるので、以前がんばって取得するcgiをperlで作ったのだけどまたYouTubeの仕様が変わったのでしばらくやってなかった。

んで、昨日の夜に和田さんが、「WebService::YouTube::UtilでflvのURI取れるよ」と言ってたので、朝2時に始めて4時にとりあえず完成した。たくさんのflvを再生したらどれぐらい重くなるかとか、YouTubeとのやりとりの速度が大体わかってきた。

まずインストール

cpan> install WebService::YouTube

そしてYouTubeのDeveloper IDも取っておく

せっかくだからタグ検索して、20個のflvを同時に(重いので順番に、になってしまったが)並べて再生するFlashを作ってみた。



つうか、みんなの叫びすぎ

画面はこんな感じ

TagTube

■技術的なこと

まずFlashにMiniPlayerというクラスを20個敷き詰める。そして、”oklab”や”shokai”でYouTubeのREST-APIをタグ検索して、サムネイル(jpg)とvideo_idを取ってくる。サムネイルだけとりあえずMiniPlayerの中のLoaderに表示する。

最後にCGIにvideo_idを渡すと、flvのURLが返ってくるのでMiniPlayerの中のMediaDisplayに表示する。

おわり。もう一回やる時は再起動してください。

■コード

SourceCode – .fla, .swf, .as (Flash8 ActionScript2.0)

あとXPath4AS2を使ってます。→使い方

Read more