digi-keyから部品が到着した。
相変わらず早い。ありがたい。
まだ基板が届かないので、ファイルに整理して終了。
2015年6月27日土曜日
2015年6月23日火曜日
digi-keyに部品注文
ハーフマウスに使う電気部品をデジキーで注文した。
総額9000円。
デジキーは7500円以上は送料無料だけれど、1万円以上だと消費税がかかるので、ちょうどいい数量で頼むのが得策。
だけれども、1万円以下に抑えるために、注文を2回に分けたりするのはしない。そこは大人ですから(^^;
後は、デジモデで機構部品を依頼で1万円くらいの出費になりそう。
手持ち部品を使ったりもするけれど、総額3万円くらいでハーフサイズマウスが作れるということか。
総額9000円。
デジキーは7500円以上は送料無料だけれど、1万円以上だと消費税がかかるので、ちょうどいい数量で頼むのが得策。
だけれども、1万円以下に抑えるために、注文を2回に分けたりするのはしない。そこは大人ですから(^^;
後は、デジモデで機構部品を依頼で1万円くらいの出費になりそう。
手持ち部品を使ったりもするけれど、総額3万円くらいでハーフサイズマウスが作れるということか。
2015年6月21日日曜日
マウス基板を発注
FusionPCBにマイクロマウスハーフサイズ用の基板を注文した。
このペースだと今年の大会には間に合いそうにないけれど、何もしないよりはましだろう。
保存のためにガーバーデータをおいておく。
$46.06だったので、1$\128換算で約5900円(EMS送料込み)だった。
このペースだと今年の大会には間に合いそうにないけれど、何もしないよりはましだろう。
保存のためにガーバーデータをおいておく。
$46.06だったので、1$\128換算で約5900円(EMS送料込み)だった。
部品面
半田面
2015年6月7日日曜日
ソースコード変換のサイト
C言語のプログラムソースをWEBで公開するための、コード変換サイトを変えた。
前から”とか<>とかが きれいに変換できなかったから。
これまで使っていたサイト。
ソースを「そのまま表示する為のHTMLソース」に変換
今回使ってみたサイト。
WEB表示用、HTMLエンコード置換変換
より良いサイトがあれば、今後もホイホイ変えてしまうと思う。
前から”とか<>とかが きれいに変換できなかったから。
これまで使っていたサイト。
ソースを「そのまま表示する為のHTMLソース」に変換
今回使ってみたサイト。
WEB表示用、HTMLエンコード置換変換
より良いサイトがあれば、今後もホイホイ変えてしまうと思う。
MODXでRSS取得
自分のホームページと、このブログを連動させようとしてMODxでRSSを取得する方法を探していたけれど、古い情報ばかりで見つけられなかった。
目線を変えて、MODx関係なしに、普通の静的サイトでRSS情報の表示をどうしているのかを探してみて、次のサイトを見つけた。
K子の公式ブログ:簡単に出来る楽しいブログの作り方 第3回RSSの埋め込み方法
生成されたコードの内容を理解しようと思ったら大変だけれど、単に使うだけならばコードを貼り付けるだけなので簡単そうだ。
さっそく、チャンクで登録してテンプレートに追加してみた。
うん、いい感じ。
気づいてしまえば、それだけのことだったのに、MODxを使っているという先入観からRSS表示のアプローチを間違えてしまい、時間がかかった。
目線を変えて、MODx関係なしに、普通の静的サイトでRSS情報の表示をどうしているのかを探してみて、次のサイトを見つけた。
K子の公式ブログ:簡単に出来る楽しいブログの作り方 第3回RSSの埋め込み方法
生成されたコードの内容を理解しようと思ったら大変だけれど、単に使うだけならばコードを貼り付けるだけなので簡単そうだ。
さっそく、チャンクで登録してテンプレートに追加してみた。
うん、いい感じ。
気づいてしまえば、それだけのことだったのに、MODxを使っているという先入観からRSS表示のアプローチを間違えてしまい、時間がかかった。
2015年6月5日金曜日
STM32F4のADC3をDMA転送02
以前に書いた「STM32のAD変換01」では、AD変換した結果は右詰されていた。
しかし、その後に書いた記事、「STM32のAD変換結果をDMA転送」では、AD変換の結果が右詰されないで左詰で変数に格納されていた。
DMA関連の何かが悪いのだと思ったので、じっくり眺めたけれど分からなかった。
そこで、AD変換の初期化まわりを眺めなおしたら、少し気がついた。ADC_InitTypeDef構造体でADCを初期化する前に、ADC_StructInit関数を使って構造体自体の初期化をしているサンプルがある。それを真似して、ADC_StructInit関数で初期化してから構造体に値をセットして、ADC_Init関数で初期化してみた。
うまくいった。
なるほどね、構造体の初期値が不定だから、自分で設定しなかったメンバーが悪さをしていたのかな。だけれど、それだと、最初の「STM32のAD変換01」で期待通りの右詰で値を取得できた理由が分からない。
まぁ、とりあえず今はいいか。
それと、各種の関数の実体をソースで呼んでいるときに、ADC_DeInit関数の中身をみたらADC1のリセットをしているだけだったので、ADC3のリセット処理に変えてみた。
一度に色々と変更したせいで、どの変更がどう反映されたか分からなくなってしまったが、望んだ結果が得られたから、今日のところは良しとしよう。
ソースは以下。
2015年6月4日木曜日
STM32のTIM5でPWM出力
先日、TIM1でPWM出力が出来たので、TIM5でも楽勝と思っていたけれど、またまた上手くいかなかった。
結果としては、TIM5の設定は間違えてはおらず、GPIOの初期設定の間違えだった。
GPIOをオルタネート・ファンクションとして使う場合、GPIO_OTypeやGPIO_PuPdの設定は必要ないと思ったけれど、必要だった。
ごくごく初歩的な設定例だけれど、TIM5のPWM出力をする際のGPIO設定をさらします。
結果としては、TIM5の設定は間違えてはおらず、GPIOの初期設定の間違えだった。
GPIOをオルタネート・ファンクションとして使う場合、GPIO_OTypeやGPIO_PuPdの設定は必要ないと思ったけれど、必要だった。
ごくごく初歩的な設定例だけれど、TIM5のPWM出力をする際のGPIO設定をさらします。
// PA0,PA1,PA2,PA3 : GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_High_Speed; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; // この行がないとPWM出力されない GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOA,&GPIO_InitStructure);
2015年6月3日水曜日
STM32のAD変換スキャンモード不発
調子に乗って、AD変換のスキャンモードにチャレンジしてみたが、うまく結果を得られなかった。
//ADC3の変換モード設定。
ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
// ↓ ENABLE(スキャンモード)、DISABLE(分割スキャンモード)
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
// ↓ ENABLE(連続変換モード)、DISABLE(シングル変換モード)
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
// ↓ AD変換開始トリガなし
ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
// ↓ AD変換後のデータ右詰
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
// ↓ 入力を4本(チャネルを増やしたらここを変える)
ADC_InitStructure.ADC_NbrOfConversion = 1;
ADC_Init(ADC3, &ADC_InitStructure);
変換モードをENABLEにしただけなんだけれど、駄目でした。
//ADC3の変換モード設定。
ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
// ↓ ENABLE(スキャンモード)、DISABLE(分割スキャンモード)
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
// ↓ ENABLE(連続変換モード)、DISABLE(シングル変換モード)
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
// ↓ AD変換開始トリガなし
ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
// ↓ AD変換後のデータ右詰
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
// ↓ 入力を4本(チャネルを増やしたらここを変える)
ADC_InitStructure.ADC_NbrOfConversion = 1;
ADC_Init(ADC3, &ADC_InitStructure);
変換モードをENABLEにしただけなんだけれど、駄目でした。
登録:
投稿 (Atom)