Eagleで回路設計
電気回路の復習ということで、自宅でLEDの4ビットカウンタを作成してみることにしました。無料で使える回路設計ソフトEagleを導入しました。
今日は、動作の仕様と回路図への部品配置を行っていきました。
動作条件として、1Hzのカウントアップ動作と,2〜100HzのLED点滅制御をさせることにしました。タイミングチャートも作っておこうと思い、フリーソフトのタイミングチャート清書ツール tchartを使いました。以前にタイミングチャートをエクセルで作成しましたが、手間がかかり修正等も大変でした。「タイミングチャート清書ツール」は、記号形式でタイミングを記述して、チャートにコード変換してくれる。とても便利です。
あとは使用する部品をEagle上に配置しました。まだ慣れていないので、各部品の名称や検索方法は、ネットの情報を参考にしながらという感じです。あとは信号線を引いて、基板デザインを作ったら、暇を見て実装したいと思います。
訓練終了
昨日で職業訓練の日程は、すべて終わりました。
私の所属していたIT機器プロダクト科以外の電気設備、建築CAD、金属加工、産業技術科と総勢70名ほど卒業となりました。
この半年で、電機理論、回路設計、電子機器組み立て、C言語、マイコンと、広く浅ではありますが、よく練られたカリキュラムで効率よく学習できたと思います。
もちろん独学では、無理だったと思います。
学習する環境は、大事だと改めて実感しました。
なによりよかったのは、2週間の企業実習が付いているということです。
私の場合、就職したい企業を実習先に選ぶのではなく、2週間の実習で、スキルアップできるかどうかを基準に実習先を選びました。結局、実習先の企業に就職したいと思いました。周りの方は、大半がソフトウェア系の実習先に行っていましたが、わたしは、電機理論、回路設計の知識を学べるのは、この機会しかないと感じ、回路設計をしている企業へ実習へ行きました。結果とても充実した2週間でした。
課題として、ある制作物を完成させることが目標として設定されましたが、ただ作るのではなく、実際の製品設計に近い工程の流れで、設計、実装、テストをしていきました。現場の技術者の方からの意見もいただけて、よかったです。
あとは、過去の実習実績を見てもソフト系の企業さんの実習内容が、訓練校での練習問題のような基礎レベルの課題をただやるだけだったので、あまり行く意味がないと感じました。
これから就職活動と、空いてる時間は、半年間の復習しようと思います。
もっと基礎を固めて、自然と応用できるアイデアが出てくればいいと思います。
I
システム設計 ソフトウェアテスト
本日は、ArduinoIDEにおけるデバックコードの学習でした。
#define #ifなどのプリプロセッサ使って、メモリ容量の小さいArduinoに対して、無駄なメモリ消費をしないようにしました。
ホワイトボックステストにおける命令網羅のカテゴリを例題課題をこなして、体験しました。
次に、ブラックボックステストの演習課題に取り組みました。
ホワイトボックステスト同様に、単体テスト項目を作り、テストしていきます。
ブラックボックスは、ホワイトボックスと違って、関数の中身に、何が記述されているかは、テスト基準に入れません。あくまで、入力に対して期待した出力が得られてたかどうかしか見ません。
すべての値をテストするわけにはいきません。効率よくテストするために、入力値の決め方を学習しました。
・同値分割・・・有効同値と、無効同値からそれぞれ選出された値を入力値とする。
・境界線分析・・・無効同値と、有効同値の境目の値を数個選出して、入力値とする。
例えば (入力in > 0)という条件だった場合、有効同値は1,2,3・・・
・・、無効同値は、0,-1,-2,-3,・・・となる。
なので、選出される値は、-2,-1,0,1,2で良いということになる。
漏れのないテストを実施するには、モジュール設計書から与えるべきテストデータを検討し有効なテストを行わないといけません。
【マイコン演習】 モーター制御
本日は、Arduinoからモーターを制御する演習です。
モーターの動作についての記述はこんな感じです。
digitalWrite(M1, HIGH); /*モーターの動作方向制御*/
analogWrite(E1, 180); /*モーターの回転速度制御*/
今回は、モーターの速度を3段階に切り替える(タクトスイッチ押下)。
速度の切り替えと同時に、3色のLEDの点灯、消灯を連動させる。
LEDの制御は、マイコン演習で、散々使ってきたdigitalWrite()と、
bitRead()を組み合わせて、点灯を切り替える。
/*LEDを制御*/
for(i = 0; i < 3; i++)
{
digitalWrite(13 - i, bitRead(led_state[mt_state], i));
}
今回、モーター制御用に、DCモーターシールドという基板を、
Arduinoに装着した。熱中症対策として、扇風機でも作ろうかと考えた。
はんだ最終日
はんだ演習は、今回で終わり。
電子機器3級の光検出回路の実装をカテゴリー別に、
講師の解説の後、作業という流れでやってきた。
今日は、各自で初めから実装してみる。
速い人は、3周くらいしていた。
試験は、90分。
確実に終わらない。
出題される課題は、毎年同じみたいなので、数をこなせば受かるだろう。
ただ、個人で練習するなら部品代がかかってしまう。
学校に通ってる方、はんだ作業に従事している方は、取得してもいい資格だと思います。