サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
hijouguchi.hatenablog.com
いつもUSBで電源を確保していたのですが、ADCをいじっていたら「連流流れすぎ」とMacに怒られました...危ないですね。たぶん100mAは流れていないハズなんですけども...。 余談はこれくらいにして、ADCの前に今回はsleepをやっておきます。 sleep概要 sleepは文字通りavrをsleepさせて消費電力を抑えたり、あるいは電源スイッチを省略したり、さらにADC変換中にsleepにさせてADCの精度を上げる*1などなど出来ます。sleepからの復帰は割り込みを使い、sleepの種類によって使える割り込みが違います。 sleep mode一覧 mode INT割り込み TWIアドレス一致割り込み Timer2割り込み SPM/EEPROM Ready割り込み ADC割り込み WDT割り込み OtherIO (PCINT?) SLEEP_MODE_IDLE O O O O O O
最近Eye-Fiを買って撮った写真をMacに自動で転送しています.iPhotoなら問題ないのですがApertureに転送すると言うことがEye-Fiでは直接行えないので,フォルダアクションを使ってApertrureに転送するようにしてみました. ちなみに公式ではAperture Hot Folderを使用して転送する方法が紹介されています. Eyefi この方法ではApertureに転送したいファイルを取りこぼすことが頻繁に起こります. ほかの方法はAperture Folder Checkerというプログラムを使用します. Aperture Folder Checker | oblonczek.net この方法ではDockにプログラムが表示されてしまうので少し邪魔かと思います. ボクが考案した方法では,Mac標準の機能(Automator, Applescipt, OS標準でインストール
今回は外部割り込みについて。外部割り込みは、タイマ割り込みなどと違ってピンの状態によってかかる割り込みです。これを使うことにより、例えばスイッチの状態変化から、あるいは接続したモジュールから割り込みを書ける事が出来るようになります。 対象マイコン 全部(のはず) ただし、今回確認しているのはATTiny2313だけです。 外部割り込み概要 外部割り込みの種類は大まかにINTとPCINTの2種類があります。INTはレジスタによって、割り込みの起こる条件を4種類設定できるのに対し、PCINTでは1種類しかありません。またINTピンは二つくらいしか用意されれませんが、PCINTはたくさん*1用意されているようです。ピンの配置はデータシートを確認しましょう。他にINTピンだとスタンバイモードのAVRを復帰させることが出来ます。 外部割り込みに登場するレジスタを紹介しましょう。 使用しそうなレジスタ
arduinoから赤外線信号を受信、そして送信まで出来ました。 赤外LEDの無理矢理感が酷いですね。 ハードウェアはソースから察して下さい( ぷろぐらむ #define SIZE 1536 #define WAIT 250 bool data[SIZE]; bool f; void setup() { pinMode(12, INPUT); pinMode(13, OUTPUT); Serial.begin(9600); } void loop() { // データ読み取り (何かしら信号が来るまで待つ) f = 0; while((f = digitalRead(12)) == 1); data[0] = f; delayMicroseconds(WAIT); for(int i=1; i<SIZE; i++) { data[i] = digitalRead(12); if(data[i
OLEDでどうにかカラーバーを表示することに成功しました! やってることは単純で、OLEDのサイズ(96x64)まで小さくしたビットマップファイルをmbedから使いやすくするために独自のバイナリを作成して、そのデータをOLEDに流しておしまい。 ビットマップ すべてのhoge.bmpが同じモノかと思いきや微妙に違うらしく、そういった部分をどう吸収するか(あるいは切り捨てるか)は悩みどころです。詳しくはwikipediaを見てもらえば良いでしょう。 Windows bitmap - Wikipedia とりあえずファイルのヘッダから拾ってくればいい情報としては ビットマップの横幅 ビットマップの縦幅 1ピクセルあたりのビット数 先頭からのピクセルデータまでのオフセット があればほとんど問題無く扱えます。これらはほとんどバイトの位置が同じ場所に書かれてるので特に気にしなくて問題無いでしょう。一
I/Oポートの次はタイマです。ATTiny2313にはtimer0とtimer1(それぞれ8bitと16bit)のタイマがありますが、ここではtimer0のオーバーフロー割り込みに絞って書いておきます。 対象マイコン タイマ自体はほとんどが対応してますが、種類によっては使えないタイマがあるので注意が必要です。今回もATTiny2313を前提として書きます。 割り込み タイマの前に割り込みが必要になってくるので先に。割り込みにはタイマによる割り込み・外部割り込みなどがあります。これらは割り込みベクタに登録されてて、ATTiny2313には21個あるようです。割り込みを使うにはinterrupt.hをインクルードします。 割り込みが使えるようになるには 割り込みハンドラ作成ISR(SIG_NAME) 使用する割り込みをレジスタで許可 全割り込み許可sei() をやっていくことになります。因みに
Railsを使わないでActiveRecordを使うようなコードを書いてみました。 require 'rubygems' # 無くても良い場合有り require 'active_record' # データベースの設定 ActiveRecord::Base.establish_connection( :adapter => 'sqlite3', :encoding => 'utf8', :database => 'db.sqlite3' ) # テーブル作成 railsのdb/migration/に近い書き方 ActiveRecord::Base.connection.create_table("foos") do |t| t.string :hoge t.timestamps end # モデル設定 railsのapp/modelと全く同じ class Foo < ActiveRecor
どうにかUbuntu 9.04からemobileを使えるようにできたのでメモ。 $sudo pppconfig Main Menu Create Provider Name emobile DNS Static IP number(primary) IP number(secondary) Authentication PAP User Name em Password em Speed 115200 Pulse or Tone Tone Phone Number *99***1# Model Port /dev/ttyUSB0 Properites of provider Finished とそれぞれ入力したり選択したり。設定が終わると /etc/ppp/peers/emobileというファイルが作成されて # This optionfile was generated by pppco
ちょっと調べ物をしていたはずなのに気が付いたら2時間過ぎてるという残念な事が頻繁に起こっていることが発覚しました。と言う訳でgrowlに時報を表示させるようにしました。 */15 * * * * /usr/local/bin/growlnotify -n time -t "`date '+\%H:\%M'`" -m "`date '+\%H:\%M をおしらせします。'`" >/dev/null 2>&1 これをcronに登録。上では15分ごとに表示されますね。 これならgrowlに気が付いたら時間が分かりますね。邪魔なときはgrowlを無効にすれば良いですしね。(おそらくgrowl自体が邪魔な場合でしょうし) 話は変わって。サーバーを久しぶりに開腹したところ、埃が...。それはエアダスターでやっつけ。 開腹した理由はどのファンが煩いのかを調べたからです。調べてみるとCPUファンの回転数が
今日はObjective-Cのメモリ管理の復習をしてました。自分がよく扱ってる言語はRuby, Javascript。これらはGarbage Collectionとかあるのでメモリはあまり考えてませんでした。C言語をちょっとやってたときも、mallocとかほとんど使わなかったので無関係な感じでした← (メモリのことを考えてないといろいろまずいですね) ちなみにObjective-C 2.0では一応Garbage Collectionあるみたいですが、iPhoneでは使えないし、どうやら動作がちょっと鈍くなるらしい?のでなるべく使わないでいってみようと思います。 参考にしたところ こたつつきみかん » NSAutoreleasePool Memory Management of Cocoa Cocoaでいこう! Macらしく 第10回 autoreleaseされたオブジェクトはいつ解放される
map関係のメモ。 nmap, imap, vmap, cmap, omap がそれぞれノーマルモード、インサートモード、ビジュアルモード、コマンドライン、オペレータ待機モードのmap オペレータ待機モードはd, y, cの後に待機してるときのモードみたい。 onoremap " i" とかやるとd", y"等がdi", yi"になる。d", y"等をそれぞれnnoremapしなくて済む。 map, map! この二つが上を組み合わせたものでmapがnmap, vmap, omap。 imap!がimap, cmapと同義。(ということでHJKL慣れしたいならmapとmap!を使うべきみたい。) xmap, smap ちょっと特別、xmapはビジュアル、smapはセレクトの時のモード。vmapは厳密にはxmapとsmapの両方みたい。とりあえず使う機会はそんなに無いかな? mapとnore
このページを最初にブックマークしてみませんか?
『hijouguchiのブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く