ラベル 基板 の投稿を表示しています。 すべての投稿を表示
ラベル 基板 の投稿を表示しています。 すべての投稿を表示

2017-01-29

CHIBIBIT 今時の電子工作!?


ネットで面白いものを見つけました。

商品説明を引用します。
chibi:bitというもので、BBC(英国放送協会)が主体となって作っている教育向けマイコンボードBBC micro:bitの互換機です。
仕様はmicro:bitと同じです。25個のLED、2個のボタンスイッチのほか、加速度センサーと磁力センサー、BLE機能を搭載したマイコンボードです。
chibi:bit専用の開発環境があります。
icro:bitの開発環境で書いたプログラムも書き込み可能です。

最初はmicrobitを海外サイトから購入しようと思っていましたが、互換機が出ていて、改良版が出るのを待って、改良版の発売と同時に購入しました。

開発環境がWEBで無料で使用可能!!
しかも、ブロックを組み立てる感覚でプログラムが組めるようになっている。
こんな感じです。
シミュレータもあるので実機がなくても、このサイトだけで楽しめます。
http://chibibit.io/ide/


最初はサイトの説明等にあるようにワニ口クリップで電源をつなげて遊んでましたが、端子の穴ってねじ穴サイズなので別の基板と金属のスペーサーでつなげるといいのでは!
と思い作ってみました。


 電池、スイッチ、圧電ブザーの構成です。
端子はpin出力出来るように端子を付けました。

これで、BlueToothを使ってスマホと連携できます。
ちょっとしたスマート端末になります。(楽しい!)

ちょっとしたプログラムを作成してみました。

起動後、Aボタンで機能選択、Bボタンで決定。
↓
各機能の実行 AまたはBボタンで値を表示
↓
A+Bボタンで機能選択に戻る。


で、機能は以下の4点

・照度計
・温度計
・方位磁石
・スマホの音楽再生(Aボタン)。停止(Bボタン)

さすがにこれだけのプログラムを作るとブロックも複雑に??
見えませんね。

ダウンロードできるようにしてみました。
http://bake-san.com/download/chibibit/chibibitSB.hex

開発環境でインポートしたら見れます。

このchibibitは直接スイッチサイエンスで購入しましたが、amazonでも購入可能なようです。

http://astore.amazon.co.jp/bakesan-22/detail/B01N6JMM7E

2016-02-11

ブレッドボード?いや、ビスケットボード!

ブレッドボードをそろそろ追加購入しようかとネットを検索していたら、ビスケットボード というものを見つけた。

通常良くするのがブレッドボードで試作をして、その後ユニバーサル基板で目的のものを作成する。というパターンですが。(PICでオルゴールを作成した時もこのパターンで作成しました)
↓ ユニバーサル基板に作り替え ↓

ビスケットボードを使うと
ブレッドボードで試作をして、ビスケットボードで目的のものを作るというパターンになります。

ビスケットボードのポイントを簡単に

  1. ユニバーサル基板と同じ程度の厚みで作成できる。
  2. ブレッドボードのように半田付け無しで部品をつけれる。
  3. 一度部品を刺すと簡単には抜けない。ブレッドボードでは簡単に抜けて困ることがある。
  4. サイズがレゴブロックにジャストフィット、取り付け部品も付属している。
半田ゴテを使わず使用に耐えるものが作れるのがいい。

小さい子供たちに物づくりを体験させるにもいいかもしれない。
レゴブロックと組み合わせて夢が広がるいいものが出たなと思いました。

やり直しはできないことはないが難しいみたい、そういう意味ではもう少し安いと手が出しやすいと思います。
ブレッドボードのように普及をして来れば安くなると思うので、ちょっとここでも紹介してみました。

2015-03-22

PICで電子オルゴール No2

前回の続きで基板を見直しをしました。
部品の選定をしてレイアウトを整理しました。


基板の配線は以下の通り。
上から(部品側から)みた図になっています。

回路図は次の通りです。



2015-03-18

PICで電子オルゴール

久々に電子工作をしました。
母校の小学校がとうとう閉校になるので、何か記念になるものを残しておこうと思い校歌を電子オルゴールにしてみました。
PICマイコン12F629と圧電スピーカ、電池といった簡単な構成でできます。
写真にあるものは、CDSをつけて明るくなると鳴り出すように作ったので部品がCDSと抵抗2本が増えています。


開発はmikroBASICを使いました。
ライターはPICKit2。

MikroBasicのライブラリーにSOUNDがあり、音程と長さを指定して音を鳴らすことができます。
PIC12F629にはEEPROMがあります。このEEPROMに音程長さを記憶させておき順に読み込み音楽を演奏させています。
そのままでは音程と長さで4バイト必要になりますが、プログラム内部でドレミと音符の長さのテーブルを持ち、EEPROMにはその番号のみで上位4ビットで長さ、下位4ビットで音程の番号を表現させました。

EEPROMの内容は校歌なので載せてもと思い、ソースのみを公開します。
休符の扱いがわからずDelayで表現しています。
Delayはライブラリーで実装されておらず、パラメータに変数が使えないので4分休符のみのコーディングです。
調子に乗ってコーディングしていたら、プログラムエリアが足りなくなりました。
SOUNDとEEPROMのライブラリーで結構メモリーを食ってしまっているようです。



program MUSIC
'                             0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
'                             R   C   C#  D   D#  E   F   F#  G   G#  A   A#  B   C   C#  D
  const doremi as word[16]= (  0,262,277,294,311,330,349,370,392,415,440,466,494,523,554,587)
'                 tempo=120
'                              0    1    2    3    4    5    6    7    8  9
'                              1    2.   2    4.   4    8.   8   16.   16
  const onpu   as word[9]= (2000,1500,1000,0750,0500,0375,0250,0188,0125)

' Declarations section
sub procedure init_rtn
  GPIO = 0
  CMCON = 000111
  TRISIO = 000000
  'ANSEL = 000000

  Sound_Init(GPIO, 2)

end sub

main:

  dim eromdt as byte
  dim takapt as byte
  dim nagapt as byte
  dim takasa as word
  dim nagasa as word
  dim yasumi as word
  dim i as byte

  init_rtn

  while true
    i=0                         'EPROM READ POINTER
    while < 127                 'EPROM MAC ADDRESS 128
      eromdt = EEPROM_Read(i)   'DATA READ FROM EPROM
      if eromdt = $FF then      'DATA VALUE FF is END of DATA
        i =128                  'Exit Loop When set 128
      else
        takapt = eromdt and $0f 'DATA low4bit is SOUND Pitch
        nagapt = eromdt >> 4    'DATA High4bit is SOUND Length
        if takapt = 0 then
          'select case nagapt
          '  case 4
              Delay_ms(500)
          '  case 2
          '    delay_ms(1000)
          '  case 0
          '    delay_ms(2000)
          'end select
        else
          takasa = doremi[takapt]'Pitch Table
          nagasa = onpu[nagapt]
          Sound_Play(takasa,nagasa)
          Delay_ms(16)
        end if
      end if
      i=i+1
    wend
    
    'ENTRY SLEEP '
     GPIO =0
     OPTION_REG = 000000
     INTCON = %10001000'
     NOP
     NOP
     asm
       sleep
     end asm
     NOP
     NOP
    'RESUME SLEEP
     INTCON = 000000

  wend

end.



2008-03-27

プリント基板編集ソフトウェア


いつも汎用基板を使って電子工作をしていましたが、そろそろ基板も作成してみようかと思っています。


水魚堂さんのサイトでプリント基板編集ソフトウェアを公開されているので(詳細はタイトルをクリックしてね)これで勉強中です。


ためしに流れるウインカー基板をイメージだけですが作成してみました。
基板の表(半田面ではない)から見たイメージです。
結構簡単にできてしまいました。