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

2021年12月1日水曜日

Tinyjoypadを作ろう!03 いろんな人の作例で学ぶ

 

 前回までの記事でTinyjoypadの作り方は、一通り学んだわけですが、実際に作りはじめるといろんなことが気になると思います。

 

 それは「トラブルシューティング」と言うほどたいそうなものではないのですが、ちょっとしたコツというか、素朴な疑問というか、アイデアを形にする上で「小さな悩み」が生じたりします。

 

 そんな時は、先輩方の作例を見ながら勉強するとヒントがたくさん詰まっているので、ぜひ参考になさってください。

 

 私も先人の智恵にビビッときたことが何度もあります(^^

 

 

◆ Mila&Luna's nursery lab

 Attiny85を使ったゲーム機を作ろう 


 おそらくTinyjoypad関連では、一番詳しく周辺事項が丁寧に書かれている記事だと思います。

 全4回連載で作ってゆきます。

 ピコソフトさんの基盤のページでも紹介されています。

 

 〇 電源まわりにパスコンを入れる話

 〇 10KΩと47KΩでの抵抗を代替する話

 〇 ポリウレタン線を使った回路の取り回し

 

など、ヒントもたくさん。

 

 

 

◆ Kazuの模型部屋

 TinyJoypadを作る(電子工作) 


 〇 抵抗値がオリジナルと異なる場合のプログラムの調整の仕方が載っています。

 〇 基盤レイアウトがシンプルで、配線写真もわかりやすい

 

 

 

◆ 某氏の猫空

  【Arduino】TinyJoyPadでゲームを楽しむ

 

 〇 ArduBoy互換機についての作例もあり。

 〇 LGT8F328Pという80円Arduinoとして有名な基板で動かす場合

 

 ArduinoNano互換機の中で、最安値と言われたチップを使っての作例です。入出力ピンを変更するスケッチについて、かなり勉強になります。





 ◆ OBOBO's Diary

  Tiny Joypad (電子工作)

 

 〇 秋月などで販売している超小型ジョイスティックを使った作例

 〇 描画を早くするワザについての説明あり


 タクトスイッチもいいですが、「ジョイスティック」機構も使ってみたい!ワクワクしますね。





◆ mnishikawaのブログ

 Tinyjoypadを秋月の小型ジョイスティックとaitendo1.3インチOLEDで実装してみた

 

 〇 さっきとは別の秋月ジョイスティックでの作例

 〇 1.3インチOLEDでの作例

 〇 単4電池2本での動作

 

 ジョイスティックまわりは、なかなか興味深いです。異なるディスプレイの場合も参考になります。

 

 

◆ 工作魂さん

 

 https://twitter.com/porokin/status/1312332837102575618



 ○ タクトスイッチがひとつ多い作例。 → 縦型ゲームのときに便利

 

 不定期ですがTinyjoypadの基板+部品セットをヤフオクなどで販売しておられます。

 C型基板サイズのものと、よりコンパクトなものの2種類のPCBがあります。

 

 

 

 

============

 

 と、まあオリジナル通りの回路・パーツでなくても、意外となんとかなってしまうのが面白いところです。むしろ手持ちの部材をうまく使って、プログラムを多少組み替えながら勉強してゆく、というのもマイコン系電子工作の醍醐味かと思います。

 

 私も次はそこらへんの余り物を活用しながら作ってみます。

 

 

 

 

2021年11月27日土曜日

Tinyjoypad を作ろう!01 ゲーム系電子工作の決定版!

 

 いきなり結論ですが、ハマってます!これはめっちゃ面白い!

 

(Tiny joypad)


 Attiny85というAVR系マイコンチップを使ったゲーム機の作例が、ここ数年で世界的にちょっとしたブームになっているのですが、私も作ってみました。

 

 ゲーム機を作るというのは、なかなかハードルが高そうに思うのですが、かなり少ない部品点数と、かなり安い金額で「古典アーケードゲームのクローン」が作れてしまうのにはびっくり!

 世界の先輩たちの開発力に、かなり感動します。


オリジナルのサイト

https://www.tinyjoypad.com/


■ AVRマイコン ATtiny85を使った携帯ゲーム機

■ 有機ELを使った見やすい画面(なのに安い!画面パーツ500〜600円)

■ 総金額2000円程度でできる!

■ 電子工作の技術レベルでは初心者レベルでOK。

■ スイッチ・液晶・ブザー・電池ケースくらいしか使わない。あとはワンチップ。

■ インベーダーゲームほか、多数の古典アーケードゲームが移植されている。

■ マイコン入門に最適。Arduinoと高い互換性。


==========

 

<1> 基盤とパーツの入手

 秋月電子等で大半は入手できます。C型などのベーシックなユニバーサル基板にも組めます。

  プリント済基板(PCB)も販売されています。今回はピコソフトさんの互換基板を使ってみました。

 

互換基板 ORANGE-mono1

http://www.picosoft.co.jp/ORANGE-mono1/index.html 

  自作しても難易度は低いのですが、基板のせいで動かないのか、チップへの書き込みミスで動かないのかわからないと困るので、まずはリファレンス機がてら基板を利用させていただきました。

 2機目からはバンバン自作できると思います。また、別に、


工作魂さん

https://twitter.com/porokin


も互換基板を頒布なさっています。ヤフオクなどをチェック!

 

 こちらは、いわゆるC型基板と同じサイズ。ピコソフトバージョンよりさらに小さいです。

 工作魂さんは、さらにコンパクトなキットも作っておられます。

 

 回路図は

 https://www.tinyjoypad.com/tiny-joypad-shematic

 にあります。


○ATtiny85-20PU×1  ○ ICソケット8ピン×1 ○タクトスイッチ×5  

○0.96インチ128×64ドット有機ELディスプレイ(OLED)×1

○スライドスイッチ×1

○ 圧電スピーカ×1

○電池ソケット×1 ○電池CR2032×1

○抵抗10KΩ×1

○ 抵抗22KΩ×2

○抵抗33KΩ×2

○抵抗82〜91KΩ×2

○基板

 

が最小構成です。部品数も少ない!




<2> 書き込みハードとソフトの準備


 書き込み方法はいくつかあります。Arduinoとブレッドボードで組んでもいいです。

私はUSBaspを使ってみました。要するにAVR書き込み器ですね。

 

 左に写っているUSBに挿せる小さいのがUSBaspです。 10ピン <-> 6ピン変換を使っています。右側はブレッドボードです。

 

RESET○ 1 8 VCC

         2 7 SCK

         3 6 MISO

GND     4 5 MOSI

 

で配線してください。
    

 プログラムを書き込むソフトはArduinoIDEです。

https://www.arduino.cc/en/software 

 私はLinux版64ビットと32ビットを使っています。




<3> ArduinoIDEの下準備とセッティング

 ArduinoIDEをインストールしておきます。Windowsの場合は「arduino.exe」が実行ファイルとのこと。

 Linuxの場合は圧縮ファイルを任意のフォルダに解凍すると「arduino」というシェルスクリプトがあるので、それをクリックするとそのまま動きます。

 


 

 おなじフォルダに「install.sh」というスクリプトがあるのですが、それを実行するとデスクトップにアイコンができたり、メニューにArduinoIDEが入ったりして便利になります。

(ただ、リンクができるだけです)


 今回、有機EL(I2C接続のもの)を使うので、そのドライバをプログラムの中に取り込んでおく必要があります。

 

 ※OLEDには4ピンのものと7ピン〜のものがあります。4pinがI2C通信で、pin数が多いのはSPI通信です。

 

 

そこで、


 ssd1306xledというディスプレイ制御ライブラリがGithubにあるので、それを利用させてもらいます。

 

https://github.com/Defragster/ssd1306xled

 

「Code」のところからZIPファイルがダウンロードできます。

 ArduinoIDEの面白いのは、ZIPファイルのままライブラリを取り込めるところで、

 

「スケッチ」→「ライブラリをインクルード」→「ZIP形式のライブラリをインクルード」から未解凍のまま取り込むことができます。

 

 

 もうひとつ、ATtiny85のチップを取り扱うには、「ボードマネージャの追加」が必要です。

これは「ファイル」→「環境設定」の追加のボードマネージャのURLに次の文言を入力します。

 


 ”http://drazzy.com/package_drazzy.com_index.json”

 

これで、SpencKonde氏が公開しているGithubの設定ファイルを使えるようになります。

 

オリジナルは

 https://github.com/SpenceKonde/ATTinyCore/

です。

「ツール」→「ボード」→「ボードマネージャ」と進むと、ATtinycoreを選択できます。

(上の写真ではすでにINSTALLEDになってます)

 このとき、Linuxの32ビットだとエラーが出る場合があるので、

https://kotaro-yoshiie.blogspot.com/2021/11/arduino-ide-arduino-ide-1816-avrdude.html
 

の記事を参照して回避してくださいね。



 さて、今回はここまで!次回はゲームソフトを選んで、チップに書き込みするところまでやります!


(続く)