日記

[HOME] [画像] [] [] [検索]
過去ログ 2004年07月 08月 10月 
2005年01月 08月 10月 11月 12月 
2006年01月 02月 03月 04月 05月 06月 07月 08月 09月 10月 12月 
2007年01月 02月 03月 04月 05月 06月 07月 08月 09月 10月 11月 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月 09月 10月 11月 12月 
2013年01月 02月 03月 04月 05月 06月 07月 08月 09月 10月 11月 12月 
2014年01月 02月 03月 04月 05月 06月 07月 08月 09月 10月 11月 12月 
2015年01月 02月 03月 04月 05月 06月 07月 09月 10月 11月 12月 
2016年01月 02月 03月 04月 05月 10月 
2017年01月 

Arduinoインターバルタイマー 2012, 02, 29, (水)
Arduinoインターバルタイマー
http://hpv.cc/~maty/pukiwiki1/index.php?Arduino%2FPENTAX%A5%B1%A1%BC%A5%D6%A5%EB%A5%B9%A5%A4%A5%C3%A5%C1CS-205


Arduinoピン設定用ソースコードジェネレータ
http://jp.makezine.com/blog/2011/11/arduino_configlator.html

GUI configurator for Arduino
http://n.mtng.org/ele/arduino/arduinoconf-j.html



CLCD-PLUS
http://www.microfan.jp/shop/102_285.html

CLCD-PLUS 文字液晶ミニシールド
http://www.microfan.jp/plus/clcd-plus





DDSの設定値の計算 2012, 02, 24, (金)
http://jg1ead.web.infoseek.co.jp/oldlog/bbslog20070515.html

JA4FZQ いとう - 2007年04月01日 18時53分
: re:DDSについて(続き)

かつて「自作よもやま話」に書き込んだ文書をまとめたものが
見つかりましたので、アップしておきます。ご参考になりますかどうか?

DDSの設定値の計算

目的: クロック周波数が、設定したい周波数ステップの2のべき乗で
    ない時の設定値を、整数計算で求める。

例:
累積加算器サイズ 32ビット
設定周波数ステップ 1Hz
クロック周波数 fc(Hz) :整数値、fc < 2の31乗
出力周波数 fo (Hz) : 整数値、必ず fo < (fc / 2) であること。
設定値 n  :整数値

DDSの設定値は、n = (2の32乗 × fo) ÷ fc で求められます。
         (ただしn は、整数部。小数点以下は四捨五入)

fc.fo,n共に、unsignedlong
fc,foにそれぞれ数値をいれて、

n = 0

for i = 0 to 31

n = n * 2
fo = fo * 2

if fo >= fc then
fo = fo - fc
n = n + 1
endif

next i

if (fo * 2) >= fc then
n = n + 1
endif

 foとfcの単位が同じならば、fo,fcの値の単位は任意です、例えば10Hzとか、
0.1Hzとか、1/3Hzとか、、、
 
 秋月DDSは累積加算器が26ビットなので、iの終了値を25としてください。

長文失礼、プログラムはどうしても長くなってしまいます。

英語 de eBay 2012, 02, 22, (水)
http://eigoeb.com/blog/entry-346.html


Standard Int’l Shipping ってどんな発送方法?-International Flat Rate Shipping-




2012, 02, 20, (月)
FX-6100 BOX (Socket AM3+) FD6100WMGUSBX ※大決算SALE! 《送料無料》





http://shop.tsukumo.co.jp/goods/0730143300926/

■2012年02月17日(金)23:09  Arduino LCD1602
WS001830.JPG 1179×706 165K
http://www.dfrobot.com/index.php?route=product/product&product_id=51

http://www.dfrobot.com/wiki/index.php?title=Arduino_LCD_KeyPad_Shield_(SKU:_DFR0009)

http://www.dfrobot.com/image/data/DFR0009/LCDKeypad.zip


http://www.dfrobot.com/image/data/DFR0009/LCDKeypad%20Shield%20SCH.pdf





Sample Code
Example use of LCD4Bit_mod library

LCD4Bit_mod Library Download

//
#include
//create object to control an LCD.
//number of lines in display=1
LCD4Bit_mod lcd = LCD4Bit_mod(2);
//Key message
char msgs[5][15] = {"Right Key OK ",
"Up Key OK ",
"Down Key OK ",
"Left Key OK ",
"Select Key OK" };
int adc_key_val[5] ={30, 150, 360, 535, 760 };
int NUM_KEYS = 5;
int adc_key_in;
int key=-1;
int oldkey=-1;
void setup() {
pinMode(13, OUTPUT); //we'll use the debug LED to output a heartbeat

lcd.init();
//optionally, now set up our application-specific display settings, overriding whatever the lcd did in lcd.init()
//lcd.commandWrite(0x0F);//cursor on, display on, blink on. (nasty!)
lcd.clear();
lcd.printIn("KEYPAD testing... pressing");
}
void loop()
{
adc_key_in = analogRead(0); // read the value from the sensor
digitalWrite(13, HIGH);
key = get_key(adc_key_in); // convert into key press
if (key != oldkey) // if keypress is detected
{
delay(50); // wait for debounce time
adc_key_in = analogRead(0); // read the value from the sensor
key = get_key(adc_key_in); // convert into key press
if (key != oldkey)
{
oldkey = key;
if (key >=0){
lcd.cursorTo(2, 0); //line=2, x=0
lcd.printIn(msgs[key]);
}
}
}
digitalWrite(13, LOW);
}
// Convert ADC value to key number
int get_key(unsigned int input)
{ int k;
for (k = 0; k < NUM_KEYS; k++)
{
if (input < adc_key_val[k])
{ return k; }
}
if (k >= NUM_KEYS)
k = -1; // No valid key pressed
return k;
}

Example use of LiquidCrystal library

//Sample using LiquidCrystal library
#include

/*******************************************************

This program will test the LCD panel and the buttons
Mark Bramwell, July 2010

********************************************************/

// select the pins used on the LCD panel
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// define some values used by the panel and buttons
int lcd_key = 0;
int adc_key_in = 0;
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5

// read the buttons
int read_LCD_buttons()
{
adc_key_in = analogRead(0); // read the value from the sensor
// my buttons when read are centered at these valies: 0, 144, 329, 504, 741
// we add approx 50 to those values and check to see if we are close
if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 195) return btnUP;
if (adc_key_in < 380) return btnDOWN;
if (adc_key_in < 555) return btnLEFT;
if (adc_key_in < 790) return btnSELECT;
return btnNONE; // when all others fail, return this...
}

void setup()
{
lcd.begin(16, 2); // start the library
lcd.setCursor(0,0);
lcd.print("Push the buttons"); // print a simple message
}

void loop()
{
lcd.setCursor(9,1); // move cursor to second line "1" and 9 spaces over
lcd.print(millis()/1000); // display seconds elapsed since power-up


lcd.setCursor(0,1); // move to the begining of the second line
lcd_key = read_LCD_buttons(); // read the buttons

switch (lcd_key) // depending on which button was pushed, we perform an action
{
case btnRIGHT:
{
lcd.print("RIGHT ");
break;
}
case btnLEFT:
{
lcd.print("LEFT ");
break;
}
case btnUP:
{
lcd.print("UP ");
break;
}
case btnDOWN:
{
lcd.print("DOWN ");
break;
}
case btnSELECT:
{
lcd.print("SELECT");
break;
}
case btnNONE:
{
lcd.print("NONE ");
break;
}
}

}


Example use of Enhanced LiquidCrystal_I2C library

This library inherits LiquidCrystal and adds another method: button - to read button pushed on a keypad.

Library Download
http://www.dfrobot.com/forum/index.php?topic=31.0

AHCIモードをWindowsXPで使用する 2012, 02, 16, (木)
http://hakase.no-blog.jp/hakase/2007/01/ahciwindows_xp_ae55.html



AHCIの設定を理解する
http://www.dosv.jp/other/0612/06.htm




WD20EARSなどのHDDの低速病と言われる現象のメカニズムについて 2012, 02, 14, (火)
http://karinto2.mine.nu/blog/kuni/2010/09/wd20earshdd.html

「WD20EARSなどのHDDの低速病と言われる現象のメカニズムについて

巷では病気の様に言われているWesternDigitalの3.5インチHDDであるEADSシリーズやEARSシリーズなどの500GBプラッタの症状について分かっている事をただ適当に。

特にこのEADSやらEARSシリーズにおいて発症率が高いとの話をちらほらと見ますが、2.5インチのHDDでも確認しております。
そして、この低速になる現象の原因と思われるものがあり、その原因を加える事で意図的に低速になる現象を発生させる事を確認しました。

3.5インチのHDDでは頻度は下がる事となりますが、WDのHDDのファーム上で軸ブレや振動等による支障が発生すると、転送レートを落とす様です。ベンチマークしながら微震動を与えたり、シャーシへの固定ネジをきつくしめる事で左右からの強い力をかける等をする事で速度が落ちる事を確認しました。
さらに細かい内容になりますと、大型高速ファンと隣接させたりHDD同士を近づけた状態により振動が伝わる状態にしても同様の現象が確認できました。

またWindows等のOSでは、この低速化現象が複数回(たしか6回)繰り返される事で、ATAコントローラの動作をDMAからPIOに変更してしまうため、俗にPIO病とも呼ばれるPIOモードになります。

なお、ノイズによる影響についてですが、振動によるものほどではありませんが、若干の速度低下が発生する事を確認しております。

この動作を解消する為には、HDDの設置について筐体内での振動が発生する要素を取り除くか、HDDの固定を左右のネジではなく底面のネジで行う。ネジ止めにおいてゴムブッシュを間に挟むなどの対策が有効です。

2.5インチのHDDではかなり顕著に現象が発生しますが、3.5インチのHDDではそれほど高い頻度では発生しないため、病気の様な扱いをうけていたのかもしれませんね。またこの機能が過敏に反応したり、誤動作したりしても低速動作につながるようです。

個体差が当然あるので、発生しやすい個体と発生しにくい個体があると思います。複数ロットで複数台発生する環境の人は上記の対策をとる事で解消出来る可能性が高いです。

手前のファイルサーバでは該当するWDのHDDを15台ほど使用しておりますが(世代容量バラバラ)いまのところはこういった現象は発生しておりません。

いまのところ、WesternDigitalのHDDでしか確認しておりませんので、物理的に0%にしたいのであれば、他社のHDDに変えるのが一番かも?

#仕事でちょうどこの件が問題になり(しかも2.5インチHDD)いろいろ調べる事となったのですたい



















「コメント[1]

ご教示の通り低速化の原因は振動でした。ファンが振動源でした。振動に対して驚くほど敏感なんですね。お陰様で私にとって実用的な速度になりました。ありがとうございました。素人ですお礼まで。」

http://bbs.kakaku.com/bbs/K0000256713/Page=2/SortRule=1/ResView=all/#13965482














WD20EARSを安定させる方法(仮)
http://champru.seesaa.net/article/195379560.html





WDC WD20EARS Western Digital Caviar Green 低速病対策
http://volupis.blog46.fc2.com/blog-entry-24.html

LDmicro.avi 2012, 02, 12, (日)





http://sourceforge.net/projects/ldcompiler/files/





TUTORIAL LCD EN LADDER PIC O AVR
http://www.youtube.com/watch?v=uMIFc-t20uo&feature=related



DDS mit AD9951 und PIC16F877 bis 160 MHz 2012, 02, 09, (木)
http://www.dl5mgd.de/dds/AD9951.htm


AD9859 DDS ハードウエア篇
http://www.koka-in.org/~kensyu/handicraft/diary/20060331.html

GP−IB  2012, 02, 08, (水)
http://www.geocities.jp/ja4lao/gp-ib.htm#gpib111024


フリーのソフトでEasyGPIB
http://www.activecell.jp/index.htm



Basicコンパイラが無料で容量無制限 2012, 02, 06, (月)
http://avr.paslog.jp/



http://www.myamicus.co.uk/content.php



http://www.sfcompiler.co.uk/wiki/pmwiki.php?n=SwordfishUser.Comparison




Proton for FREE!
http://www.protonbasic.co.uk/content.php/1131



Swordfish is a highly structured, modular PIC® BASIC compiler
http://www.sfcompiler.co.uk/swordfish/


DDS について 2012, 02, 05, (日)
http://www.hi-ho.ne.jp/hida/h_made27.htm


DDS-VFO 発信器キット  出力 1Hz〜160MHz
http://www.kida-elec.com/kem-dds-mini.html


DDS Signal Generator
http://www.geocities.jp/ja4lao/dds_sg.htm


SGの製作
http://www.geocities.jp/ja4lao/9851.htm



JA4FZQ いとう - 2007年04月01日 18時53分
: re:DDSについて(続き)
http://jg1ead.web.infoseek.co.jp/oldlog/bbslog20070515.html




HAM
http://homepage3.nifty.com/jr1pwz/


香港からのAD9850/9851DDSモジュール
http://homepage3.nifty.com/jr1pwz/ham/valve-upconversion-TRX/valve-upc-localoscllators.htm#ad9850module-fmHK-20111217

ダブルバランスドミキサ(DBM) 2012, 02, 04, (土)
http://park10.wakwak.com/~daisuke_elec/keisoku/dbm.html

過去ログ 2004年07月 08月 10月 
2005年01月 08月 10月 11月 12月 
2006年01月 02月 03月 04月 05月 06月 07月 08月 09月 10月 12月 
2007年01月 02月 03月 04月 05月 06月 07月 08月 09月 10月 11月 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月 09月 10月 11月 12月 
2013年01月 02月 03月 04月 05月 06月 07月 08月 09月 10月 11月 12月 
2014年01月 02月 03月 04月 05月 06月 07月 08月 09月 10月 11月 12月 
2015年01月 02月 03月 04月 05月 06月 07月 09月 10月 11月 12月 
2016年01月 02月 03月 04月 05月 10月 
2017年01月 

一覧 / 検索