★★ 更新  2024.4.1                                     ★★ By T.Endou ( 遠藤 敏夫)
Python
ゲームソフト
子どもパソコン
IchigoJam
PICマイコン 電子工作の基本 アセンブラ入門 プログラムのダウンロード 問い合わせ My Photo のコーナー
My Audio
中学数学
算数物語

本に掲載されている
プログラムをダウンロードするページです。
また、本の内容や下に紹介する製作例に関するご質問等ありましたら、気軽にお問い合わせください。
                                           






    




 








 表紙クリックすると
100の項目が表示されます


       BookW(2010/11)

       わかる!電子工作の基本100
                 秀和システム

本書はラジオ、ステレオ等のアナログから、最近の先端を行くデジタルそしてマイコンまで、電子工作全般の基本的なことがらを、マメ百科として活用できるように100項目にまとめました。私自身がつまずき、悩んだことがらを、小中学生にも分かるように、できるだけ簡単に読みやすく書きました(ただし、ほんの少し高校の数学を必要とする箇所があります)
掲載した回路等は、私自身のオリジナルのものは勿論、旧来からあるものも全て実際に製作し確認したものです。

<目次>
Chap.1.楽しい電子工作を始めるにあたって
Chap.2.知るほどに興味深い『電気の基本』
Chap.3.電気回路の主役たち
Chap.4.親しみやすくて実用的なアナログ
Chap.5.限りない可能性を秘めたデジタル
Chap.6.知っておきたい電子回路の基礎知識
Chap.7.誰にでもすぐに始められる『マイコン』の活用法




 
『電子工作の基本』補記
(←本文はこちら)
(本には書かれていないことで、その後思いついたことなどを随時書き込んでいきます)

<主な項目>
★趣味の始まり  ★ハンダごて  ★ICやマイコンの足を折ってしまったら
★ICやマイコンのソケット  ★コンデンサのはたらき(追加)  ★IchigoJamのキーボード(書き換え)
★アンプIC  ★ワイヤレスマイク(改訂版)  ★自作可能 Hi-Fi ミニステレオ
★人気のArduino、ESP32、ラズベリーパイに関して  ★PICマイコンで使われるアセンブラ
★私がPICマイコンに取り組んだ訳  ★サーボモータについて(知っておきたいこと)

(2024.1.25)

★★★  「電子工作」が全く初めてという方のためのページ  ★★★

上の本は、全くの初心者には分かりにくいという感想・意見がありました。
おそらく、見慣れない回路図のせいと思われます。私自身も小学生の頃は
実体図を頼りにしていましたが、慣れれば回路図の方が断然見やすいですし、
自分でパーツの配置を考えながら制作した方がやりがいがあります。
そこで、ブレッドボードを用いてLEDを点灯させるところから分りやすく説明しようと思います。

(2024.1.25)

本文はこちら









Python によるゲームソフトです。
Python がインストールされているパソコンなら、大抵動きます。
ファイル(圧縮)をダウンロードし展開すれば、フォルダ内の「*.py」をダブルクリックすることで Python が起動し開始します。
対戦型では、「W」、「S」、「A」、「D」キーと方向キーで対戦します。
ボールを投げる、サーブを打つなどはスペースキーです。
同一のプログラムが二つ入っているので、一つを保守用としてどんどん手を加えてみてください。
私はPythonを学術的な分野で活用できるほどには習得していません。
下にあるような子ども向けのゲームソフトなら、誰でも少し勉強すれば作ることができるようになります。
私が参考にしたのは、廣瀬豪氏著の「Pythonでつくるゲーム開発入門講座」です。



親のPythonと三人の子が対戦するカードゲーム。
二枚または三枚のカード(どちらにするかは各自で決める)の合計の、一の位の数で勝負する。
9に近い方が勝ち。
(『オイチョカブ』を簡略化したもの)
ファイル(圧縮)はこちら


自身で創作した「作柵」というゲーム。将棋や囲碁のように二人で対戦する。棒を交互に置いて柵を作り、
より広いエリアを確保した方が勝ち。囲碁に似ているが、囲碁のような難しいルールではなく、
小さい子にも分かりやすい。現物で作るのは大変なので(下の写真)、Pythonで作ってみた。
下はある対戦の途中の図。終盤へきてゲームは大きく動く。
ファイル(圧縮)はこちら







最上段の中央に数が現れ、数秒後に落下が始まる。落下が始まる前に「←」、「→」で列を決める。
下に落ちた数は、横隣の数との和が10のとき、縦並びの2個ないし3個の数の和が15のとき、消える。
いずれかの列が赤線を超えるとゲーム終了。スタートする前に落下が始まるスピードを変えられる。得点は落下した数の個数。
ファイル(圧縮)はこちら


上のゲームを対戦型にした。数が交互に落ちる。始める前に勝負する個数とスピードを決める。赤線を超えたら途中でも終了で負け。
全部落下した時の数の個数が少ない方が勝ち。
ファイル(圧縮)はこちら


迷路の中にある自分と同じ色の玉を早くすべてゲットすることを目指す。カボチャお化けにぶつかるとスタート地点に戻される。
茶色のカボチャは決まったエリアを動くが、緑のカボチャは後を追いかけてくる。時間内に多くをゲットした方が勝ち。
双方が全てをゲットした場合は残り時間の多い方が勝ち。
動きの基本は上記書籍の「はらはらペンギンラビリンス」(とてもよく作られている)を参考にした。
カボチャは「ホームページビルダー」にあったものを拝借し、ダルマは「Dynamic Draw」で作画し、
「Word」で背景を消した。
ファイル(圧縮)はこちら


シャトルの代わりに赤い球を打ち合うバドミントン。ラケットの黒の多い部分に当てるほど球は高く打ち上げられる(天井の上に消える)。
ネットより高い位置でピンクの部分に当てると、スマッシュとまでは行かないがフェイントのように落とすことができる。
ファイル(圧縮)はこちら



スペースキーを押すと、左下の方から赤い球が飛んでくる(放物線軌道で)。
一旦ラケットで受け、右の壁に跳ね返った後再度ラケットに当てて、左下の的を狙う。
左上は最初に打ち上げられるときの放物線の方程式。打ち上げる前に、プレーヤーの対戦相手が
x二乗の係数a および、x-b のb の値を変えられる。
ファイル(圧縮)はこちら


27枚のカードから上のような操作を3回繰り返して、最初に決めたカードを見つけるという定番のマジック。
選んだカードとは別に、選んだ数(右下)の回数だけめくると決めたカードが出る。
ファイル(圧縮)はこちら


選んだカードを見つけ出すというやはり定番のマジック。単純なしかけあり。
ファイル(圧縮)はこちら


赤い球を打ち合う壁テニス。中央のピンクの丸に触れると、球の角度とスピードが変わる。天井のピンクに当てると+3ポイント。
ファイル(圧縮)はこちら


Python と対戦するマンカラ。Pythonはそれほど強くないが、なめてかからない方がよい。
箱の選択は「→」「←」、決定は「↓」キーで。
ファイル(圧縮)はこちら  人対人はこちら


守備側のピッチャーは「Spaceキー」で投球。その際、「E」、「D」で高さを、「S」、「F」でスピードを変えられる。
投球されたボール(白い球)は画面の下の方の左から飛んでくる。
バッター(橙色の丸がバットの断面)は、ボールに合わせて「↑」、「↓」でバットの高さを変え、「←」でタイミングを合わせてスイングする。
ピッチャーは全てストライクのボールを投げてくる。バッターは皆右打者で、当てるタイミング、角度がよいとホームランもあり。
ファイル(圧縮)はこちら


                                              




                                                                             

★★ここで使われる言語『BASIC』はプログラミングの入門に最適です

IchigoJam プログラム 1
・イチゴキャッチ
・ケイバレース
・スロットマシーン
・カードゲーム(I Jと対戦)
・生き残りゲーム(I Jと対戦)
・壁反射

IchigoJam プログラム 2
・立体4目並べ
・あおむし
・生き残りゲーム
・数の落下
・かべテニス


               
IchigoJam自作基板  実体回路図 / 説明



基板右上のパーツはモニターの電源用で、「HiLetgo 2A DC‐DC ブーストステップアップモジュール」です。キーボード用ソケットの上に貼り付けています。写真のように入力を5Vにつなぐと、簡単に12Vが作ることができます(テスターで電圧を見ながらネジで調整)。安価でとても高性能です。ただしこの際、その下の電源入力基板にある小さなパーツ(これはヒューズ)をショートする必要があります。このヒューズは基板に大きな電流が流れた時にカットする働きをしますが、右の写真のようにモニターをつなぐと、200mA程度の電流が流れるので、ヒューズが動作してIchigoJamが起動できなくなります。
補足)今回用いたモニターは車用なので、車のバッテリー電圧(12V)に合わせていますが、試してみると6.5Vくらいから使えます。その時には電流は400mA程度流れます。

IchigoJamで使われるのはもっとも基本的なBASICと呼ばれるプログラム言語ですが、BASICでプログラミングを経験しておくと、先へいってどのプログラム言語に取り組む場合にも基本となるものは変わらないので、大いに役に立ちます。



子どもパソコン「IchigoJam」を子どもでも手軽に手に入れられるように、できるだけ安く組み上げたのが上の写真です。キーボード(PS2タイプ)およびモニター(車用)はどちらも千円ちょっとで購入したものであり(中古品で見つかればもっと安い!)、モニター用の電源(普通は12V程度のACアダプターを用いる)も左にあるようにしたのでかなり安上がりでコンパクトに作れます。電源は今ならどの家庭にもある携帯用が使えます(ただし差し込み口は楕円ではなく台形のタイプ)。一つ用意しなければならないのは、基板とモニターをつなぐコードです。オーディオで使われているRCAというタイプのコードですが、基板もモニターもメスのタイプなので両端がオスのタイプのコードが必要です(上の写真では途中を切断した短いコードを使用)。なお、モニターはTVでも、DVDプレーヤーでも、ビデオ端子(一般的に黄色)があれば使えます。中央のICの上にあるのは外付けのメモリー(EEPROM)で、これに関しては少し知識が必要です。トライしてみたいという場合は上の記事(回路図)を参考にしてください。既製品も売られています。

右の写真はNECの最初のPC(パーソナルコンピュータ)として登場したPC-8001というコンピュータで、私が手に入れたのは1980年ころです。キーボード下の本体にCPUやRAM、ROMといったパーツを搭載した基板が組み込まれています。ディスプレーは今と違ってブラウン管によるものなので、かなり奥行きがあり場所をとりました。内蔵されたRAMは16k(32kまで増設可)です。またプログラムの外部への保存はカセットテープで、保存や再生にはラジカセを用いました。まだWINDOWSやその前のDOSと言ったものはなく、一般的にプログラムの作成は本体に書き込まれたBASICを活用しました(マシン語でというつわものもいましたが)。ディスプレーも含めた価格は当時の私の一か月分の給料では遠く及ばず、気軽に手に入れられるものではありませんでした。また発売当時は当然ですがいわゆるアプリ(ソフト)は売られていないので、必要なものを自分で作るというのが当たり前でした。今思えばプログラミングが楽しく感じられる懐かしい時代です。
IchigoJamはこのコンピュータとほぼ変わらない機能を(もちろん及ばない点もいくつかあるが)、上にあるように小さな緑色の基板一つで実現しているわけです。しかも子どもでも小遣いで買えそうな価格です。基板上のICにはCPUはもちろん、各種メモリー等全てのものが組み込まれており、さらに驚きなのはBASICまで書き込まれていることです。また作成したプログラム64kバイト分を、簡単に抜き差しできる外部メモリー用IC(EEPROM)に保存できます(本体には4kバイト分保存可能)。




                                        





『マチ子先生とトボ僧の算数物語』、『教科書では物足りない中学生へ』 書き改めました(2023.10.12)


マチ子先生は元高校の数学の先生。

トボ僧は小学4年生の男の子。ちょっと変わった性格だが、算数(数学)に関してはとびきり優れた頭脳の持ち主。

私はトボ僧の姉。私たちはある時偶然公園でマチ子先生と出会い、それをきっかけにマチ子先生が問題を出し、トボ僧(一応私も)が解くという関係が始まった。

問題は私には手に負えないものばかりだが、弟は次々と解決していく。

小学生にもわかるけど、大人にも分からない問題の数々。
問題は昔からあるよく知られたパズルの問題や、マチ子先生が独自に用意したものなどいろいろ。



本文はPDFファイルです。見開き(2ページ)にすると、左側が本文、右側が図や解説となっていて読み易いです。

本文はこちら

『微分法』・『積分法』そして『複素平面』の話題も登場します
表題にあるように、学校の教科書では物足りなく感じている中学生向けに、学校の授業では扱われないような話題や、高校で習う数学の基本の部分をまとめました。

数式を一切使わない問題もあります。どちらかというと、国語の問題ではないかと思われるものもありますが、やはり数学的な思考で解く問題です。

高校で習うことを先取りすることの意味は、科学の啓もう書などを手にした中学生が、より興味深く読み進められるようにということからです。
私自身次のような経験があります。
ジョージ・ガモフという物理学者が著した『1,2,3,・・・無限大』という本を中学時代に読んだのですが、その中にあった「虚数を使う宝探し」の問題を、その時には理解できずにいました。でも、高校で複素数・複素平面を習うことによって初めて理解できるようになったのです。

また、左にある 1+2+3+・・・ と自然数を無限に足していくと、−1/12 になるという奇妙な等式。私は正直理解できるところまで挑戦していませんが、皆さんの中には将来挑戦して理解できる人もでてくるでしょう。

正五角形の作図法は?出来上がった正五角形は『黄金比』だらけです。正五角形が美しいわけが分かります。

「コーヒーカップ=ドーナツ」の世界も興味深いです。一筆書きの問題や、この世には正多面体は5個しか存在しえないことの証明につながります。いわゆる『トポロジー(位相幾何)』と呼ばれる数学の分野の話です。

ラグビーボールは楕円球と呼ばれます(つまり楕円の回転体)。また太陽の周りを回る地球は楕円軌道を描きます。楕円とは何か。どのように定義されるのか。円には中心がありますが、楕円には焦点と呼ばれる二つの定点があります。楕円の焦点はどのような性質をそなえているでしょう。

本文は下をご覧ください

目次のページが開きます (本文はPDFファイル)  下は目次の一部

§01なぜエレベーターには0階が無いのか(数が意味する2つのこと)
§1数学におけ対的0で割るな)   §2背に天使生えたか(見えないものを推理する)   
§3常識解でるか
(人知を惑わす確率の問題)   §4.窓は放つべきか(期待値の功罪)   
§5.異質な玉を見つけ4個の場合は3回、12個の場合も3回?)   §63人による文句の山分け(ねたみも生じない分け方は可能か)   
§7.この世に5存在せず(「コーヒーカップ=ドーナツ」の世界)   §8自然界のを数学的に解明する(フィボナッチの数列)



§28自然数を無限に足していくと不思議なことが起きる1234+・・・)    §29.プログラングフローチャート(いかなる言語にも共通する基本)   











マイコン活用の電子工作のために必要なのは
・マイコンにプログラムを書き込めるようになること
・電子工作の基本を習得すること
・何を作るかというアイデア
の三つです





マイコンって何
PICマイコンの特徴  ★PICマイコンの外観  ★主なPICマイコン
PICマイコンでどんなことができるか
PICマイコンの開発はどのように行われるのか
用意すべきもの  秋月電子の紹介
最も代表的なPICマイコン「16F84A」について

どんなことが分るようになればよいか

PICマイコンの少々扱い難い構造について  「MPLAB IDE」について
「MPASM」はどんなアセンブラか
インストールした「MPLAB」が起動しないとき
マイクロチップ社のMPLABをダウンロードしたりPICマイコンのデータを調べたりするには

PICマイコンにおける高級言語(C、BASIC)について
マイコンがもっとも有用に活用されるI2C通信、UART通信SPI通信について
アセンブラ(MPASM)を用いて16F84Aでどこまでできるか

PICを基板等に実装したままプログラムを書き込む方法

AKI−PICプログラマーをWin10のPCで使うには

PICKit3の書込みでエラーになる場合

各種センサの紹介



多くは子どもたちが集まるイベントでの活用のために製作したものです
プログラムはすべてPICマイコン用のアセンブラ(MPASM)で作成しています。メモ帳で表示できます。
回路図、プログラムを参考にされるのはかまいませんが、すべて自己の責任においてお願いします。
どこかしらに工夫を加えて、他にはない自分だけのものを作られることをおすすめします。
不明な点がありましたら、お問い合わせください。
 


おしゃべりネコ

プログラム

回路図

子ども会館へ寄贈するために作製した「おしゃべりネコ」

ぬいぐるみは「猫田係長」という玩具で、内蔵された曲に合わせて腰、頭、腕を振って踊ります。なかなかよくできたオモチャです。曲と動きが小さなチップに書き込まれていますが、これを撤去し、PICマイコンに書き込んだプログラムでしゃべりながら踊るようにしてあります。
40通りの「おしゃべり」、100ちょっとの「ことわざ」、750個の「えいご」の単語を、ボタンを押すごとにそれぞれランダムに発するようにしてあります。「えいご」はまず日本語を言い、続けてそれに対応する英語を発します。テキスト文でしゃべるので、英語の発音はよくありません。よく聞こえなかった時のために、繰り返し聞けるようにしてあります。
テキスト文のデータはすべて512kの「EEPROM」に書き込んであります。書き込みは下の方にある「Rom Writer for Aquest」を用いました。
スピーカーは小型のもので音質が気になるため、5cm径のもを箱に入れて使いました(ネコの後ろ)。箱は密閉にすると音が籠って聴き難くなるので、背面を開放にしてあります。
「R」の向こう側にあるボタンは、押すごとに、「あいさつ」、「英語の発音がよくないからちゃんと勉強して」、「(一つのフレーズの容量の関係で、)長いことわざは最後を省略しているので大人に聞いて」というセリフを繰り返します。

現在この猫のオモチャは手に入り難いようです(’23.11)。


※発声をランダムにするにはどうするか?普通は乱数を用いますが、PICには乱数を生成する機能がないので次のようにしています。1、2、3のボタンが押される合間の時間、プログラムの中である変数を常に0から255の間で回転し、どれかボタンが押された瞬間の値を乱数として活用しています。変数は高速で回転するので、乱数を用いたような効果があります。
※ PIC(16F84A)やAquest、トランジスターなどのパーツは、子どもたちに引っこ抜かれないようにすべてボンドで固めてあります。


 YouTube
https://youtu.be/xlnj5c-HRuU

動きを止めたり加速・減速したりする
https://youtu.be/U0K-s0INXCs

色センサーでカラーキューブを識別する
https://youtu.be/tmp02_v0Yrw

ロボットアーム(サーボモータ―)

プログラム

サーボモーター(以下SM)5個で製作したロボットアーム。爪の部分はプラモデルの残り物の歯車を使用し、あとは手元にあった板切れで作った。PICは16F88を使用。I/Oピンを多く使うため、OSCは内蔵の8MHz。
はじめて取り組んだSMはトラブルの連続で、想像していたものができるまでにはかなりの時間を要した。
SMは適当なパルス信号を送っている間は、しかるべき位置にとどまる力があるが、信号が途切れると重みに耐えられず空回りしてしまい、暴走が始まる。
従って5個のサーボモーターに常にパルス信号を送り続け、その中でパルスの幅を変えることで個々の動きを制御した。(個々のSMを個別のPICで制御する手もありそう)
複数のSMのパルスを同時に変えれば、同時にいくつかの回転軸を動かすことができる。
プログラムは、立方体のブロックを柱の上に移動させるものだが、複数の回転軸の同時の動きを実行させるために、途中に意味のない動きを入れた。

色センサーは3色LEDとフォトトランジスターで作った。色キューブをきちんと押し当てた状態で反射光を測定しないと、正しく判定できない。正しく判定できれば、もっと微妙な色の違いも識別できそう。


You Tube 4足ロボット - YouTube
4足ロボット(サーボモ−ター)

プログラム

サーボモーター(SM)を8個使った4足ロボットの試作。
どのように歩行させるかかなり苦労した。回転する普通のモーターと違って往復運動なので、ただ前後させたのでは行ったり来たりしてしまう。脚を前に出すときは浮かせて、脚を地につけて後ろにかかなければならない。
本当は体重(重心)移動させて、前に出す脚に体重が掛からないようにすればスムーズに動くはず。(そのためには12個のSMが必要になる?)
SMはSG90というタイプのものだが、これでも4個同時に動かすときは負荷がかなり大きいせいもあって1A以上の電流を要す。バッテリーは充電池4個使用しているが、それでも厳しい。制御しているのはPIC16F88だが、バッテリーと別電源にしないと、大きな電流の度にリセットされてしまう。SMに送る信号は微弱な電流なので、制御回路は単4充電池一本を5Vに昇圧した。
上のロボットアーム同様、板切れと模型作り用のパーツで作製した。




超音波距離センサー

プログラム

超音波距離センサー HC-SR04 (秋月で入手)

トリガー入力ピンから10μSec のパルス信号を入れると、エコー出力ピンからパルス信号が出力されるが、これは反射波ではなく、距離に比例した長さのパルス信号である。通常、発信から受信までの時間で距離を測るが、このセンサーはその点が異なり、使い勝手はよい。
パルス信号を発した後、信号が出力されるまで待ち受け、受信が始まったら一定の時間間隔でカウントを開始し、
信号の終わりまでのカウント数から距離を割り出す。
写真の実験では、距離をLCDにcmの単位で表示するので、カウント数がそのまま距離になるようにカウントの時間を調整している。
データーシート(中国語)では、測定可能範囲が4.5mまでとなっているが、この実験ではカウントが1バイトの255までなので、256cm(表示は0)より先は表示された数に256を足し算する。
また、このセンサーはUART、I2C による出力も備えており(ただし、それらを活用するためには、基板で小さな抵抗をハンダ付けする必要あり)、それぞれ3バイト(!)のデータとなっている。
下の方でSHARP製の距離センサーを使う例を紹介しているが、この超音波センサーは消費電流が少なく、測距可能距離が長く測定値も細かく正確な値が得やすい。
プログラムも簡単で作りやすい(左に掲げているが、そのほとんどがミニLCD表示のためである)。

マイコンは PIC16F84A を使用。オシレータは10MHz。
 


ネズミロボット

タミヤの「壁つたいねずみロボット」を改造したもの。
3匹がそれぞれライン上を動き、鉢合わせすると一旦停止し、少しバックして、どちらも1/2の確率でUターンするかさらに前進しようとする。
ライントレースの仕方は、下の方にある「ロボットカ―」と同じ。
ネズミは下の淵を白いペンキで塗ってあり、鼻先につけたフォトセンサーで相手を検知できるようにしてある。
PICは16F819 を使用。電池は充電池2本で、5Vに昇圧している
ペンタゴンロボット

下の方で紹介している「Aquest」を搭載し、いろいろしゃべるようにした。RTC(リアルタイムクロック)で、月・日や曜日、時・分を発声する。
その他、人センサーを2個、音センサー、距離センサー、床を検知するフォトセンサーを搭載。
また、3個のサーボモーターで、首、両腕を動かすようにしてある。
電源ONの際の切り替えSWで、無線操縦にもなる。
PICは16F877Aを使用。
プログラム次第でいろいろな動きが可能になる。

 


YouTube
 https://youtu.be/o70-KFOR9Dc

からくり時計 1

回路図

プログラム

下の方で紹介している時計基板を用いた「からくり時計」
毎時00分と30分にオルゴールの曲が流れ動き出す。動きは1分半と1分。右はメリーゴーランドで回りながら棒が上下動し、時々くるっと回転する。中央は観覧車でゆっくり回る。左は回旋塔で飛行機が回りながら上下動する。
曲の録音はISD17240(17120)を用いた(現在国内では入手不可)。240秒(120秒)録音可能。
モーターはタミヤのミニギヤボックス。3V100mAでパワーとしては十分。また回転比が大きいので好都合。
基板は時計用にPIC16F883(28ピン)を用いているが、信号の入出力およびモーター駆動、LED点滅用に16F819を用いている。
回路図は、かつて大型のLEDを用いて作ったものだが、基本的には変らない。


 

 YouTube
 https://youtu.be/eWJFtM7M0Xk
からくり時計 2

基板は上と同じ。7SegLEDは4桁のダイナミック点灯のものを用いた。緑色で明るくとてもきれい(4つのカソードに330Ωで丁度よい明るさ)。
リンゴの木に緑色の実が成り始め、オレンジ色に変って最後に全部が赤くなる(緑、赤の2色LED)。
後ろでカルガモの一家が行列で動き(戦車模型用のキャタビラを用いた)、木の上や回りで色々な生き物が動き回る。

      
LEDインテリア

回路図

プログラム

赤、緑、青の三色を発光するLEDを活用し置物として制作したもの。LEDは「EP204K-35RGB」というかなりハイパワーなもの(秋月で入手)で、抵抗値の調整で非常に明るく発光させることができる。
PICの12F629を内蔵の4MHzを用い、さらにできるだけゆっくりした点滅になるようにプログラムで工夫した。また、色が急激に変化しないように、次の色に切り替わる際、三原色の少なくとも一つは変わらないようにしてある。
電源は単4(充電池)3本。
部屋を少し暗くすると、この程度の明るさで丁度よい。各色の抵抗にVRを加えれば、好みの色合いに調節できる。
 
 

 
六足ロボット

タミヤの六足昆虫ロボットをベースに、動き(人)センサ、音センサ、距離センサ、フォトセンサ等を組み込み、それぞれが反応したらいろいろな動きをするようにした。
モータの駆動は、TA7291PというDCモータドライブ用のICを用いた。
例えば、音センサが反応したら目を覚まし、人センサで人を探し、距離センサが反応したら近付いていき、最後フォトセンサが反応したらストップするなど、プログラムしだいで自由に動かすことができる。

音センサは自作(回路図参照)。
距離センサはSHARP製のもので、距離に応じた電圧を出力する(従って AD変換が必要になる)。
フォトセンサのRPR-220(白いものに反応)は非常に高感度で使いやすいが、正面を向いた使い方では、外光の影響を受けやすい。従ってVRで感度を調整する。
PICはA/D変換を必要とすることがあるので、「16F88(あるいは16F819)」を使用。

下は同じ六足ロボに組んだものだが、人センサを 3個搭載して(正面の丸い筒と翼の外側にそれぞれ1個ずつ)、人が近づくとその方向に動き出す。正面のセンサを優先し、人が左右に動いても追い続ける。人センサ(正しくは動きセンサ、温度の変化に反応する)は高感度で、5m近くの動きに反応する。人に接近すると、距離センサが反応して10数センチの距離で停止する。
電源を単三充電池 3本にした。

上の例のように、センサを使いこなせると、アイデア次第でいろいろ作ることができる、
信号機

回路図

プログラム

本物と同じように点灯、点滅を繰り返す信号機。製作もプログラムも簡単なので初心者に適している。
左のタクトスイッチを押しながらONすると、歩行者用の信号機(タクトスイッチを押すと何秒後かに青に変わる)になる。
LEDへの出力を工夫すれば(リレーやトランジスタなどで)、本物並みの信号機を作ることも可能になる。
(かつて、養護学校に勤務していたとき、これを2機つくり、運動会種目に活用した)
PICは12F675を用いているが(手持ちの関係)、12F629等どんな8PでもOK.

 

    
IchigoJam 用 キーパッド

回路図

プログラム

右は「こどもパソコン IchigoJam」。モニター(ビデオTV)とキーボードをつなげば、BASICでプログラミングを楽しむことができる。左は、PICで作製した、キーパッド。電源はIchigoJamから供給するのでつなぐだけで使える。
7個のキー入力からの信号を、IchigoJamの IN(1)、IN(2)、IN(4) に送ることによって、ゲームなどの操作が(キーボードでなく)キーパッドでできる。
IchigoJamの方は、
 X=IN(4)<<2+IN(2)<<1+IN(1)
によって、7個の信号として識別できる。
あるいは、IN()コマンドで、すべてのINPUTから同時に入力信号を受け、二進法で加重された数値を返すので、
 X=271-IN()
によって、次の7個の信号で識別できる。
 X=  1  2  3  8  9  10  11
IJの電圧は3.3Vであり、PICのI/O電圧は5Vであるため、IJに5Vがインプットされないようにプログラムで工夫した(IJが5Vを受けてもダメージを受けないものなのかは不明)。下の写真は接続した状態。
PIC16F819を使用。
    

  

  

IchigoJam 用  EEPROMコピー機

回路図

プログラム

I
IchigoJam の外付けEEPROM(512k以下)をコピーする装置。
EEPROM1 のプログラムナンバー100〜163 の任意の連続したプログラムをEEPROM2 の適当なプログラムナンバー以降にコピーする。
写真ではROM1の113〜125 をROM2の106(〜118)へコピー。1バイトずつ転送するので少し時間がかかる。
1024k のEEPROM は書込みに少し長い時間を要するので、PICマイコンに書き込んであるプログラムを修正する必要がある。
タクトSW右(RA2)で 1 の位を、中(RA3)で10の位を1ずつアップ。163 を越えるとやり直しになる。タクトSW左(RA4)で決定、次へ移る。
IchigoRom(既製品のEEPROM基板)の場合は+V、GND、SCL、SDAをジャンパー線等でしかるべき箇所につなぐ。SCLはPICの17 ピン(RA0)、SDAは18 ピン(RA1)。
I2C 通信が分かる方。ROM1 は1、2、3 ピンとも0、ROM2は1 ピンのみ1 にしている(アドレスを区別するため)。

<余談> IchigoJam を用いてのプログラミング教室を計画したため、多数の EEPROM が必要になった。



  



YouTube
 hhttps://youtu.be/yeeJwljifDE
                 
ロボットカー

回路図

プログラム1

車体はタミヤのDCモータギヤボックス、タイヤを使用して自作した。
いくつかの機能を持たせ、それぞれマイコンに書き込むプログラムによっていろいろな動き方をさせる。

315MHzの電波を受信する基板を搭載した(写真右の上、下は送信基板。高感度で10m以上届くので使い方に注意)。送信機からの電波を受け、前進、後退、ターンするなどいわゆるラジコンカーとなる。
送信機で音声認識(下で説明)を使えば、「ススメ」、「マガレ」、「トマレ」など、掛け声での操縦が可能になる。
音声を発するLSI(下で説明)、スピーカも搭載した(基板の下)。

下の写真は車体前方の基板の下側に小型のフォトセンサを3個つけて、ライントレースカーとしたもの。ラインは白い紙に黒のビニールテープを貼る。交差点では左折を優先とし、行き止まりではUターンする。迷路における左壁伝いの方法を用いて、ゴールがどこにあっても到達できるようにした。正面に白いものに反応するセンサを付けて、ゴールで止まるようにしたが、日が当たる部屋だと日の光に反応してしまう。
電源を、充電池3本だけで動くように改良した。

いずれもPIC は「16F819」を使用。
反射神経測定器

回路図

プログラム

左から走りだす光の流れ(上段の12個のLED)をいかに早く止められるか、という反射神経と指を動かす運動神経を測定する装置(もちろん、ゲーム感覚で)。下の8個のLEDは、流れるスピードを表示する(設定は右のボリュームで)。
1ないし2ならどんな小さい子でもお年寄りでも、すぐに止められるが、7あるいは8になると、誰にも止められない!
白いコードの先に押しボタンスイッチがあり、これを押すと数秒後(もちろんランダムな時間)に流れだし、再度スイッチを押すと停止する。
PICは「16F873」を使用。28ピンなら何でも可。
   分かれ道

回路図

プログラム

スタートすると一番上のLED(黄)が点灯し,やがて点滅をはじめる。好きな時に押しボタンスイッチ(手前に伸びたコードの先)を押すと、左右のどちらかに進む。
以下この要領で進んでいくが、赤のLEDへ行ったらそこでストップ(終了)。いかに点数の高い赤まで到達できるかを競う(写真では5点)。
最初の方では赤へ行く確率は低いが、先の方では赤へ行く確率が次第に高まる。8点まで行くのはなかなか困難。黄色のボタンでリセット(スタート)。
上の測定機と違って運だけで勝負する。
PICは「16F77」を使用(たまたま手元にあった)。40ピンなら何でも可。

イルミネーション

プロブラム

ジワーッとゆっくり点灯・消灯するプログラムで、蛍のようにやさしく点滅する。
また、周期性を簡単には悟られないような長く複雑な点滅を繰り返す。

(こういったものを作ることが、そもそもPICマイコンに取り組んだ原点。単純でない光の点滅を実現したかった)

ポートAの4個とポートBの8個の計12個のI/OにLEDを付けた。
PICは「16F819」を使用(16F84Aでは、プログラムメモリが足りなくなったため)。
  

  
時計

回路図

プログラム

大型の16segLEDで表示する時計。ただし斜めのsegは不使用なので実際は12segで表示している。常時点灯させるため、電源は5VのACアダプタを用いた。
RTC(Real Time Clock)を使用(左下写真の右上にある小さな緑色の基板)。動作用の電池(CR2032)はその左。
左上の3個のタクトSWのひとつで、<年(西暦)>、<月、日>、<曜日>、<時、分>の表示切り替え表示ができる。またその際、ドットが点灯している項目を、残る二つのタクトSWで変更できる。一つは十の位を、もう一つは一の位を一ずつアップする。曜日の表示(写真右上)は左端のW(WEEKのW)に続く縦棒の数で、1本なら日、2本なら月、・・・、7本なら土(写真は水曜)を表す。
右下は最初に作製したもので、8x2の小型LCDに上記の項目をすべて表示し、変更はこのLCD上で行うようにした。
上の二枚の写真では、LCDが不要になったので搭載していない。
左下写真の左前にある斜めの基板は、LCDを装着するためのもの。中央の横長のパーツは、大型LEDを装着するソケット。
PICは「16F886」を使用。28 ピンの886はオシレータを内蔵しているので、I/Oピンが24本ある。 



 YouTube
 https://youtu.be/vzosLjVEhV0
からくり時計

上の大型16SegLEDを活用したからくり時計。
中央の人形が、ねずみのおもちゃをひきながらくるくる回る。それにネコと鳥がちょっかいを出すというもの。
毎時 00分と30分に動き出す。
オルゴール曲はディズニーの「小さな世界」と「星に願いを」をNETじょうから録音して用いたが、公開する場合には著作権に抵触する恐れがあるので、配慮が必要。
上の方にある3つについても同様。


  

  
Dynamic点灯

回路図

プログラム

電池一本で(1.2Vの充電池でも可)表示するデジタル時計。DC-DCコンバータの回路で5Vに昇圧している。表示を見たい時だけSWをONにする。
RTC用の電池(CR2032)は基板の裏側。
表示用の7segLED は2つのSegの間をあけて見やすくするために、二桁表示用を2個用いているが、4桁表示用のダイナミック点灯のものを用いると配線が楽になる。
夜間、枕元に置いて使用するものなのであまり明るくする必要はなく、従ってLEDの抵抗を大きめにした。
上の大型のものと同様、3個のタクトSWで、すべての項目を変更できる。右上の写真は曜日の表示(EはWEEKのEのつもり)で、横棒が3本なので火曜日を表す。
PICは「16F886」を使用。

下の2枚は、ほぼ同じものをダイナミック点灯の4桁LEDで制作したもの。写真では分かり難いが、昼間でも鮮やかな緑色で点灯する(抵抗を330Ωにした)。変更する箇所のドットが点灯し、通常は中央のドットのみが点灯する。上の基板ではRTC用の電池(CR2032)を搭載したが、電池(単4充電池)を2本にして、常時RTCの電源としても使えるようにした(RTCの保持用電源は、1.8V〜となっているため)。
PICは「16F883」を使用。ピン数に余裕があるので、28ピンなら何でも使えるが、16F88* はOSCを内蔵しているので便利。

RTCはもう何個も活用しているが、どれも保持用のバッテリーが切れない限り、一度合わせた時間ほとんど狂うことはない。

 
  
時計(ミニLCD)

回路図

プログラム 

8x2のミニLCDを用いた小型軽量のデジタル時計。電池を単4(あるいは単5)にして、パーツの配置を密にすれば、もっと小型にすることも可能。
下段の切り替えSW(左から二番目)で、時計とアラームセットを切り替える。
アラームはメロディーICを用いているが、電源のせいでやや音が貧弱である。
時間合わせは上のものと同様下段の3個のタクトSWで行う。白いSWを一回押すごとに、曜日(Su)と時(14)の間に、Y(年)、M(月)、D(日)、W(曜日)、h(時)、m(分)が表示され、その右の二つのSWで、そのときどきの十の位、一の位を変えられる。
PICは「16F819」を使用。


   

YouTube :https://youtu.be/8o2AGHC5Lkk

 
音声発生器

回路図

プログラム

ある一時期、ろう学校に勤務した際に考案し作製した。テキスト文作成に必要なキーを配置し、LCDに表示しながらインプットすると、下で紹介するLSI(Aquest)が発声する。
上方に並んだ15個のタクトSWは、プリセットメッセージと言って、あらかじめLSIに書き込んだそれぞれの文を発声する。切り替えSWで、キー入力とプリセットメッセージの発声を使い分けることができる。
LSI は写真下のようなPC上のアプリ「PicoRomWriter」と通信可能で、プリセットメッセージの書き込みや、発声のスピードなどの設定ができる。アプリはNET上でダウンロードする。また、PCとの接続はUART通信で行う。

PICはI/Oを多く使える「16F887」を使用(オシレータ内蔵なので、最大35本可能)。

音声出力に合わせて体をくねくねさせる猫のぬいぐるみを追加した。奥の小さな基板に、アンプと体の動きのための8ピンPICあり。(この部分は、回路図、プログラムに含まれず)


  

ROM WRITER FOR AQUEST 1

回路図

プログラム

ブレッドボードの中央にあるのが、音声合成LSI「AquesTalk pico」。テキスト文を送ると、音声に変換する。通信は、I2C、UART、SPI に対応、これらの通信の実験用としても有効に使える。
写真は、Aquest に送るテキスト文を、実際に発声させつつ作成して、外付けのEEPROM に書き込んでいるところ。アクセントも付けられ(’)、自然に近い発声が可能である。
PICとPCをUARTでつなぎ(右下からのびるコード)、PCのハイパーターミナルを活用して、テキスト文の作成やEEPROMのアドレスの移動、そして書き込みや再生などの操作はすべてPCのキーで行う。
EEPROMの扱いやすさの点から、一つの文は32バイトまでとした。
写真の512kの容量の場合、
512kビット=64kバイト=2^6 x 2^10
=2^8 x 2^8(=10000h)
(0〜FFFFh)  で分かりやすい。
アドレスH、アドレスLはともに 0〜FFh。
従って、512kのEEPROMに入れられる文の数は、2^8 x 8 の2048 である。 
PICは「16F84A」を使用。



 

 
ROM WRITERFOR FOR AQUEST 2 

回路図

プログラム

上記二つの装置をさらに改良して(PCを使わずに単独でできるように)、発声を確認しつつそのデータをEEPROMに書き込めるようにした。書き込んだEEPROM(基板の右上の方に二つ並んでいる)はロボットなどに組み込めば、いろいろ音声を発することができる。
また、書き込んだデータを保存できるようにするために、2個のROMを並べて、それぞれ指定したアドレスでデータを転送できるようにした。

下の4枚の写真の左上は、ROMにデータを書き込むか、データをROMの間で転送するかを選択する画面。右上は「書き込み」を選択して、指定したアドレスのデータを表示させたところ。何も書き込んでなければこの状態。すでに書き込んであれば、「p」で発声する。新たに書き込む場合は「w」で左下画面へ。ここは書き込む文を編集する画面。文末にピリオドを打つと発声する。「?」でROMに書き込み、書き直しは「Enter」、書き込み完了は「BS」。
写真右下は、ROMからROMへデータの転送を選択したときの画面。それぞれのアドレスを設定してスタートさせる。
PICは「16F877A」を使用。
  血流計 1

回路図

プログラム

血流を赤外線発光LEDおよびフォトトランジスタで検知し(ヘモグロビンは酸素を含んでいると赤外線を吸収しにくく、含んでいないと吸収しやすい)、小型のグラフィックLCDに表示する装置。電源は1.5Vを5Vに昇圧した。
左は一画面10秒(縦線は1秒毎)で、右は一画面5秒(縦線は2秒毎)で表示。そして、どちらも10秒経過する毎にカウント開始からの拍数を表示。60秒を経過するとリセットされる。
上の三つの半固定抵抗器は、センサの感度調節、A/D変換における上限(Vref+)および下限(Vref-)の調節用。最初は反射光の検知(フォトセンサRPR-220)としたが思わしくなく、透過光の検知にした。赤外線発光LEDは何でも大抵OK、受光はRPR-220の受光部をそのまま用いた。
PICは「16F819」を使用。LCDの下にPICおよびセンサからの信号をアップするOPアンプの回路あり。

 

 
血流計 2

回路図

プログラム

上の血流表示計を見易いOLEDで制作した。
OLEDは秋月で入手。上のLCDが48x128 であるのに対して、このOLEDは64x128 なので、経過時間と拍数(10秒毎に更新)を常時表示できるようになった(左上)。ただし、1画面10秒だと点が荒くなり見難いので、1画面4秒にし、振幅の幅を32ビットにした。
赤外線発光のLEDおよび受光Tr(940〜950nmが一般的)はどんなものでも使える。上にも書いたが、反射型でやるより、指を透過させる方がやりやすい。親指と人差し指の間の黒いウレタンに小型のフォトTrを埋めてある。指以外からの光を遮断したので、高感度になった。爪側にあるのが赤外線LED.で、330Ωに追加した1kΩの半固定VRで感度を調節している。AD変換のRef+、Ref‐ をは一度セットすれば済む。
10秒ごとに拍数を表示するが(60秒でリセット)、波形の邪魔にならないように上段、下段の交互に表示する。
OLEDのアドレスは基板の裏には0x78 となっているが、本来の意味でのアドレスは0x3C。
0111100b(3CH)+0(W) => 01111000b(78H)
また、I2CのPull Up抵抗はここでは不要。
PICは「16F819」を使用。上のLCDよりもプログラムが書きやすく、短くて済む。
カムロボ

タミヤの「カムロボ」を改良した。
リモコンで操縦するが、停止するごとに何かをしゃべる。最後は「操縦を変わってくれ」と言って泣き出す。
声に反応したり、やり取りするように組むこともできる。(下にある音声認識を使う)
     音声認識人形

回路図

プログラム

写真右の基板は{Easy VR」といって、マイクで拾った音声を認識して、登録されている音声のうちの何番目であるかを出力する。
話者不特定と言って、誰が発したものでも認識できる言葉がいくつか登録されている。三つのグループがあって、「ススメ」、「トマレ」、「マガレ」、・・・など8個と、数字の「0、1、2、・・・、9、10」の11個と、あとは「ウエ」、「シタ」、・・・などの6個が含まれる。
それとは別に、話者特定と言って、決まった話者が登録することで、24通りの言葉の識別が可能である。これはPC上のアプリで、実際に発声を2度繰り返して登録を行う(通信はUART)。
写真左は、この音声認識基板と上にあったAquest(女の子の声)を使って作ったもので、例えば「何してるの」と声を掛けると「見ればわかるでしょ、本を読んでるの」と答える。
録音するときの条件、実際に動作させるときの条件が良ければ(雑音がない静かな状態)、かなり正確に認識する。
認識エラーが生じた場合は、「何言ってるんだかわかんない」と答えるようにした。
送信機(音声認識)

回路図

プログラム1

プログラム2

上のロボットカ―に情報を載せた電波を送る送信機。
右下の5個のタクトSWは、前後、左右、停止の信号を送るいわゆるラジコン用(プログラム1)。
それとは別に、すぐ上で紹介した音声認識の基板も搭載し、音声で操縦できるようにした。上に伸びるコードの先にマイクがある。誰の声にも反応するのは、「ススメ」、「トマレ」、「マガレ」、「アクション」、「コウゲキ」、「ハシレ」、「ミロ」、「コンニチワ」の8通り(プログラム2)。
特定の人物の声なら、24通りの言葉を認識できる。
PICは「16F819」を使用。
 

 

いびき&無呼吸検知・記録装置

睡眠時のいびきと無呼吸状態を記録する装置。
SW ONで前回の記録(いびきor無呼吸)を見るか、新たに記録するかを選択する。
<いびき>
音を感知すると記録が始まる(中段左)。録音時間は一回につき2秒間。音量の強弱はAD変換で8段階。ジェット機の音や犬の吠える声などは後から波形を見れば分かる。時間の表示はスタ―トしてからの経過時間。音の波形とともに発生した時間も記録する。左の数字はカウント数。中段右は記録したデータを表示ししているところ。
<無呼吸>
無呼吸状態が20秒以上になると、生じた時間と回数が記録される(下段)。下側の二つの数字は呼吸が入るごとに入れ替わる。20秒を経過すると、上側に表示され記録される。一晩中20秒を越える無呼吸状態が無ければ、何も記録されない。
一晩たって、何もなければLEDは無点灯だが、無呼吸症状が軽度なら緑の、中度なら黄の、重度なら赤のLEDが点灯する。またどの時間に起きたかは記録を見れば分かる。
呼吸の有無は、腹に巻く帯の圧センサか呼吸を検知するセンサをつなぐ。(圧センサは、腹が動いていても空気が気道を通過していないケースでは使えない)
センサのアンプのために電源を9Vにした。記録時はAC電源を使用。
棒グラフのキャラクタはCGRAMに書き込んだもの。

カード読み取り装置

子ども会館用に作製した装置。子どもが自分のカード(アクリル板)をカード読み取りの溝に差し込むと、猫が体をくねらせながら、「やあ、○○君(さん)」と声を掛け、同時にその子の名札のLEDが点灯する。そしてそれに続けて、「学校は楽しかったかい」とか、「おなかはすいてないかい」などの台詞を10通りの中からランダムに選んで発声する。
カード読み取りの箱は、一番下に、カードが挿入されたことを検知するマイクロSWと透過型のフォトセンサが6個並んでおり、カードのそれぞれの位置に光を通す穴があいているか否かを読み取る。従って、2^6の64人まで識別可能である。
LCDには常時暦と時間が表示されており、差し込んだ子どもの名前とその時の時間が留められる(次の子が挿入するまで)。
一度表示された子は受け付けないが、隠しボタンを押しながら挿入すると「やあ、○○君(さん)さようなら、気をつけて帰るんだぞ」と発声する。
あらかじめ、上のROM WRITERを使って、EEPROMに、子どもの名前や台詞を書き込む必要がある。

(個人情報が問題となる昨今、名前の表示が不可ということから使用できなくなった)



 


                                                                                                      Top






近年PICマイコンで活用できる機器やパーツが次々と開発され商品化されています。
各種LCD(液晶表示器)、RTC(Real Time Clock)、音声合成LSI、
音声録音・再生LSI、音声認識モジュール、・・・etc。
これらはいずれも上記の各種通信のどれかを用いるようになっています。
一方、PICマイコンも今では
CやBASICでというのが一般的になりつつあります。ところが、
そうした高級言語で新しく登場した機器やパーツにすんなり対処できずにてこずったという話をよく耳にします。
各種通信の仕組みを知り、アセンブラでプログラムを書けば簡単に解決します。

通信の機能をもたないPICマイコン(16F84A)で可能です。

アセンブラで難しいことを簡単に
16F84A で、「I2C」、「SPI」、「UART」
の各種通信が実行可能です


上の表紙クリックすると
目次が表示されます

BookX
(2013/2)
本が入手できない場合は、ログラムを
ダウンロードして、分からないところは「質問
コーナー」よりお問い合わせください

                    

PICマイコン  アセンブラ入門
秀和システム

1.プログラミングに向けて
2.PIC16F84Aでできること
---基本から発展まで
3.PIC16F84Aではできないこと---
他のPICマイコンの活用
 4.プログラミングの基本
---必要に応じて参照
プログラムのダウンロード            質問コーナー
★★
『MPLAB IDE』の入手法・・・このページの上の方をごらんください

上の本では、MPLAB IDEのアセンブラ「MPASM」を用いて、16F84Aを活用する仕方を紹介しました。
高度な機能を持ち合わせない16F84Aで、I2C通信、USART通信、SPI通信を実現しています。
ということは、下のアセンブラ「PA.EXE」でも可能な訳です。しかも「PA.EXE」は
「MPASM」よりもプログラムが書きやすいアセンブラです。


★アセンブラ「PA.EXE」とは

「PA.EXE」では何故「Bank切り替え」が無いのか
「PA.EXE」をWindows2000、XP以降のPCで活用するには
MS-DOSにおける作業手順(グリーンの本のみをお持ちの方)
「PA.EXE」の最大の利点とは
「PA.EXE」の追加サンプルプログラム(SLEEP、TMR0、間接アドレッシング)
「PIC BASIC」について  
その他の情報

小中学生高齢の方にもPICマイコンの活用の仕方が分かるようにと心掛けてまとめました
(私自身が多大な時間を費やしたところをすんなんり通過できれば、その分
大切な時間をもっと有効に使うことができるものと思われます)

表紙クリックして中身の紹介をご覧ください...

BookT(2001/7)


16F84プログラミングの世界へ
わかるPICマイコン制御
誠文堂新光社
BookU(2003/11)


16F84プログラミングの世界へ
わかるPICマイコン製作集
誠文堂新光社
BookV(2007/8)


わかるマイコン電子工作
PICマイコン完全マスター
電波新聞社
PICマイコンへのプログラムの書き込み方、センサやDCモータを搭載したねずみロボットの製作法などを分り易く解説しました。使用したアセンブラ「PA.EXE」は特殊ですが、分かりやすく、プログラムを作成しやすい言語です。PICマイコンの16F84(A)に対応しています。 迷路を自力で脱出するねずみロボットや簡単なゲーム機など、色々な製作例をもとに、各種センサの活用法やプログラム作成のコツを紹介しました。ソフト、ハードの知識が身につけば、アイデア次第で自作の夢が大きく膨らみます。左の本の流れを汲んでいます。 PICマイコンを開発するうえで最も一般的な「MPLAB IDE」による手順を分り易く解説しました。サンプルプログラムを多く取り上げ、少々分り難いアセンブラ「MPASM」でのプログラムの読み書きにいち早く慣れることを目差しています。ただし『完全』ではありません。(中古品で入手される場合は三刷以降がお勧めです) 
   訂正
BookT およびBookUでは少々特殊なアセンブラ「PA.EXE」を用いています。
アセンブラでありながらBASIC感覚でプログラミングに取り組める言語で、初心者にも理解しやすいです。
問題は扱えるPICマイコンが「16F84(A)」に限られるという制約があることです。ひとまずは
この言語でPICマイコンとその活用法に慣れ、次へのステップアップを図るというのも一法でしょう。
「PA.EXE」はDOSで動くアセンブラですが、用いるパソコンはWindows2000やXPのものでもOKです。
その具体的な方法については上の項目をご覧ください。
なお、分からないことがあればお気軽にお問い合わせください。

  プログラムのダウンロード            質問コーナー



電波新聞社

電子工作マガジンNo.1
電子工作マガジンNo.2
電子工作マガジンNo.3
電子工作マガジンNo.4
電子工作マガジンNo.5
私が担当した記事に登場するプログラムをダウンロードできます。 私が担当した記事に関して質問があればお気軽にどうぞ。 私が担当した記事に関して 質問があればお気軽にどうぞ。


                                                    Top





 



   

カメラはCANONのEOS40D(現在はEOS7D)、
レンズはCANONの55〜250mm、同じく100〜400mm、TAMRONの17〜50mm、SIGMAの70mm(MACRO)です。
どの写真もトリミング以外はソフトで手を加えることはしていません(試しの1枚を除いて)。

小鳥 幼子 境川沿いに棲む雉
小さな命 小樽港 ・ 運河 小さな命(2)
湘南の海 カワセミ
顔(2) 戦い
戦い(2) マイ オーディオ 世捨て猫夫婦
メジロ 江ノ電 月食・天王星食(2022/11/8)

もう昔と違って人の写真は撮りづらくなってしまった・・・
(特にシルバー世代のおじさんには)
文句を言わない鳥たち

                                                        Top

火の鳥?(顔だけ)

君臨

叫び

闇の仙人

朝日が眩しくて

朝靄に立つ!

「あたしってつみつくり?」

男の闘い(縄張りとそしてフィアンセ獲得のために)

何処へ?


遠藤 敏夫

1949年6月、伊豆は修善寺の生まれ。
神奈川の県立高校に19年間、その後同じく養護学校に14年間勤務し、退職後は、私立高校、定時制高校、そして障害者の更生施設、放課後子ども支援やフリースクール等、いずれも非常勤、ボランティアとして続ける。
小学生の頃から、ゲルマニウムラジオやトランジスタラジオ等の組み立てに興味を持ち、その後は真空管でステレオアンプを作ったりスピーカボックスを製作するなど、もっぱらオーディオの分野を趣味の中心として続ける。(並行して、写真撮影や星空観望も)
1979年、NECの最初のパソコンPC-8001を購入し、BASICでの入選処理や事務室の給料計算、時間割編成等のプログラム作りに取り組む。
養護学校に移った頃、Z80マイコやPICマイコンに関心を持ち、それらを活用したゲーム機や自動販売機等、教具作りに専念。

上の写真は、三浦半島劔崎にて(2014年3月)


空に向かって

飛翔

ただ水だけが流れゆく

「ちと大きすぎたか」

「見ないで」

「おお、主よ!」

・ ・ ・ ・ ・

渚の貴婦人

樹上の貴婦人

「寒風が身にしみるぜ」

虚像と実像

「おっと!」(その1枚)

はるか異国に夢を馳せ

「わたしをつかまえないでね」

「なーに?」

「悪く思うなよ」

「いつかはボクだって」

「おい、おい」            「ワーィ」

考える

とびながらも

女心を解せぬ男

「行ってしまうのか」


チョウゲンボウ 下は子どもたち

雄大飛行

くつろぎのひととき

「いきなりうしろからとは卑怯な」

憂う

親の心子知らず

「何かいい材料は、と・・・」

「こんなんでどお?」          「いいんでないか」

「おっと、失礼!」

8時5分の構え

鳥にはあらねど

小鳥か蝶かと見紛う、白日のコウモリ

狙う

滑空

乱舞

疾走

麗しきその姿

ゲロゲロ

「まだかいな、オッサン」

「ほれ!」

My Photo                            Top

inserted by FC2 system