2
Help us understand the problem. What are the problem?

posted at

updated at

Organization

はんだ付けトレーニングキット AKBONE2020

AKBONE2020 とは?

はんだ付けのトレーニングキットです。日本Androidの会秋葉原支部ロボット部にて、毎年電子工作のトレーニングキットを作っていますが今年のバージョンははんだづけの練習のためのキットを作成しました。

特徴

  • はんだづけ初心者向けに、練習しながら簡単にイルミネーションマイコンを作ることができます。
  • LEDストリップ付属、クリスマスに向けての工作などに応用できます
  • Arduino の互換機として使用でき、簡単にプログラムを作って楽しむことができます。
  • 中心部分は小さい部品が既に組み立て済みの格安ボードを使います。 LGT8F というマイコンを使い、本家の Arduino と同じように電子工作を楽しむことができます。
  • GROVE端子がついていて、市販のいろんなセンサーなどをつなげることができます。
  • 圧電スピーカーがついていて、音を出すことはもちろん、音センサーとしても使えます。
  • タッチセンサー端子付き。バナナなどをつないでみましょう。
  • 安い! 勉強会用の頒布価格は送料込みで¥800です。
  • はんだづけはじめての方に、チャレンジがしやすくなっています。

キット構成

image.png

きっと構成の詳細、組み立て方はこちら
「AKBONE2020 ではんだづけをはじめよう」
https://note.com/nanbuwks/n/n7a8f31cf9781
注意:2021年以降に購入された方は、内容が改訂となっています。以下の記事の方をご覧ください。
「AKBONE2020 (Ver.20210114) ではんだづけをはじめよう」
https://note.com/nanbuwks/n/n4dcc76416cf5

IMG_20201112_104614881.jpg
キットの基板です。

IMG_20201112_110254910.jpg
マイコン基板です。これは既に組み立て済みです。

機能紹介

マイコンの動作電圧、 3.3V/5V 選択できます
IMG_20201112_172307417.jpg

GPIOをインラインで出しているので、ブレッドボードでの実験がしやすくなっています。

IMG_20201115_150013723.jpg

直接PCなどにつなげることができます。

IMG_20201112_142157999.jpg

USBシリアルは着脱式です

IMG_20201112_132109811.jpg

スピーカーです。これは音センサーとしても使用できます。

IMG_20201115_145011884.jpg

端にあるポートはタッチセンサとして使えます。
IMG_20201115_145844678.jpg

micro:bit をまねて、ワニ口ケーブルがつなげられるようにしました。

IMG_20201115_130420784.jpg

LEDストリップをつないで、光らせたところです。

IMG_20201113_001150243.jpg

GROVE端子。

IMG_20201113_004559582.jpg

SEEEDSTUDIOの、Grove 温度センサモジュールをつないだところ
IMG_20201115_145001443.jpg

技術資料

ポート割当

端子 ピン Arduinoプログラム上の機能 LGT8F328SSOP20上のピン番号 LGT8F328SSOP20信号名
GROVE1 黄(G1-1) A5(D19) pin20 PC5/ADC5/SCL
GROVE1 白(G1-2) A4(D18) pin19 PC4/ADC4/SDA
GROVE1 赤(G1-3) VCC pin4 VCC
GROVE1 黒(G1-4) GND pin5 GND
GROVE2(G2L)*1 黄、または緑*2(G2L-1) D8 *3 pin11 PB1/ICP1/CLK0/OC1A/SPSS
GROVE2(G2L)*1 白(G2L-2) D11 pin12 PB3/MOSI/OC1B/OC2A
GROVE2(G2L)*1 赤(G2L-3) 3V/5V切り替え
GROVE2(G2L)*1 黒(G2L-4) GND pin5 GND
サウンドデバイス スピーカー/音センサ A1(D15) pin18 PC1/ADC1
タッチセンサ J6 A0(D14) pin17 PC0/ADC0/OC0A
タッチセンサ J7 GND pin5 GND
13ピンインラインポート A5 SCL A5(D19) pin20 PC5/ADC5/SCK
13ピンインラインポート A4 SDA A4(D18) pin19 PC4/ADC4/SDA
13ピンインラインポート A1 A1(D15) pin18 PC1/ADC1
13ピンインラインポート A0 A0(D14) pin17 PC0/ADC0/OC0A
13ピンインラインポート 13 LED_BUILTIN(D13) pin14 PB5/SCK/AC1P
13ピンインラインポート 12 D12 pin13 PB4/MISO
13ピンインラインポート 10-11 D11 pin12 PB3/MOSI/OC1B/OC2A
13ピンインラインポート 8-9 D8 *3 pin11 PB1/ICP1/CLK0/OC1A/SPSS
13ピンインラインポート 7 D7 pin10 OC2B/ACXN/PD7
13ピンインラインポート 3PWM D3 pin3 DA0/INT1/ICP3/OCB/PD3
13ピンインラインポート 2 D2 pin2 AC0O/INT0/OC3B/PD2
13ピンインラインポート GND GND pin5 GND
13ピンインラインポート VCC VCC pin4 VCC
5ピンSWDポート SWC D29 pin15 PE0/ADC6/ACXP/SWC
5ピンSWDポート RST リセット pin1 RESETN/OC3A/PC6
5ピンSWDポート SWD D30 pin16 PE2/ADC7/AC1N/AVREF/SWD
5ピンSWDポート VCC VCC pin4 VCC
5ピンSWDポート GND GND pin5 GND
シリアルポート TXD TXD(D6) pin9 OC0A/OC3A/AC0P/TXD/PD6
シリアルポート RXD RXD(D5) pin8 OC0B/T1/RXD/PD5
マイコン基板上の青LED 13 LED_BUILTIN(D13) pin14 PB5/SCK/AC1P

*1 GROVE2(G2L) 端子は AKBONE2020 初期バージョンだと3ピンLED端子になっていて、G2L-1線が省略されています。

*2 LEDストリップ用に添付しているGROVEケーブルは電源電圧の違いによる事故を防ぐため、標準色とは異なる色を添付しています。

*3 ピン割当は、 hardware/LGT/avr/variants/standard/pins_arduino.h で定義されていますが、定義は D9 であるにもかかわらず実際には D8 で動作するようです。

LGT8F328SSOP20 データシート

(公式ページ)
http://www.lgtic.com/lgt8fx8p/#

回路図

image.png

基板アートワーク

image.png

3Dビュー

image.png

パーツリストと原価

プログラム

LED 点滅 ( Lチカ )

青LEDが1秒ごとにで点滅します


void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

LEDストラップテストプログラム

NeoPixelのサンプルコードのPIN番号を6から8に変更しているだけです。


// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// Released under the GPLv3 license to matサンプルコードはch the rest of the
// Adafruit NeoPixel library

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
 #include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif

// Which pin on the Arduino is connected to the NeoPixels?
#define PIN        8 // On Trinket or Gemma, suggest changing this to 1

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 16 // Popular NeoPixel ring size

// When setting up the NeoPixel library, we tell it how many pixels,
// and which pin to use to send signals. Note that for older NeoPixel
// strips you might need to change the third parameter -- see the
// strandtest example for more information on possible values.
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500 // Time (in milliseconds) to pause between pixels

void setup() {
  // These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
  // Any other board, you can remove this part (but no harm leaving it):
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
  clock_prescale_set(clock_div_1);
#endif
  // END of Trinket-specific code.

  pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
}

void loop() {
  pixels.clear(); // Set all pixel colors to 'off'

  // The first NeoPixel in a strand is #0, second is 1, all the way up
  // to the count of pixels minus one.
  for(int i=0; i<NUMPIXELS; i++) { // For each pixel...

    // pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255
    // Here we're using a moderately bright green color:
    pixels.setPixelColor(i, pixels.Color(0, 150, 0));

    pixels.show();   // Send the updated pixel colors to the hardware.

    delay(DELAYVAL); // Pause before next pass through loop
  }
}

これをコンパイルするには、NeoPixelライブラリをインストールする必要があります。

AKBONE2020ポータブル開発環境を使っている場合は NeoPixel ライブラリは既にインストールされています。そうでない場合は、以下のようにしてインストールします。

「スケッチ」-「ライブラリのインクルード」-「ライブラリの管理」でライブラリマネージャを起動します。
image.png

検索で NeoPixel で検索し、「Adafruit NeoPixel」を選んでインストールします。

書き込みできたらグリーンが光ります。

エモいLEDストラップのサンプルプログラム

確認できたら他のプログラムも試してみましょう。きれいなサンプルプログラム
「ファイル」-「スケッチ例」-「カスタムライブラリのスケッチ例」-「Adafruit NeoPixel」で「srandtest」を使うときれいな表示がなされます。

先程と同じように


// Which pin on the Arduino is connected to the NeoPixels?
#define PIN        6 // On Trinket or Gemma, suggest changing this to 1

を以下に変更します。


// Which pin on the Arduino is connected to the NeoPixels?
#define PIN        8 // On Trinket or Gemma, suggest changing this to 1

image.png

うまくいったので、そのままデコレーションに使った例です。

image.png

スピーカ

以下のサンプルスケッチを呼び出します。

File > Examples > 2.Digital > toneMelody

以下の箇所の 8 を AKBONE 用に15に変更してください。


    tone(8, melody[thisNote], noteDuration);
    noTone(8);

タッチセンサ


int sensorPin = A0;
void setup() {
  Serial.begin(115200);
}
void loop() {
   int value = analogRead(sensorPin);
   Serial.println(value);
   tone(15, value);
   delay(100);
   noTone(15);
}


パラポレピレパレ・・・と鳴っているのが、 14/A0 と GND リードにタッチすると音が止まります。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?