2020年10月6日火曜日

VScodeでC言語(インストールと設定)

VScodeのインストールが終わりました。

これだけではプログラムが組めてもコンパイルしたり実行ができません。

今回はCやC++を使いたいのでGNUのgccを入れたいと思います。


1.googleで「VScode C言語」って検索した。

 Qiitaの「Visual Studio Codeを使用したC言語学習の準備」というページが良さそうだ。

 ぶっちゃけ上記ページ見ればVScodeのインストールからGCC入れてサンプルプログラム入力して実行してみるところまで載っています。

 でもページが無くなっちゃうと悲しいし、自分でここに書くことが重要なので続けます。


2.Qiitaページの「コンパイラのインストール」までスクロールします。

 私はWindowsなのでWindowsの「パッケージのインストール」まで進みます。

 「MinGW」ってのをインストールするようです。

 上の「MinGW」押したでしょ?そこはWikiの説明ページですねw

 実態はココからダウンロードするようです。


3.ダウンロード

 ページに進んだら右上の「Download」を押す。

 「MinGW-Windows用のミニマリストGNU」に進むので、チョイ下の「 mingw-get-setup.exe」の横にあるWindowsマークに↓がついているボタンを押す。

 「mingw-get-setup.exe」ってファイルが落ちてきた。


4.インストール

 ダウンロードしたファイルをダブルクリックで立ち上げる。

 どこにインストールするかとか、他にもゴチャゴチャ聞かれるけど、初期設定のまま「Continue」を押す。

 C言語のパッケージを入れたいので「mingw32-base-bin」にチェックを入れます。

 左上の「Installation」から「ApplyChanges」を選んで押します。


5.設定(Windowsの設定)

 PATHの設定をします。

 今わたしはWindows10です、画面左下に「ここ入力して検索」ってのがあります。ここに「control」まで打つと「コントロールパネル」が出てくるので押します。要するに「コントロールパネル」を立ち上げればいいのです。

 「システムとセキュリティ」を押します。

 「システム」を押します。

 左側にある「システムの詳細設定」を押します。

 一番下にある「環境変数」を押します。

 下の枠の「システム環境変数」の「Path」を選んで「編集」を押します。

 右上の「新規」を押して空枠に「C:¥MinGW¥bin」と入力します。

 ※MinGWを他の場所にインストールした人は、そこを指定してください。


これでコンパイルして動くようになればいいなー

おしまい

VScodeインストール覚え書き

環境設定苦手です。

誰かがセットアップしてくれて、使い方を教えてくれたらプログラムは組めるんですがねw

つまりダメ老人(53歳)です。


VScodeってのが今っぽいので使ってみようと思います。

いや、半年くらい前に使ったんですが、その時は「必要なWEBページを教わって、その通りにやった」だけでした。

なので頭には何も入っていませんw

ちょうどPCのフォーマットをしたのでVScodeや使いたい言語のインストールや

環境構築を、ここにメモっておこうと思います。


1.googleで「VScode」って検索した。

 そしたら一番上に「Visual Studio Code – コード エディター | Microsoft Azure

 ってのが出てきた。

 VScodeはMicrosoft製品なので「これでいいかな?」って感じでポチる。


2.ダウンロード

 行った先に「今すぐダウンロード」って素敵ボタンがあるので押す。

 「Windows」と「Linux」と「MAC」を選ぶスイッチが出た。

 更に詳細として64bit版や32bit版、Arm64とかシステムインストーラーとかユーザーインストーラーとかあるけど、私はWindowsなので「ウインドウズ7,8,10」ってのを押した。

 そしたら次のページに進みつつ、ダウンロードも開始された。

 「VSCodeUserSetup-x64-1.49.3.exe」ってファイルが落ちてきた。


3.インストール

 ダウンロードしたファイルをダブルクリックで立ち上げる。

 使用許諾的なのが出るので読んでオッケーなら「同意する」を選び「次へ」を押す。

 どこにインストールするか聞かれるけど、初期設定場所以外にインストールすると後から色々苦労しそうなので、初期設定場所にインストールする事にした。「次へ」を押す。

 スタートメニューに登録するか?登録名を何にするか?とか聞かれるけど、初期設定のまま。「Visual Studio Code」って名前で登録してください的な。

 「追加タスクの選択」とか聞かれるけど、よくわからないから初期設定のまま。「次へ」を押す。

 「これでいいっすか?」みたいなのが出るので「インストール」を押す。

 インストールが開始され、終わると「完了」スイッチが出るので押して完了!


今回は特に設定することがないので簡単でしたね。

おしまい

2018年8月28日火曜日

みんなのラボの特殊な機材リスト?

べつに自慢したいわけじゃありません。
「こんな機材もありますよ!」的なメモです。

CO2レーザー彫刻機
 中国製の40Wレーザー、加工エリアは20×30cm。
 なんだかんだで結構使っています、試作品とかケースとかに。
 「メモリ液晶ブレークアウト基板」に添付されてるアクリルも
 これで作っています。
 これは2代目です、以前のはレーザー管が終了。
 #レーザー管からCO2がぬけたと思われ

大判プリンタ EPSON PX-9500
 FPGAcafeの「すすたわり」様より頂きました。
 貰った時はインクが詰まっていて、ほとんどの色が出ませんでした。
 分解掃除して復活!今では使えています。
 たまに使わないと、また詰まっちゃうので無駄に使ってる感じです。
 インク代を心配していましたが、紙代の方が危険かも。

バキューム成型機 MAYKU
 はるか昔にクラウドファンディングでポチった機械。
 忘れたころ(最近)に届いて仲間入りした機材です。
 届いた日に使ってみましたが、使い方はとても簡単でした。
 次いつ使うか?何するか?は不明w

チップマウンタ TM220A
 お友達(?)から激安で譲っていただきました。
 以前会社で使ってみた事があるモデルなのですぐ使える気がします。
 今後自社製品の製造で使っていく予定です。

CNC オリジナルマインドBLACK(?)
 お友達(?)からお借りしました。
 どのソフトで?何作ろうかな?
 とりあえずMesh3で動かしたら動きました。
 レーザー加工機の方が人気で、なかなか手付かずです。
 #もしかしたらCNCマスターが登場して動かしてくれるかも!
 なくなりました。

iModela(iM-01)
 RorandDGの入門CNC,素晴らしかったのですが後継機とかでなくて終了。
 使いたい人に貸し出しました。

パン焼き器改、リフローオーブン
 スイッチサイエンスでも使っていたトースターを改造した
 リフローオーブンです。
 スイッチサイエンスの物も私が作りましたw
 製品製造に使っています!

特筆しませんがハンダ付けする機材や、顕微鏡、木工用工具なんかも
ある程度は揃っている感じです。

このページは時々更新します。

2018年1月5日金曜日

「micro:bit」プログラミングしてみた!

ついにプログラミングしてみます。

パソコンのブラウザから「http://microbit.org」にアクセス。
上記ページを日本語表示に変更。
#ページ左上の「English」を押して「日本語」を選択
ページ一番上中央にある「プログラムしましょう」ってボタンを押す。
「プログラムで想像力を発揮しましょう。」ページの「JavaScriptブロックエディタ」の「プログラムしましょう」ボタンを押す。

なんと、これだけで開発できるじゃないですか!
スクラッチみたいにブロックを並べる画面が表示されました。
私は以前スクラッチでプログラミン部した事があるので理解できそうです。

ブロックを組みながら、実際の動作も同時に表示されるみたい!


…かれこれ3時間経過

ゲーム作った!
どうやってソース公開したらいいんだろ?
共有ボタンがあるけど全く使い方が解らない、、、
共有ボタン押して出てくるURLにアクセスしても「指定されたページが存在しません」って言われちゃうなー。
仕方ないので「JavaScriptブロックエディタ」の「ブロック」の画像を貼っておきますねw
#これを入力する事は難しいと思うので、真面目に公開方法を調べます
ABボタン両押しでスタート、Aボタンで左回り、Bボタンで右回りです。
#なんのこっちゃ?































































「micro:bit」パソコンに繋いでみた!

マニュアルとか見るの面倒なんで、、、

とりあえず「micro:bit」とパソコンを「USB-AとUSB-microB」ケーブルで接続しちゃいましたw

とりあえず電気が流れたみたいで「micro:bit」ボードの裏面(?)USBコネクタ横にあるオレンジ色のLEDが光りました。

あれっ?気が付くと表面(?)のLEDに何か表示されています。
「A」と「←」が点滅しているような、、、
あー、左にAボタンがありますね。
押してみました!
次は「B」と「→」が点滅、Bボタン押しました!
次は「SHAKE!」って出たので振ってみました!
次は「CHASE THE DOT」とか出たのかな?
傾斜センサが搭載されているようで振ったり傾けたりが検知できるみたい。

ボードの持っている機能が一通り試せて、ゲームみたいでテンション上がります!
何か作った時、こーゆーDEMOが必要だと思うんですよね。
#「みんなのラボ」ではDEMOを作って販売店に置いてもらったり、イベント会場で見ていただいたりしています

「そんなにお安くないマイコンボードだな」って思ってたけど、ちょっとしたセンサが入っててこの価格なら納得だしコレ単品で十分面白いかも!!

基板の裏面よく見たら「PROCESSOR」ICと「COMPAS」ICと「ACCELEROMATER」ICが搭載されてて「BLE ANTENA」もある。
あと無表記のICが1個搭載されている。
方位が解って、傾斜や加速が解って、BLE通信ができるのかなー?
みたいな。

あとパソコンとUSB接続すると「ドライブ」として見えるみたい。
中には下記2つのファイルが入っていました。
「DETAILS.TXT」は、設定系のオマジナイが何行か書かれているみたい。
#詳細は省略。
「MICROBIT.HTM」は、「micro:bit」のwebページに飛ぶだけのファイルみたい。
webページ、最初は英語表記で出るけど日本語にも切り替えられます。
#日本語は、ちゃんとしていました
googleのwebページ自動翻訳よりスムーズな日本語ページが表示されました。

さて、そろそろ自分でプログラム組みたいと思いwebページを真面目に見るとします。

…なんとスクラッチ同様のブロックエディタで作れるみたいです!
#私はキーボードでカチャカチャ文字入力したいので残念です
ん?Pythonエディターとかいうのでも作れるっぽいな。
#Python嫌いだけど、こっちの方が私向きかも
と言うか、これって学校向け(学生向け)マイコンなのかな?
webページはカナリ良くできてて、解説書とか必要なさそうだな。

まずは「JavaScriptブロックエディタ」でPCのマウスポチポチして作ってみるかなー!

気になる人は「http://microbit.org/」を見るべし!
#右上に「English」って書かれている部分をクリックすると言語が選べます(日本語アリ)

P.S.AndroidやiOSで作ってBluetooth転送もできるっぽいぞ!

「micto:bit」買ってみた!

今更かもしれませんが、、、なんか流行りそうな気がして、、、
「micro:bit」ってのを買ってみました!!

今迄は「Arduino」ってのと「mbed」ってマイコンボードを使っていました。
「micro:bit」ってのもマイコンボードみたいです。

「おさらい」と言う感じで、3つのマイコンボードを軽く比較してみます。

時系列的に、まず「Arduino」
 ユーザーが扱えるLEDが1個ついていて、みんなの大好きなLチカできます。
 #Lチカ = LEDをチカチカ点滅させる事
 スイッチはリセットボタンのみ、ユーザーが使えるボタンはナシ。
 パソコンとの接続方法はUSB-Bです、基板上で一番大きな部品です。
以下の写真は古いモデルのArduinoです。















次は「mbed」
 ユーザーが扱えるLEDが横一列に4個ついています。
 4個もあると、ちょっとしたデバック表示なんかに使えて便利です。
 残念ながら、こちらもスイッチはリセットしかついていません。
 パソコンとの接続方法はUSB-miniBです、チョット今更感ですね。
 ArduinoよりCPUは早く、メモリも沢山。もちろん価格も高い!
以下の写真はmbedがブレッドボードに刺さっている写真です。















そして「micro:bit」
 LEDが縦5個×横5個=25個もついています!
 ココだけで簡単な絵が表示できそうな気がします <妄想?
 スイッチも3個ついています。
 何も書いてないスイッチ1個と、A、Bの3つなので、AとBはユーザーが使えそうです!
 パソコンとの接続方法はUSB-microBです、現時点では一番スタンダードな気がします。
以下の写真は「表面?」「裏面?」「パッケージ」「箱の中身」です。
#「USB-AとUSB-microB」ケーブルは同梱されていませんでした













「micro:bit」の大きさは「Arduino」の2/3くらいです。
#ちょっと小さいって事ね
因みに「mbed」は「Arduino」の半分くらいです。

2017年11月4日土曜日

Binary translation!(部品の説明)

抵抗:LEDの電流制限用に使っています。
 電池のプラスとマイナスを直接コードで繋ぐとショートしてしまいます。
 これはコードが限りなく無抵抗の為、電流が沢山流れてしまうからです。
 LEDは消費電力が少ないことで有名です。
 電池にLEDを繋いでも少ししか抵抗がありません。
 なのでショートに近い状態となってしまいます。
 それを回避するために電池とLEDの間に抵抗を挟みます。

ダイオード:電気を一方向にだけ流す部品です。
 「右から左に電気が流れるのは良いけど、左から右には電気が流れないでほしい」そんな「電気の一方通行」を作りたい時に使う部品です。

クリスタル:一定周期でON-OFFしてくれる部品です。
 IC(CPU)速度を制御している、回路の時計みたいなものです。
 周期が早いほど回路が高速に動きます。
 もちろん周りの部品も早い動作に対応した物でなければ意味がありません。

ICソケット:ICを上に搭載する部品です。
 ICを付けたり外したりも可能です。
 部品によっては非常に熱に弱ものがあります、ハンダ付けをしている間に熱で壊れてしまうかもしれません。
 今回のキットで特に熱に弱い部品はIC(CPU)です。
 ICを直接ハンダ付けするのではなく、ソケットをハンダ付けしてからICを搭載するように添付しました。
 完成した後にプログラムの変更をしたい場合もICをソケットから外せるので便利です。

赤LED:ごく一般的な「砲弾型」の赤色LEDです。
 LEDは日本語だと「発光ダイオード」と言います。
 「発光=光る」と「ダイオード」が合体してますね。
 LEDにはアノードとカソード(プラスとマイナス)の極性があります。
 ダイオードの特性(電気の一方通行)も持っています。
 電源と直接つなぐと抵抗値が少なくショート状態になる為、通常は抵抗と一緒に使います。

コンデンサ1コンデンサ2:電気を貯める部品です。
 バッテリーと似てますが、1秒分すら電気を貯められません。
 コンデンサ1は容量の大きいコンデンサです。
 USB端子から5Vが供給されIC(CPU)に給電されます。
 ICには常にきちんとした電気の供給をしないといけません。
 そのため容量の大きいコンデンサを電源とICの間に挟んでいます。
 コンデンサ2はクリスタルの前後についています。
 クリスタルもシビアな部品(時計)です、きっと必要なのでしょう。
 こちらはクリスタルの説明書に「前後に付けましょう」って書いてあったので付けただけです、メーカーの推奨回路に従ったものです。

7セグメントLED:「8」と「.」が付いた表示器です。
 8を表示するのにナゼ「7セグ」と呼ばれているのか?
 よく見て下さい、8を表示するには7つの光る場所でできていますよね?
 3本の横棒(上段、中断、下段)
 4本の縦棒(右上、左上、右下、左下)
 合計7つのセグメントで構成されています。
 「.」があるから8つのセグメントでしょ!
 おっしゃる通り、今回は8セグメントの部品です。
 でも「7セグメントLED」と呼ばれています。
 開発当時は「8」だけ表示できるの部品で、「.」は後から付加され たのかもしれませんね。

USBコネクタ:USBのtypeBを差し込む部品です。
 今回はUSBコネクタから電源を供給します。
 パソコンに繋いでも給電できるし、モバイルバッテリーからも給電できるし、なにより今回の回路が5V動作の部品でできているのでUSBでの給電を選定しました。

スイッチ:単なるON-OFFスイッチです。
 ON-OFFだけできる「トグルスイッチ」と言う部品です。
 A点とB点の間に電気が流れるか否かだけをセレクトするものです。
 2本足の部品で十分だったのですが、カチカチ操作しているうちに基板から部品がもげてしまう危険性を減らす為に3本足の部品を選びました。

IC:ワンチップ型のマイコンです。
 CPUとRAMとROM(Flashメモリ)とGPIOと…色々合体しているICです。
 ATMEGA328という型番で、ArduinoUNOに使われているICです。

基板:すべての部品を搭載する板です。
 部品を搭載してハンダ付けするベースとなる板です。
 裏と表の2面に配線がされています。

2017年10月21日土曜日

Binary translation!(どうやって作ったか)

この商品のCPUはATMEGA328と言うICを使っています。
このCPUはArduinoUNOに使われているICです。

最初はArduinoUNOのシールドで作ろうと考えていました。
しかし「何か作るたびにArduinoを買う」という事が「もったいない」と思いました。
そこで今回は「Arduinoで開発」して「必要な部分だけ移植」する設計にしました。
試作はArduinoとブレッドボードで、製品はオリジナル基板で。
そんな思いから作られた商品となっております。

1.作りたいものに必要な部品を買ってきました。
 #スイッチ8個、LED8個、7セグメントLED5個

2.ブレッドボードに回路を組んでArduinoと接続してプログラムを書きました。
 #スイッチには逆流防止用にダイオードを付加しました
 #LED用には電流制限用に抵抗を付加しました
 #どちらの部品もラボにあった物を使いました

3.Arduinoで作ったプログラムが入ったCPUをブレッドボードに移植し、動作に必要な部品類を付加して動作確認をしました。
 #5V電源供給と16MHzクリスタルを付加しました

4.製品用に部品の配置(レイアウト)を考えました。
 #なんとなく部品を並べてみただけ

5.レイアウトを元にCADソフトで基板図を書きました。
  #アクリルで基板形状を作り部品搭載確認しました

6.基板屋さんに基板を作ってもらいました。
  近所の町工場で試作として5枚を、3日くらいで作ってくれました。

7.できあがった基板に部品をハンダ付けして動作確認、バッチリ動きました!

おおまかな流れとしてはこんな感じです。

もちろん失敗や苦悩なんかも沢山ありましたよ。

「なぜこの商品を作ったか」や「試作機がどんなだったか」は、下記ブログを御確認下さい。
n進数の話

2017年10月20日金曜日

Binary translation!(作り方)


こちら側から部品を搭載します。
反対側からハンダ付けします。






















背の低い部品からハンダ付けしていきます。

1.抵抗8本を基板のR1~R8にハンダ付けします。
  抵抗には取り付け向きがありません。
  しかし8つの抵抗の色の向きを揃えた方がカッコイイでしょう。

2.ダイオード8本を基板のD1~D8にハンダ付けします。
  ダイオードには取り付け向きがあります!
  部品の片側に黒線が引かれています、基板上のシルク印刷の部品絵にも線が書いてあります。
  線の向きを合わせてハンダ付けしてください。

3.クリスタルをQ1にハンダ付けします。
  クリスタルには取り付け向きがありません。
  しかし部品の上に文字が書いてあるので基板の文字と同じ向きに揃えた方がカッコイイでしょう。

4.ICソケットをIC1にハンダ付けします。
  基板上のシルク印刷の部品絵に切り欠きがあります、部品にも切り欠きがあります。
  切り欠きの向きを合わせてハンダ付けしてください。

5.赤色砲弾型LEDをLED1~LED8にハンダ付けします。
  LEDには取り付け向きがあります、足の長さで判別します。
  足の長い方が上(スイッチ側)にしてハンダ付けしてください。

6.コンデンサ1はC1に、コンデンサ2はC2とC3にハンダ付けします。
  コンデンサに取り付け向きはありません。
  コンデンサ1は部品の足の幅が広く、コンデンサ2は部品の足の幅が狭いです。
7.7セグメントLEDを7SEG1~7SEG5にハンダ付けします。
  基板上のシルク印刷の部品絵にピリオド(小数点)が描かれています、ピリオドの位置が同じになるように向きを合わせてハンダ付けしてください。

8.USBコネクタをCON1にハンダ付けします。
  USBコネクタには向きがありますが、1通りしか刺さる方向が無いので間違える事はないでしょう。

9.スイッチをS1~S8にハンダ付けします。
  機能的には向きはありませんが、外形的に向きがあります。
  向きを揃えてハンダ付けした方がカッコイイでしょう。

10.ICをICソケットに差し込む。
  ICには向きがあります、ICソケットの切り欠きとICの切り欠きを揃えて差し込んでください。
  ICにはプログラム書き込み済みです。
  「ICピンそろった」という工具で、ICの足を揃えてあるので比較的簡単に刺さると思います。
  くれぐれも、無理に力を入れて足を曲げないように注意してください。

お疲れ様でした、これで完成です。

Binary translation!(キット品に入っているもの)


基板       1枚

抵抗       8本 (8本とも同じものです)

ダイオード    8本 (8本とも同じものです)

クリスタル    1個

ICソケット    1個

赤色砲弾型LED   8個 (8個とも同じものです)

コンデンサ1   1個 (足の幅が広いコンデンサです)

コンデンサ2   2個 (足の幅が狭いコンデンサです)

7セグメントLED  5個 (5個とも同じものです)

USBコネクタ    1個

スイッチ     8個 (8個とも同じものです)

IC        1個


すいません、後日写真を掲載します。

2017年8月20日日曜日

n進数の話(試作機完成!)

そんなわけで試作機をアクリル板にラッピングワイヤーで作りました。

表面
アクリル基板の上に部品配置してアクリルの蓋をかぶせてみた!

裏面
線は足に巻いてあるだけ。
配線間違えしてても巻いた線を外すだけで修正可能!

横から
こんな感じ。

いよいよ電源繋いで動作確認するよ!

2017年7月13日木曜日

n進数の話(試作機作る!)

前回は、段ボールに基板図のプリントアウトを張って部品を搭載してみました。

今回は実際に配線して電気を流し動作確認までしようと思います!

今回は「実際の大きさ」で「実際の配置」をして動作確認してみたかったので
蛇の目基板は使わないことにします。
とは言え、段ボール基板だと燃えると嫌なのでアクリルで作ろうかと思います。

まず基板図から「基板形状」と「穴」の部分だけ抽出してレーザー加工機を使い
アクリルで基板を作ってみました。





















ピンボケですいません…、透明アクリルの撮影は難しい。

これに部品を差し込んで、配線します。
どうやって配線するかって?
「ラッピングワイヤー」で配線します!

まず下記のような「長足丸ピンソケット」を使います。















アクリル基板に長足丸ピンソケットを差し込みます。



















こんな感じ、またピンボケ。

このようにアクリルに長足ピンソケットを差し込んでいき、ソケット部分に部品を差し込んでいきます。

細い足の部品にラッピングワイヤーは難しいです。
足の短い部品もラッピングワイヤーは難しいです。
そんな事から全ての部品を長足ピンにしてラッピングワイヤーします。

次は全穴に長足ピンソケット刺して、長足ピンソケットに全部品搭載して、ラッピングワイヤーで配線するまで一気に進める予定です!

2017年6月30日金曜日

n進数の話(変換機作る?)

2進数、私は指折り数える事が出来ますが友人は「無理」と。
まぁそうでしょう、いきなりは難しいでしょうね。
しかも16進数だったりすると足の指まで使わないと数えられません!
これは私でも無理です。

そこで「2進10進16進変換器を作っみようかなー」なんて考え始めました。

お得意の「Arduinoのシールド」で作ればいいかな?
と思ったのですが、Arduinoは高いのでプレゼントしたくありません。
でもArduinoの開発環境の手軽さで作りたい……。

そんな事からArduinoで作ってCPU(ATMEGA328P)を引っこ抜いて
実装する方法でプレゼントを作る事にしました。

1.仕様を考えよう!
 たしか2進数を10進数にしたいって言ってたような…
 脳内で考えましたw
 スイッチを8個(8bitまで計算できるように)。
 確認用のLEDを8個(明示的にどのbitが立ってるか見せる為)。
 7セグメントLEDを3個(255まで表示する為)。
 更に7セグメントLEDを2個(16進数の0xFFまで表示する為)。
CPUはATMEGA328Pで。
 あとは適当にLED用の抵抗とかCPU用のコンデンサかな。
 電源は…USB給電で良いかなー。
2.回路を考えよう!
 みんなのラボにはEagleの安いライセンスがあります。
 私はEagleでイキナリ部品を並べます。
 そして配線をします。
 最初はCPUとスイッチとLEDと7セグ。
 次に必要に応じたて抗やコンデンサ。
 できました!
3.基板図を引こう!
 いい具合に部品を配置します。
 この時点で基板の外寸が決まります。
 次に配線です。
 私は配線が大好きです、だってパズルみたいじゃないですか!
 配線が出来たら仲間(みんなのラボのメンバー)に見てもらいます。
 #仲間がいるって良い事ですよ!
4.試作します
 実寸大の基板図をプリンタで刷ります(表と裏を別々に)。
 段ボール紙に印刷したものを貼ります(表裏ずれないように)。
 段ボールにリード部品用の足穴開けます(キリとかで)。
 段ボールに部品を乗せてみます(部品どうしがぶつからないか)。
できました!

抵抗とコンデンサは未実装だけど、なんとなく部品同士の干渉はナシ!


















でも…違う角度から見るとスイッチの裏にLEDが隠れちゃってるな。

こういう部分は実際に組み上げてみないと気が付かない部分ですね。

今日は疲れた、続きはまた今度にします。

2017年6月9日金曜日

n進数の話(続き)

今度は違う人から質問が来ました。
その人は「16進数」が知りたいらしいです。

「いやいや2進数と同じでしょ!」と思うのですが、わからない気持ちも理解でします。

前回のBLOGにも書いたように
10進数は「じゅう」って言ったら負け。
2進数は「に」って言ったら負け。
同じように考えれば16進数は「じゅうろく」って言ったら負けなだけなのです。

その人曰く
 人間界には0~9の10個の数字しか存在しない。
 2進数の場合0と1を使えば良い。
 8進数の場合0~7を使えば良い。
 ところが16進数の場合0~9では表現できない!
 0~15だと、既に2桁になってるし!
 ってかAとかBとか英文字でてきて意味わかんないし!
との事。

Aは一文字、つまり一桁ですよね。
B、C、D、E、Fも一桁ですよね。
16進数の場合0~F迄で16個の数字を表現します。
0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
16個あるでしょ?

Fの次は?
Gではありません。
16個目の次は桁上がりです。
つまり10です。

下記、左が10進数で右が16進数の数字です。
0=0  1=1  2=2  3=3  4=4  5=5
6=6  7=7  8=8  9=9 10=A 11=B
12=C 13=D 14=E 15=F 16=10
16の所で桁上がりして10になりました。
念の為、もう少し途中経過を書きますね。
43=2B
94=5E
ですね。

こんなのどうやって計算するの!?

落ち着いて下さい、簡単です。

まず16進数を10進数に直す方法を書きます。
例として16進数の5Eを10進数にしてみましょう。
まず上の桁が5ですね、つまり16が5個集まっているのですよ。
まず16進数の50を10進数に直すと「16×5」で80です。
あとは下の桁のEですが…これは数えるしかないですね。
9、A、B、C、D、E = 9、10、11、12、13、14
16進数のEは10進数の14ですね。
さっきの80(50の10進数)と、今の14(Eの10進数)を足すと94です。
なので16進数の5Eを10進数に直すと94という事です。

A~Fを英文字として認識するのではなく、9以上の一桁の「数字」として認識すれば良いのですよ。
応用すると「20進数の場合は0~J迄を使えば良い」感じですね。

わかりましたか?
これで10進数以上も対応できますね!

2017年4月21日金曜日

n進数の話

友人から「2進数」について質問されました。
そこで私が「2進数」を説明するために考えた事をココに書いておきます。
学術的に正しい説明かどうかは知りません。
ただ友人に理解してもらえるように書いたつもりです。

まず「2進数」とは何か?
 10進数って1桁が0~9までの10個の数字があるよね。
 10個の数字があるから10進数って言うのだと思うん。
 同じ考え方をすると2進数は1桁が0と1しかありません。
 2個の数字しかないから2進数って言うのだと思うん。

ゲームをしよう!
 10進数ゲーム!
  ルール:「じゅう」って言ったら負けね
   0(ぜろ)
   1(いち)
   2(に)
   3(さん)
   4(よん)
   5(ご)
   6(ろく)
   7(なな)
   8(はち)
   9(きゅう)
  その次は?「じゅう」って言ったら負けだよ?
   なので10の事は「いち、ぜろ」って言えばいい。
   「いち」と「ぜろ」の2つを言ったよね?
   つまり、それが2桁なんだ。
 では同じように2進数ゲームをやってみよう!
  ルール:「に」って言ったら負けね
   0(ぜろ)
   1(いち)
  その次は「2」を何て言えば良いの?
  そもそも違うよね?2は使わないんだから。
  10進数の場合、10は2桁ですよね。
  2進数の場合、2は2桁なんですよ。
  なので0、1の次は10なんです。
  10進数で「じゅう」って呼ばれる一桁は存在しません。
  2進数でも「に」って呼ばれる一桁は存在しないんですよ。
  では話を戻して
   0(ぜろ)、1(いち)の次は10「いち、ぜろ」ですね。
  せっかくなので、もっと先まで数えてみましょう。
  0(ぜろ)、1(いち)、
  10(いち、ぜろ)、11(いち、いち)、
  100(いち、ぜろ、ぜろ)、
  え?もぉ100なの?
  そうですよ、10の次は11、これはわかるでしょ?
  11の次は12、、、いや2は使っちゃダメだって。
  んじゃ繰り上がりして21、、、いや2入ってるし(笑)
  そしたら桁上がりするしかなでしょ、と言う事で100。
  すぐ桁上がりしちゃうので、もう少し数えてみよう!
   0、1、
   10、11、
   100、101、
   110、111、
   1000、1001、
   1010、1011、
   1100、1101、
   1110、1111、
   10000、、、、、
  わかった?これが2進数ね。

指折り数える事も可能だよ!
手の指、両手で10本あるよね?(ない人ごめんなさい)
 まず10進数。数が増えるごとに指を折ってみよう。
 両手を開き、手のひらを自分に向けてください。
  0は両手を開いてます。
  1は右手の親指を折りましょう。
  2は右手の親指と人差し指を折りましょう。
  3は右手の親指と人差し指と中指を折りましょう。
  4は右の親、人指し、中、薬
  5は右の親、人指し、中、薬、小
  6は右の親、人指し、中、薬、小、左手の小
  7は右の親、人指し、中、薬、小、左の小、薬
  8は右の親、人指し、中、薬、小、左の小、薬、中
  9は右の親、人指し、中、薬、小、左の小、薬、中、人
  10は両手の指、全部折るよね。
 次は2進数、とりあえず片手だけで十分かも。
 右利きだと思うので、右手を例に書きます。
 まず右手を開き、手のひらを自分に向けてください。
 指を伸ばしている状態を0、指を曲げている状態を1とします。
  右手の指5本伸ばしている状態は「00000」ですよね?
  つまり0は「00000」です。
  1は「00001」です、つまり親指だけ折り曲げですね。
  2は「00010」です、つまり人差し指だけ折り曲げです。
  3は「00011」です、親と人を折り曲げです。
  4は「00100」です、中だけ折り曲げです。
  5は「00101」です、親と中です。
  6は「00110」です、人と中です。
  7は「00111」です、親と人と中です。
  8は「01000」です、薬です。
  9は「01001」です、親と薬です。
  10は「01010」です、人と薬です。
  11は「01011」です、親と人と薬です。
   :
   :
  31は「11111」です、親人中薬小の全指を折ります。
 つまり2進数の場合、片手で0~31まで数えられるんですよ!

とりあえず、こんな感じ。
難しいですか?
後日もう少しわかりやすいように絵か写真を入れるかも。

P.S.上記の事を応用すれば何進数でも対応可能だよね!

2017年2月23日木曜日

VECTREXのおはなし

「みんなのラボ」には関係ない、WAKAの個人的な話です。
#自分用のメモ&今後同じ事に遭遇する人の為の記録です

WAKAは「VECTREX」ってゲーム機を持っています。
1982年くらいに出たらしいベクトルスキャンモニタ付きのゲーム機ですね。
#いわゆる「高速船」ってやつです
VECTREXには1つのゲームが入っています。
しかし1つだけなので飽きてしまって最近は全く遊んでいませんでした。





















そう言えばVECTREXにはカートリッジらしきものを差し込む穴がありますね。
「何かカートリッジが出てて別のゲームができるのかな?」と思い、ちょっと調べてみました。









なんと、沢山のゲームが売られていたではありませんか!
ん?ゲーム以外にも変なものが出てるぞ??
BASICインタプリタのカートリッジ?

はい、買いました。











どんな物か?詳細は下記ページを見てください。

最初はカートリッジを差しても何の変化も無く元々入っているゲームが立ち上がるばかり。
「もしかして壊れてる?」とも思いました。
しかし何度も何度も抜き差しして、電源の入れ直しをしていたら、、、動きました!
長年カートリッジを差していなかったのでコネクタ部分が汚れていたのかもですね。

英語読みたくない病なので、全く使い方が解りません!
日本語で検索したらツイッターにちょっと載ってました。
うーん、この人とは違う挙動だなー、、、。

現時点での挙動を以下に書きます。
1.Vectrex32カートリッジをロゴ面を上に差し込む。
2.Vectrexの電源を入れる。
3.Vectrex本体のロゴが出る。
4A.ほとんどの場合、内臓ゲームが立ち上がる。
4B.たまに「Vectrex32 1.14 @GCE 2016」が表示される。
5B.そのまま固まるか、「WAITING」って出て固まる。
運良くカートリッジ起動できても即固まって何もできない!

Vectrex本体を持っている友人がいるので、カートリッジの起動確認をしてもらおう、、、。
もし起動したら本体(たぶんコネクタ部分)がヘタってるんだろうなー、、、。

P.S.
Vectrex32にUSBケーブルを差してもWindowsからは何も認識されない。
Vectrex32にUSBケーブルを差し、Vectrex32をVectrexに差し
Vectrex本体の電源を入れるとWindowsから見える!
「CDC + MSD Demo」ってのが見える、現状ドライバとか何入れるか不明。

今日はココまで!

Vectrexや高速船、Vectrex32をお持ちの方、お友達になってくださーい!

2016年12月22日木曜日

仲間が増えました!

ちょっと前の話なのですが「デジゲ―博」というイベントに出店しました。
このイベントをきっかけに、2人もメンバーが増えちゃいました!

まず1人目「NAVEちゃん」
この方は「デジゲ―博」で「みんなのラボ」ブースの隣の隣にブースを出されていました。
出店者には、事前に出店者同士の情報が見れるページが公開さていました。
そのページを見てラボを知り、メールを送ってきてくれたそうです。
すぐにラボの見学に来て、そのままメンバーになりました。
デジゲ―博」当日は「みんなのラボ」のメンバーと共に店の運営を営みました。





NAVEちゃん
なぜか歯ブラシ銜えてる
新商品を製作中!






そして2人目「ICHIさん」
この方は「デジゲー博」に見学(お客様)としていらっしゃいました。
みんなのラボ」のブースに来て「興味があるのですが、、、」と。
「近日見学に来ませんか?」とお誘いしました。
数日後ラボの見学に来て、そのままメンバーになりました。
#残念ながらマダ似顔絵はできていません


お知らせ
みんなのラボ」のメンバー募集を一時中止としました。
理由は「部屋の大きさ的に考えて、現状のメンバーでいっぱい」だからです。
あと見学者が来る時は「いつもより念入りに片付けておく」とか「いつもより沢山お菓子を用意する」とか通常よりも準備が大変なので見学もお断りするかもしれません。
申し訳ありませんが、ご理解お願いします。

レジ作ってるよ!その2

どんな機能を入れれば良いか?
今回は「先に機能の洗い出してる時間が無い」と判断。

なので「後から機能追加できるような設計にすれば良い!」と決定。
#いや、私の心の中で勝手に決議してるだけです

まず昨日のおさらい!
マイコンボードと、それぞれのデバイスでの動作確認は終了している。
 Maruduino(マルツ製Arduino互換機)と下記デバイスね!
  バーコードリーダーからの読み込み
  キーボードからの読み込み
  LCD3WIREへの文字表示
  メモリ液晶ブレークアウト基板へのドット描画
  ロール紙プリンタでの印字

LCD3WIRE用にデバック表示プログラムを組みました。
#単にエラーの種類とエラーの理由を表示するだけの簡単なもの









次にメモリ液晶にも文字を表示させようと思いましたが、、、
メモリ液晶は400×240ドットの高精度液晶ですが、フォントが無い!
仕方が無いのでVECTORフォントのデータを作る事にしました。
それでも前準備は必要です、とにかくラインを引くプログラムを作りました。
次はついにフォントの頂点データです!
0~9とA~Z、、、4時間くらいかかりました、でも完成!
メモリ液晶の任意の位置に文字が出せるようになりました。
しかも頂点データからラインで文字を描くので拡大縮小機能も付けました!
#文字の回転、今回は不要と考え省きました














#アクリルが汚くてスイマセン

今日はここまで。
画面に何か表示できるとモチベーションがすごく上がる!

2016年12月20日火曜日

レジを作ってるよ!

みんなのラボは、様々なイベントに参加しています。

コミックマーケット(コミケ)だったり
ニコニコ技術部(ニコ技)イベントだったり
MakerFaireだったり
その他にも多数参加しています。

そんなイベント時に使う、ポータブルなレジを作ろうと思いました。

どんなものを作ろうか?
マイコンボード:やっぱりArduinoで作るのが良いかなー。
#今回はArduino互換機、マルツさんのMaruduinoを使います(単に手元にあったから&本物より安いから)
何が売れたかの入力部分:キーボードかなー?
表示部分:LCD3WIREとかメモリ液晶ブレークアウト基板とか自社製品のDEMOを兼ねられたらいいなー。

まずはこんな漠然とした感じで。

ArduinoとLCD3WIREメモリ液晶ブレークアウト基板は手元にあるとして、、、。
キーボードはどうしようかな?

ちょっと探したら「ArduinoにPS2規格(プレイステーションじゃないよ!)のキーボードを繋いで読み取る方法」が公開されているじゃないですか!
さっそくPS2キーボードのコネクタを買ってきて、Arduinoとキーボードと繋ぎサンプルプログラムを動かしてみると、、、
キーコードきた、完璧だ!
これそのまま使おう。


そう言えばジャンクのPS2規格バーコードリーダーを、以前ラボのメンバーから頂いた事を思い出しました。













これも使えたりしないかな?
繋いでバーコードを読ませたら、キーボードで入力したかのように文字列が返ってくるじゃないですか。
これはイケる!
これも使おう。

バーコードは普通のプリンタで刷って、テープで商品に貼るの?
ちょっとダサいな、、、
ラボのメンバーに相談、なんとラベルプリンタ持ってる人がいるじゃないですか!
#ブラザーのラベルプリンタ(いま手元に無く型番不明)
借りました、バーコード刷ってみました、バーコードリーダーで読み込んでみました。
読み込める、完璧じゃないか!

しかもPS2接続のテンキーもオマケで頂きました。













商品にバーコードを貼って、メンテナンス用にチョットだけキーを使う。
必要最小限のキーがそろっている。
コンパクトで嬉しい!


ここまでくると、レジらしいロール紙プリンタも付けたいな!
これは私が以前買って持っていました。
ナダ電子のプリンタでArduinoのシールド型になっています。
これは前に印刷実験したことがあるから大丈夫!
これも使おう。

なんか豪勢な組み合わせになってきたけど大丈夫かな?
しかもコミケまで10日くらいしかないんだけど、、、

頑張って作る!

2016年11月25日金曜日

印刷機が来た!

みんなのラボに印刷機が来ました!

普通「印刷機」と聞くと「紙にインクを乗せる機械」と思い浮かべますよね。
今回入手した印刷機のメーカーは「サンハヤト」です!

なんとなく解りましたか?
まだ解りませんか?

型番は「SR-250]と言うモデルです。
型番でググるとオートバイが出てきますね。

型番とメーカー名の両方を入れてググりましょう!
#メーカーの商品ページはコチラ


我々はこの機械を使って基板にペースト半田を塗ろうと考えています!
#機材自体の写真はメーカーのページをご確認ください

SR-252(フレーム)に、基板製造依頼と同時に注文したメタルマスクを貼り付けます。






上がフレーム





下がメタルマスク
















とりあえず養生テープで貼ってみた


















本体にフレーム(メタルマスク)をセット!
位置あわせが難しい、、、


















ピッタリあいました!










すばらしい!
ペーストハンダ塗りに使えそうだ!!


今日はココまで。
実際に塗るのはまた今度。
お楽しみに!