Cafe'Tec Yagiyu

のんびり気ままに技術進捗

基本情報技術者試験に合格してました

テストが近づいてきて少し憂鬱な最近です。

さて、4月17日にあった基本情報技術者試験ですが,合格してました!不安だっただけに嬉しかったです。

技術関係の資格試験で初めての受験で本番でも一日中の試験には疲れましたが,こうして一発で合格できたのでその甲斐がありました。

と、このままではどうでもいい自分語りになってしまうので、勉強に使った書籍やツールを紹介したいと思います。

本番の流れについては以前の記事にあります。*1

 

 ○書籍

・イメージ&クレバー方式でよくわかる栢木先生の基本情報技術者教室 (情報処理技術者試験)

 

 …まず、試験に出てくる専門用語やその説明、使う公式はこの本でまとめました。「〇〇とくれば××」と、試験の問いと答えによく出てくる組み合わせで覚えることができるコーナーがあります。項目ごとに確認問題があり、その項目で得た知識が身についているか確認できます。午前問題に必要な知識はおおよそこの本で得る事ができると思います。

 

基本情報技術者 パーフェクトラーニング過去問題集 (情報処理技術者試験)

 

 ...午後問題に出る応用的な問題はこの本を使って演習しました。午後問題は長文を読み解けば解ける問題も多かったですが、前提知識が必要な問題も少なくはないので、本番で慌てないように十分に演習しておく必要があると思います。この本は図も解説も分かりやすかったのでスムーズに勉強ができました。

 

○サイト

基本情報技術者試験ドットコム

...午前問題の演習は、おおよそこのサイトで繰り返しやりました。問題も豊富ですが、基本情報技術者試験自体に関しての情報も十分にあるので、試験勉強に当たってこのサイトを訪れておいて、まず損はないと思います。午後問題は解説が十分に網羅されていないので、このサイトで両方の対策を済ませるというのは得策ではないでしょう。

 過去問題は平成13年度春分から最新のものまであり、携帯サイトからも閲覧できるので、空き時間があればこのサイトで勉強していました。私はこのサイトで5年分の過去問をやりました。

 

 

 対策を始めたのは2月末からだったので、勉強期間は1ヶ月半でした。専門知識のまとめに半月、問題演習に1ヶ月かけました。

 午後問題はとにかく過去問に挑戦して問題の形式に慣れることが大事だと思います。長文を読み解く事がまず関門になると思います。

 ソフトウェア開発の選択問題はC言語を選択したので他の言語の問題はわかりませんが、C言語は基本的な前提知識で対処できました。ですが、過去問は今年出た問題よりも難しかった問題もあったので、過去問を解いたり、他に専門書を用意して知識を広げておいたほうがいいと思います。

 

試験にあたって参考にしたページを以下にまとめておきます。

IPA 独立行政法人 情報処理推進機構:情報処理技術者試験

基本情報技術者試験に合格した人の勉強法 - Something Beyond

基本情報技術者試験に一ヶ月勉強して一発合格したので、勉強法とか使った本とか書いておきます - しがない学生の雑記

基本情報技術者試験ドットコム

基本情報技術者試験当日の持ち物は?: 基本情報技術者試験受けてみない?

 

 

今後の受験の際の参考になれば幸いです。次は来年の春のエンベデッドシステムスペシャリスト試験に挑戦しようと思っています。

 

それでは、次の更新まで。

 

See you again!

*1:こちらの記事を参照

 

yagiyu.hatenablog.com

 

ArduinoUNOをMIDI音源にしてみる

ゴールデンウィークが過ぎましたが、皆さんはどうお過ごしになられたでしょうか。私は家でずっといました。まあ予想通りでした。

この前の自作プリント基板の記事が予想以上の反響だったようで、アクセス解析では1日だけアクセス数が桁違いになっていました。ありがとうございました。

 

さて、今回はArduinoMIDI音源にするということで、n番煎じですがやってみました。

この前のOnlyMyRailgunの手動プログラム打ち出しでの演奏に比べて随分楽に音が聴けます...(当たり前)

 

MacでArduinoをUSBMIDIデバイスにするまで – necobit.com(ねこびっと)

MIDI INの実験 | curious4dev

作業にあたって、こちらの記事を参考にさせていただきました。ありがとうございました。

 

では手順についてまとめていきます。

1. ArduinoをUSBMIDIデバイス化する

f:id:yagiyu-tec:20160507163627j:plain

f:id:yagiyu-tec:20160507164024j:plain

Arduino - DFUProgramming8U2

公式のページにありますが、画像のようにUSB側のICSPピンのRESETピンとGNDピンをジャンパでショートさせてArduinoをPCに接続します。するとDFUがリセットされるので、ジャンパを外します。

 

2. PC側の設定

f:id:yagiyu-tec:20160507165932p:plain

Xcodeの"Preferences..."をクリックします。

 

f:id:yagiyu-tec:20160927135142j:plain

"Locations"の"Command Line Tools"オプションでXcodeのバージョンが表示されていればCommandLineToolsがインストールされています。私は見たときにはインストールされていました。

Mac での Xcode コマンド ライン ツールのインストール - RAD Studio

こちらに詳細があります。

 

次に、MacPortsをインストールします。

The MacPorts Project -- Download & Installation

 

それも完了したら、ターミナルから「sudo port install dfu-programmer」と入力してdfu-programmerをインストールします。

PC側はこれで準備完了です。

 

3.Arduino側の設定

まずはこちらからMIDI Firmware forArduinoUno(Moco)をダウンロードします。

GitHub - kuwatay/mocolufa: mocoLUFA (MIDI firmware for Arduino Uno)

ダウンロードした中の"dualMoco.hex"をデスクトップにでも移動します。

ArduinoUNOを接続し、ターミナルで

dfu-programmer atmega16u2 erase

dfu-programmer atmega16u2 flash (dualMoco.hexのパス)

dfu-programmer atmega16u2 reset

を実行します。

dualMoco.hexのパスは、FinderからdualMoco.hexのアイコンをドラッグ&ドロップしてターミナルに持っていくと簡単に入力できました。

Macのターミナル.appでファイルやフォルダのパスを簡単に入力する方法 / Inforati

 

4.書き換えの確認

これでArduinoMIDI音源にできたはずなので、一度Arduinoの接続を外してもう一度PCに接続します。

f:id:yagiyu-tec:20160507175631p:plain

DAWMIDIプレイヤーで"MocoLUFA"と表示されていることを確認します。私は無料アプリのMIDITrailで確認しました。

MIDITrail

MIDITrail

  • WADA Masashi
  • ミュージック
  • 無料

 

5.Arduinoにプログラム

ArduinoMIDI信号を処理するプログラムを入れます。まずはMIDIライブラリをインストールし、「スケッチ>ライブラリを使用>Add Library...」から追加します。

Arduino Playground - MIDILibrary

MIDI INのプログラムでToneライブラリ(デフォルトで入っているtone関数とは別物)を使っている記事もありますが、ここではtone関数を使うことにします。

 

Toneライブラリを使っていて、Tone.cppのエラーが出ることがありました。これはTone.cppのヘッダ挿入の部分で「#include "Arduino.h"」が抜けていたためでした。なので、ライブラリを追加する前にXcodeなどで追加しておくと、Finderで検索する手間が省けます。

 

プログラムはこちらを参考にしました。

MIDI INの実験 | curious4dev

「int vol = 1;」となっているところを「int vol = 0;」に変更しました。

 

ちなみに、MIDI音源にしたArduinoのプログラムを書き換えるには、画像のようにMOSIとGNDをジャンパでショートさせて接続して書き換えます。ジャンパピンがあればそれを使うのがめんどくさくなくていいと思います。

f:id:yagiyu-tec:20160507182734j:plain

f:id:yagiyu-tec:20160507182745j:plain

 

6.ArduinoMIDI IN

ジャンパの接続がないことを確認して、MIDI音源としてPCにArduinoを接続し、MIDIプレイヤーでMIDIデータを再生します。

 

MIDIRonald McDonald - YouTube さんにお借りして圧電スピーカーで再生してみました。(動画の音がだいぶ小さい上に生活音も入っているのでご了承ください)

 

MIDI.hがマルチチャンネルに対応していないのと、Arduino自体の処理が追いついていないのとで出せていない音があったりしますね。今後改良していきたいところではあります。

 

というわけで、ArduinoUNOをMIDI音源にしてMIDIファイルを再生するまでできました。

ここまでくると自分でデータも作って再生するまでやってみたいですね笑

データの綺麗な再生にも挑戦していきたいところです。

 

それでは、次の更新まで。

 

See you again!

 

 

 

 

 

自作プリント基板に挑戦しました

2017/4/5 追記: 初挑戦だったのもあり、情報が不十分な箇所があります。この記事upの約1年後の追記にて補足していますので、こちらもご覧ください。

 

yagiyu.hatenablog.com

 

 

もう4月も終わりで、環境が新しくなった方はそろそろ慣れ始めてきた頃でしょうか。

先週の基本情報技術者試験が終わってからはRasPiのリモート接続設定や基板作りをやってました。今回は自作プリント基板の方について書きたいと思います。

 

f:id:yagiyu-tec:20160921135346j:plain

今回、私が用いた材料・道具は以下のものになります。( )のなかに適宜、購入元を書いています。

  • クエン酸(100均)
  • オキシドール(Amazon)
  • 食塩
  • アセトン(Amazon)
  • レーザープリンタで印刷した基板のパターン(ファミマ)
  • お湯
  • 生基板(Amazon)
  • アルミ箔
  • コピー用紙1枚
  • アイロン 又は ラミネーター
  • 割り箸
  • (アイロン台)
  • (使わなくなったスプーン)
  • (ピンセット)
  • (プラスチック板カッター)

 

 

さて、次は手順です。

 

1. 基板データ作り・印刷

私はPCB-CADにKicadを使っているので、今回もKicadで基板データを作りました。

f:id:yagiyu-tec:20160427214146j:plain

 ここらへんは個人で異なると思いますが、印刷してスキャン、ペイントソフトで白黒反転、修正しました。もっと効率のいい方法があると思いますので、他の方法を知りたい方はCADソフトに詳しいお方の方法を参考にするといいと思います。

f:id:yagiyu-tec:20160427214638j:plain

反転後、修正がてら失敗した時用に多く作っておきました。

f:id:yagiyu-tec:20160427214747j:plain

できたパターンデータを近くのコンビニやらスーパーやらのレーザープリンタで印刷してきます。家にレーザープリンタがあるなら、それを使ってもいいかもしれません。インクジェットではできないので注意です。

 

2.基板カット・パターン転写

生基板から作りたい基板のサイズに合わせてカットします。

f:id:yagiyu-tec:20160427215404j:plain

私はプラスチック板カッターでカットしましたが、シャー(工具)などがある方は切断しやすい方でやりましょう。もちろん、その過程で表面の銅箔を削ったら元も子もないですが...笑

 

ここで、水にクエン酸を混ぜた水溶液で基板を洗浄します。

写真では金属スプーンを使っていますが、混ぜる時や基板をつける時は割り箸を使った方がいいです。

f:id:yagiyu-tec:20160427215922j:plain

水溶液は大量に作らなくても、基板が浸かる程度で十分です。この液に10円玉を入れると綺麗になったりします(笑)

基板が綺麗になったら、印刷した基板のパターン(以下、転写紙)を水につけて、印刷側と銅箔側を貼り付けます。転写紙は濡れた状態で構いません。

 

続いて転写です。アイロンを最高温に設定しましょう。アイロン台に基板、その上にコピー用紙を乗せてアイロン掛けします。コピー用紙をめくってみて、転写紙が白く乾いていたら基板をコピー用紙の上に置いて、直接アイロン掛けします。少し圧をかけて、数十秒アイロン掛けします。

少し冷ましてピンセットで基板をつまんで水につけ、またアイロン掛けの工程を繰り返します。私はこれを3回繰り返しました。

転写はラミネーターでもできます。基板の温度が80〜90℃で4〜5回圧着をかけるといいようです。

終わったら基板をしばらく水につけておきます。転写紙の紙の部分がふやけるくらいまでつけたら、紙の部分を指の腹で剥がしていきます。ちゃんと転写できていたら、少々強めに剥がしに行っても印刷部分は剥がれないと思います。エッチング(銅箔を溶かす)部分が露出するくらい剥がれたら、次の工程に移ります。

f:id:yagiyu-tec:20160427224301j:plain

f:id:yagiyu-tec:20160427224439j:plain

回路パターンの貼り付けがうまくいってなかった場合は、4.の工程で転写紙を剥がしてもう一度 2.からです。

 

3.エッチング

今回はエッチングクエン酸式を用いました。

第二塩化鉄を用いた方法もあるので、それについては下の方へ...

ここではクエン酸式について説明します。

オキシドールクエン酸、食塩が25:5:1くらいになるように取って容器の中に入れ、混ぜていきます。

f:id:yagiyu-tec:20160427224802j:plain

十分に混ざったら、大きい容器に沸かしたお湯を入れ、その中にエッチング液を入れた容器を浮かせます。そして2.で作った基板をエッチング液に投入します。

f:id:yagiyu-tec:20160427225513j:plain

コポコポと基板の表面に泡が出てきて、しばらくすると容器の底が青っぽくなってくると思います。

f:id:yagiyu-tec:20160427225451j:plain

この時、ときどき基板を引き上げて光にかざし、どれだけエッチングできたか確認しながらやるといいと思います。私はおよそ15分くらいのエッチングでした。

 

f:id:yagiyu-tec:20160427225944j:plain

エッチングできたところは光が透過されています。これでだいたいパターン通りになってたら引き上げていいと思います。そして次の工程に移ります。

 

4.トナー落とし・後処理

基板に残ったトナーを落とします。私はアセトンを使いましたが、ワッカーシンナー、紙やすりでもできます。アセトンはガラスやポリプロピレンの容器に入れて使用した方がいいです。

f:id:yagiyu-tec:20160427230808j:plain

f:id:yagiyu-tec:20160427230734j:plain

アセトンの中でゆすいでも剥がれなかったら、取り出してピンセットや布で剥がしちゃいましょう。

トナーを剥がせたら、自作プリント基板の完成です!

f:id:yagiyu-tec:20160427231139j:plain

わたしが作った基板はこんな大きさでした。結構細かいのでもいけちゃいました。

 

続いて後処理です。アセトンは新聞紙などに染み込ませて可燃ごみ行きです。エッチング液はアルミ箔を入れて処理します。この時に熱が発生するので、大きい容器に冷水を入れて、その中に浮かべて反応させましょう。

f:id:yagiyu-tec:20160427231901j:plain

反応が終わると赤っぽいふにゃふにゃした物体が浮いてます。銅が析出されています。ここからは結構時間がかかります。中の液体が透明になるまで置いておきましょう。大丈夫そうなら中性かと銅が溶けていないかを銅イオン試験紙で確認して、銅をろ過して排水します。

 

基板作りの工程としては以上です。あとは穴あけ、部品実装になりますが、ここでは省きます。

 

実は今回の基板作りは2回ほど失敗しています。

なにせ初めてでしたので笑

一回目が右側、二回目が左側です。二日目の3回目で成功しました。

成功品と出来栄えを比べると全然違いますね。

f:id:yagiyu-tec:20160427233616j:plain

 

今回のプリント基板の自作において、以下のページ、動画を参考にさせていただきました。そして、工作工房さん(@kousakukoubou)にご丁寧にアドバイスをいただきました。この場を借りて感謝申し上げます。

A's LabⅡ : プリント基板を自宅で安く簡単に自作しよう(作り方)

↑こちらではエッチング液に第二塩化鉄を用いています。

トナー熱転写式プリント基板制作 by suzukitti ニコニコ技術部/動画 - ニコニコ動画

↑こちらでは転写紙に妙楽堂の転写紙を用いています。また、印刷方法から丁寧に解説されています。エッチングにはクエン酸式を用いています。

 

エッチングの仕上がり具合ではクエン酸<第二塩化鉄のようです。また妙楽堂の転写紙とともに作り比べてみたいと思います。

さて、これからできた基板に部品をはんだ付けしていきます。できたらまたTwitterに上げます。これで思う存分SMDの実装もできると思うと楽しみです(笑)

 

何かおかしいところや質問等あれば是非受付けるつもりなので、お気軽にどうぞ。 

 

 

Amazonで購入したものについてはリンクを貼っておきます。

【第3類医薬品】オキシドール 500mL

【第3類医薬品】オキシドール 500mL

 

 

それでは次の更新まで。そして素敵なGWを。

 

See you again!