1日1技シリーズ開始

1日1技シリーズ開始

何なのさ

自分の持っている知識・思考の整理と,知らないとハマりそうなポイントの共有という目的で 1人 Advent Calendar 的なものをやってみようと思います. なるべく1日1トピック,知ってる人にとっては当たり前っぽいテーマで書いていきます.

個人的な目標として,1記事あたり30分以内(できれば15分以内)に書き上げるのをルールにしたいと思います. 要はそれぐらいシンプルに,ミニマムな構成の技術ネタを大量に投げていく予定です. 間違いや質問・リクエストなどがあれば,私や読者の後学にもなりますのでぜひコメントを残していってください.追える範囲でフォローアップします.

内容について

主にこんな感じでしょうか

  • コンピュータ関連
    • プログラミング (C, C++, MATLAB あたりがメイン?)
    • ツール,環境 (Linuxメイン)
  • 工学的数学
  • 剛体力学
  • 電気・電子回路
  • Minecraft (レッドストーン回路)
  • ロボット(上記以外の雑多なものはだいたいここに含まれそう)

予定

ざっとした予定は以下のとおりです.

  • 11/24(第1回) C言語での符号とビットシフトについて
  • 11/25(第2回) C言語での構造体とアライメントについて
  • 11/26(第3回) latexmkで楽々LaTeXコンパイル
  • 11/27(第4回) Fresnel積分と緩和曲線
  • 11/28(第5回) 小型ロボットに使いやすい表面実装ブザー
  • 11/29(第6回) 改行コードの歴史的背景
  • 11/30(第7回) 16進数を読み書きできるようになろう 12/1からは未定です.

悲しいことに100回過ぎたあたりからネタ切れを起こしそうなので,何かこういうのを書いてほしいというリクエストがありましたら,コメントでもTwitterでもいいので気軽にお知らせください.

※なんかしっくり来なかったのでシリーズ名を変えました.

Share Comments

dynabook R83にArch Linuxをインストールした際のメモ

dynabook R83にArch Linuxをインストールした際のメモ

dynabook R83/PB

概要

メインで使用しているノートPCであるところの Let’s Note CF-S10 さんが使用歴4年半を迎えて,そろそろハードディスクやバッテリの寿命が訪れそうな時期にさしかかっています. 収入が少し入ったところでもあるので,この際今後5年弱ほど使えるノートPCを買おうということになり,自分の用途に最も合っていそうな dynabook R83/PB を購入することにしました.

Windows を使うのはつらすぎてアレルギーによる発作が原因で直ちに死に至るので,当然 Arch Linux をインストールするわけですが,UEFI なマシンへのインストールは初めてだったため,少しずつメモを取りながら進めました. Web 上に特にこの機種へのインストールに関する情報がなかったので,必要ないかもしれませんがとりあえず書いたので置いておきます. ハマりやすそうなポイントが何箇所かあったので,あえて時系列順に書きます.

注意と免責

試行錯誤の過程が混じっているので,順序通りにやればうまくいくなんてことはないかもしれません.ご注意いただき,ご自身の責任のもとでインストール作業を進めてください. また,前提としてインストールに使用する Arch Linux の ISO は 2015.09 版とします.

Read More

Share Comments

stm32plusでSDIO,FAT32ファイルシステムへのアクセス

stm32plusでSDIO,FAT32ファイルシステムへのアクセス

ログ取り用にmicroSDカードスロットを搭載

Xiphosuraにはログ取り用にmicroSDカードスロットを搭載しています. stm32plusを使うと,STM32のSDIOペリフェラルの初期化が簡単になるほか,ファイルシステムへのアクセスも非常に楽になるのですが,楽になりすぎて学びがないのがちょっと難点です. 何にせよ便利なので使ってみました.

内容としては以下のようにするだけでおっけーです(便利…).

FileSystem *fs;
NullTimeProvider timeProvider;
SdioDmaSdCard *sdcard = new SdioDmaSdCard; // SDIOの初期化が自動的に行われる
if(errorProvider.hasError()) error();

if(!FileSystem::getInstance(*sdcard,timeProvider,fs)) error(); // ファイルシステムの取得

FileInformation *info;
// testという名前のファイルの情報を取得.ファイルが存在すれば{}の中身が実行される.
if(_fs->getFileInformation("test",info)) {
    File *file;
    if(!_fs->openFile("test",file)) error(); // ファイルオープン
    if(!file->write("Hello World",11)) error(); // ファイルに "Hello World" と書き込み
    delete file;
}
else error();
delete info;
delete fs;

参考になりそうなサンプルコード:

Share Comments

新作マウスXiphosura機体完成!?

新作マウスXiphosura機体完成!?

基本のLチカ

とりあえずLチカまではすんなり行けました.

Read More

Share Comments

新作マウスの足回りを組み立てた

新作マウスの足回りを組み立てた

できた 上から

足回りができました. これまででは考えられないほどまともにできてしまったので,泥臭かった調整が今年は少し楽になるかもしれません.

モータマウンタはShapewaysで3Dプリントしたのですが,Strong and Flexibleというマテリアルで出力したものは穴の中の精度が少し悪く,ネジが通りませんでした. 念の為と思ってアクリルで出力していてよかったです.最終的にアクリルのものを採用しました.

この1週間で基板以外のものが全部揃ったので,あとは基板が届いたらハンダ付けして組み付ければ機体は一応完成になります. とりあえずそれまではなんとも動き難いので,この土日はLチカやらモータ駆動用のプログラムの準備でもしておこうと思います. あとは去年のプログラムを解読する作業が苦痛です…誰か助けて…

Share Comments