アフィリエイト広告を利用しています
アクセスカウンター
ファン
<< 2018年06月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
写真ギャラリー
カテゴリーアーカイブ
タグクラウド
月別アーカイブ
日別アーカイブ
最新コメント

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2018年06月26日

【番外編3】Auduino_v5+DIPS / ブレッドボード

基板用ポテンショメーターはブレッドボードから外れやすい

前回のAuduino_v5をミント缶に実装する前に基板用ポテンショメーターを使ってブレッドボード上でAuduino_v5を組んで動作確認した



この基板用ポテンショは足がブレッドボードから外れやすく、外れると出音が変わることがある

どの足の信号がどんな音の変化に影響しているのかを知りたくてジャンパー線を1本ずつ外してみたりするとほとんどの足で違った音の変化があるように感じる

とりあえず音の変化のバリエーションが多いのは面白いというだけで
「それぞれの入出力をディップスイッチで切り替えられるAuduino_v5」(Auduino_v5+DIP Switch (DIPS))を作ってみようと思った
Auduino_v5+DIPS / ブレッドボード

ブレッドボードで作ってみる

(1)配線

配線はこんな感じ

IMG_0022.jpg

Auduino_v5+DIPS.png
(Fritzingに3極ディップスイッチがなかったので8極で代用)

(2)スケッチ

スケッチはauduino_v5と同じ

(3)実行

では実行してディップスイッチをいじってみます



一応できているかな

ディップスイッチを使わなくても、つまみをグリグリ動かすことで同じような音が出そうですが、ディップスイッチをいじった瞬間に音が変化するのはつまみとは違った面白さがあります

今回はここまで

ではまた〜


【永久保証付き】Arduino Uno

新品価格
¥3,240から


Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab

新品価格
¥5,780から


Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


Arduinoをはじめようキット

新品価格
¥4,310から


Arduino エントリーキット(Uno版)- Physical Computing Lab

新品価格
¥4,320から


タミヤ 楽しい工作シリーズ No.216 3ch RCロボット製作セット 70216

新品価格
¥6,327から


エレキット 水圧式ロボットアーム MR-9105

新品価格
¥4,560から


エレキット バトルタイタン2 MR-9101R

新品価格
¥3,163から


世界最小★OZO-010102-0102 World's Smallest SMART Robot - Dual Pack, 1 Crystal White & 1 Titanium Black 2 Bonus Limited-Edition Skins スマートロボット Ozobot社【並行輸入】

新品価格
¥6,000から


タミヤ 楽しい工作シリーズ No.211 アームクローラー工作セット 70211

新品価格
¥1,345から


タミヤ 楽しい工作シリーズ No.97 ツインモーターギヤーボックス (70097)

新品価格
¥587から


タミヤ 楽しい工作シリーズ No.106 4チャンネル・リモコンボックス (70106)

新品価格
¥1,118から


posted by riserobo: at 08:21| Comment(0) | TrackBack(0) | Auduino

2018年06月19日

【番外編2】Auduino_v5 / ミント缶

パーツ再考

前回、ブレッドボード上でauduino_v5を組んで音を出した
これをALTOIDS缶に組み込みたいけど・・・

IMG_0008-Edit.jpg

9v電池を使おうとすると・・・ALTOIDS缶の大きさが・・・これは全部は入らないんじゃ・・仮置きしてみると

IMG_0009-Edit.jpg

配線を考えるとちょっと入りそうにないので、いくつかパーツを変更することにしました

ケースを大きくするのが一番簡単だということには気がつかないことにします

(パーツ変更)
1. ALTOIDS缶は加工がしやすいように無地のもの
2. Arduino UNOは小さいArduino NANO
3. ポテンショメーター小型のもの
4. 9v電池は小さい12v電池
5. 8Ω 0.5W スピーカーを小型の8Ω 1W スピーカー
6. 4極オーディオジャック実装済み基板を差し込み口固定用ネジがきってある5ピン ステレオオーディオジャック


IMG_0010.jpg

変更したパーツで仮置きしてみました

IMG_0011.jpg

これでいけるはず
実装

実装するのを一回失敗してるので全体の流れを先に示すと

(1)(失敗)配線取り回し
はじめ蓋一体型のミント缶に配線取り回しで作ったけど何回か蓋の開け閉めをしたら断線、ショートしてArduino nanoが壊れた(泣)

(2)(成功)ユニバーサル基板
配線取り回しをやめて、できるだけユニバーサル基板に載せ、蓋の開け閉めを減らすために電源スイッチとLEDをつけた
(1)配線取り回し(Auduino_v5_1st)(失敗)

ALTOIDSサイズ缶の穴あけと配線の半田付けまでをして組み立てて・・・

IMG_0013.jpg

蓋を閉めて音出しをして・・・なんか調子がおかしくなって・・・配線が外れてて・・・音出しをして・・・蓋を閉めて・・・音がしなくなって・・・配線が切れてて・・・結線やり直して・・・蓋をして音が出なくて煙が出て・・・あれ?っと思ったらArduino NANOが反応しなくなって・・・ダメだこりゃ

Arduino NANOが逝ってしまいました(痛恨)
ワイヤーの選択を誤ったな・・・orz

IMG_0012.jpg

この方法は難しいので新しく作り直します
(2)ユニバーサル基板(Auduino_v5_2nd)

Auduino_v5_1stからの改善案

(問題点と改善点)
@ 狭いスペースでの配線取り回しと蓋の開け閉めでケーブルにストレスがかかって接触不良・断線・ショートしてnanoが逝ってしまった
 ⇨ できるだけ基板実装タイプにする
A ポテンショメーターつまみ間の距離が狭く操作性が悪かった
 ⇨ つまみ位置間隔をできるだけ広めにとる
B 蝶番蓋の開け方で配線にストレスがかかる
 ⇨ 蓋を取り外せるタイプにして蓋の開け方に自由度を持たせる
C スピーカー穴のデザインがいまいち&穴あけ面倒
 ⇨ スピーカー穴のデザインを変える
D 蓋を閉めると電源のON/OFFや確認ができない
 ⇨ 電源スイッチとLEDインジケーターをつける

という感じでパーツを作りました

上面
IMG_0045.jpg

下面
IMG_0044.jpg

ミント缶に入れる前に一度テストしてみるとスピーカーでは気にならなかったノイズがイヤホンだと気になって、ボリュームを最小にすると「シー」って音と低い「ムー」みたいな音が聞こえたので出力に47Ωの抵抗をかませて抑えた

ノイズを完全に抑えようとするとスピーカーからの出力が下がるし、低すぎるとノイズがきになるのでその間で47Ωにしました

組み立てと動作テスト

ミント缶に組み入れます



できました!

IMG_0037.jpg
完成

これで完成ですっっっ

ではまた〜



【永久保証付き】Arduino Uno

新品価格
¥3,240から


Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab

新品価格
¥5,780から


Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


Arduinoをはじめようキット

新品価格
¥4,310から


Arduino エントリーキット(Uno版)- Physical Computing Lab

新品価格
¥4,320から


タミヤ 楽しい工作シリーズ No.216 3ch RCロボット製作セット 70216

新品価格
¥6,327から


エレキット 水圧式ロボットアーム MR-9105

新品価格
¥4,560から


エレキット バトルタイタン2 MR-9101R

新品価格
¥3,163から


世界最小★OZO-010102-0102 World's Smallest SMART Robot - Dual Pack, 1 Crystal White & 1 Titanium Black 2 Bonus Limited-Edition Skins スマートロボット Ozobot社【並行輸入】

新品価格
¥6,000から


タミヤ 楽しい工作シリーズ No.211 アームクローラー工作セット 70211

新品価格
¥1,345から


タミヤ 楽しい工作シリーズ No.97 ツインモーターギヤーボックス (70097)

新品価格
¥587から


タミヤ 楽しい工作シリーズ No.106 4チャンネル・リモコンボックス (70106)

新品価格
¥1,118から


posted by riserobo: at 11:16| Comment(0) | TrackBack(0) | Auduino

2018年06月12日

【番外編1】Auduino_v5 / ブレッドボード

Auduinoって?

ロボットのためにArduinoのことを調べているときに"Auduino"というのを見かけた

AuduinoはArduinoを使ったシンセサイザーのようなもののよう
ロボット作りと直接関係ないけど寄り道は楽しい

というわけで番外編

今回は、第6回「シンプルなのに出音がすごいシンセサイザ - Auduino入門」を参考に「Auduino_v5」を作ります

スクリーンショット 2018-06-11 21.57.47.png
この記事は・・・(2009年 7月 16日)のものなんですかね・・・結構前ですね・・・知らんかった

では、やってみます
ブレッドボードでAuduino

(1)配線

ブレッドボードを使って組んでみます

(材料)
  1. Arduino UNO (互換品)x1
  2. Arduino UNO付属のUSBケーブル x1
  3. B10Kポテンショメーター x5
  4. 0.5Wスピーカー x1
  5. ブレッドボード x1
  6. ジャンパワイヤー x必要数


IMG_0001-Edit.jpg

そんなに複雑じゃ無いのでブレッドボードいらないんですが・・・

IMG_0002-Edit.jpg

一応できました

写真だとわかりにくいのでFritzingも置いて

スクリーンショット 2018-06-12 9.40.32.png

(2)スケッチ

スケッチは第6回「シンプルなのに出音がすごいシンセサイザ - Auduino入門」の記事中に紹介されているtinker.it のリスト中のauduino_v5.pdeをダウンロードしてAuduino IDEで開きます

スクリーンショット 2018-06-11 22.02.26.png

auduino_v5
――――――――――(auduino_v5)――――――――――
// Auduino, the Lo-Fi granular synthesiser
//
// by Peter Knight, Tinker.it http://tinker.it
//
// Help: http://code.google.com/p/tinkerit/wiki/Auduino
// More help: http://groups.google.com/group/auduino
//
// Analog in 0: Grain 1 pitch
// Analog in 1: Grain 2 decay
// Analog in 2: Grain 1 decay
// Analog in 3: Grain 2 pitch
// Analog in 4: Grain repetition frequency
//
// Digital 3: Audio out (Digital 11 on ATmega8)
//
// Changelog:
// 19 Nov 2008: Added support for ATmega8 boards
// 21 Mar 2009: Added support for ATmega328 boards
// 7 Apr 2009: Fixed interrupt vector for ATmega328 boards
// 8 Apr 2009: Added support for ATmega1280 boards (Arduino Mega)

#include
#include

uint16_t syncPhaseAcc;
uint16_t syncPhaseInc;
uint16_t grainPhaseAcc;
uint16_t grainPhaseInc;
uint16_t grainAmp;
uint8_t grainDecay;
uint16_t grain2PhaseAcc;
uint16_t grain2PhaseInc;
uint16_t grain2Amp;
uint8_t grain2Decay;

// Map Analogue channels
#define SYNC_CONTROL (4)
#define GRAIN_FREQ_CONTROL (0)
#define GRAIN_DECAY_CONTROL (2)
#define GRAIN2_FREQ_CONTROL (3)
#define GRAIN2_DECAY_CONTROL (1)


// Changing these will also requires rewriting audioOn()

#if defined(__AVR_ATmega8__)
//
// On old ATmega8 boards.
// Output is on pin 11
//
#define LED_PIN 13
#define LED_PORT PORTB
#define LED_BIT 5
#define PWM_PIN 11
#define PWM_VALUE OCR2
#define PWM_INTERRUPT TIMER2_OVF_vect
#elif defined(__AVR_ATmega1280__)
//
// On the Arduino Mega
// Output is on pin 3
//
#define LED_PIN 13
#define LED_PORT PORTB
#define LED_BIT 7
#define PWM_PIN 3
#define PWM_VALUE OCR3C
#define PWM_INTERRUPT TIMER3_OVF_vect
#else
//
// For modern ATmega168 and ATmega328 boards
// Output is on pin 3
//
#define PWM_PIN 3
#define PWM_VALUE OCR2B
#define LED_PIN 13
#define LED_PORT PORTB
#define LED_BIT 5
#define PWM_INTERRUPT TIMER2_OVF_vect
#endif

// Smooth logarithmic mapping
//
uint16_t antilogTable[] = {
64830,64132,63441,62757,62081,61413,60751,60097,59449,58809,58176,57549,56929,56316,55709,55109,
54515,53928,53347,52773,52204,51642,51085,50535,49991,49452,48920,48393,47871,47356,46846,46341,
45842,45348,44859,44376,43898,43425,42958,42495,42037,41584,41136,40693,40255,39821,39392,38968,
38548,38133,37722,37316,36914,36516,36123,35734,35349,34968,34591,34219,33850,33486,33125,32768
};
uint16_t mapPhaseInc(uint16_t input) {
return (antilogTable[input & 0x3f]) >> (input >> 6);
}

// Stepped chromatic mapping
//
uint16_t midiTable[] = {
17,18,19,20,22,23,24,26,27,29,31,32,34,36,38,41,43,46,48,51,54,58,61,65,69,73,
77,82,86,92,97,103,109,115,122,129,137,145,154,163,173,183,194,206,218,231,
244,259,274,291,308,326,346,366,388,411,435,461,489,518,549,581,616,652,691,
732,776,822,871,923,978,1036,1097,1163,1232,1305,1383,1465,1552,1644,1742,
1845,1955,2071,2195,2325,2463,2610,2765,2930,3104,3288,3484,3691,3910,4143,
4389,4650,4927,5220,5530,5859,6207,6577,6968,7382,7821,8286,8779,9301,9854,
10440,11060,11718,12415,13153,13935,14764,15642,16572,17557,18601,19708,20879,
22121,23436,24830,26306
};
uint16_t mapMidi(uint16_t input) {
return (midiTable[(1023-input) >> 3]);
}

// Stepped Pentatonic mapping
//
uint16_t pentatonicTable[54] = {
0,19,22,26,29,32,38,43,51,58,65,77,86,103,115,129,154,173,206,231,259,308,346,
411,461,518,616,691,822,923,1036,1232,1383,1644,1845,2071,2463,2765,3288,
3691,4143,4927,5530,6577,7382,8286,9854,11060,13153,14764,16572,19708,22121,26306
};

uint16_t mapPentatonic(uint16_t input) {
uint8_t value = (1023-input) / (1024/53);
return (pentatonicTable[value]);
}


void audioOn() {
#if defined(__AVR_ATmega8__)
// ATmega8 has different registers
TCCR2 = _BV(WGM20) | _BV(COM21) | _BV(CS20);
TIMSK = _BV(TOIE2);
#elif defined(__AVR_ATmega1280__)
TCCR3A = _BV(COM3C1) | _BV(WGM30);
TCCR3B = _BV(CS30);
TIMSK3 = _BV(TOIE3);
#else
// Set up PWM to 31.25kHz, phase accurate
TCCR2A = _BV(COM2B1) | _BV(WGM20);
TCCR2B = _BV(CS20);
TIMSK2 = _BV(TOIE2);
#endif
}


void setup() {
pinMode(PWM_PIN,OUTPUT);
audioOn();
pinMode(LED_PIN,OUTPUT);
}

void loop() {
// The loop is pretty simple - it just updates the parameters for the oscillators.
//
// Avoid using any functions that make extensive use of interrupts, or turn interrupts off.
// They will cause clicks and poops in the audio.

// Smooth frequency mapping
//syncPhaseInc = mapPhaseInc(analogRead(SYNC_CONTROL)) / 4;

// Stepped mapping to MIDI notes: C, Db, D, Eb, E, F...
//syncPhaseInc = mapMidi(analogRead(SYNC_CONTROL));

// Stepped pentatonic mapping: D, E, G, A, B
syncPhaseInc = mapPentatonic(analogRead(SYNC_CONTROL));

grainPhaseInc = mapPhaseInc(analogRead(GRAIN_FREQ_CONTROL)) / 2;
grainDecay = analogRead(GRAIN_DECAY_CONTROL) / 8;
grain2PhaseInc = mapPhaseInc(analogRead(GRAIN2_FREQ_CONTROL)) / 2;
grain2Decay = analogRead(GRAIN2_DECAY_CONTROL) / 4;
}

SIGNAL(PWM_INTERRUPT)
{
uint8_t value;
uint16_t output;

syncPhaseAcc += syncPhaseInc;
if (syncPhaseAcc < syncPhaseInc) {
// Time to start the next grain
grainPhaseAcc = 0;
grainAmp = 0x7fff;
grain2PhaseAcc = 0;
grain2Amp = 0x7fff;
LED_PORT ^= 1 << LED_BIT; // Faster than using digitalWrite
}

// Increment the phase of the grain oscillators
grainPhaseAcc += grainPhaseInc;
grain2PhaseAcc += grain2PhaseInc;

// Convert phase into a triangle wave
value = (grainPhaseAcc >> 7) & 0xff;
if (grainPhaseAcc & 0x8000) value = ~value;
// Multiply by current grain amplitude to get sample
output = value * (grainAmp >> 8);

// Repeat for second grain
value = (grain2PhaseAcc >> 7) & 0xff;
if (grain2PhaseAcc & 0x8000) value = ~value;
output += value * (grain2Amp >> 8);

// Make the grain amplitudes decay by a factor every sample (exponential decay)
grainAmp -= (grainAmp >> 8) * grainDecay;
grain2Amp -= (grain2Amp >> 8) * grain2Decay;

// Scale output to the available range, clipping if necessary
output >>= 9;
if (output > 255) output = 255;

// Output to PWM (this is faster than using analogWrite)
PWM_VALUE = output;
}

―――――――――――――――――――――――――――

(3)実行
(2)のスケッチをArduinoに書き込んで実行します

初めは小さなビープ音しか聴こえなくて、なんか失敗したかなって感じだったんですが、ノブを色々いじってみるとそれなりに音が聴こえるようになりました


ちょっと楽しくていろいろいじって遊んでしまった

でも・・・音が小さいというか・・・小さい音の中にもかすかに音の変化があるというか・・・何かを聴き落としているような・・・

もっと大きなスピーカーに繋ぐとかイヤホンで聴いた方が良いかな?

というわけで、4極オーディオジャック実装済み基板につないでイヤホンで聴いてみます

IMG_0004-Edit.jpg
4極オーディオジャック実装済み基板


イヤホンから出ている音だけでもスピーカーより大きいような・・・
途中イヤホンの左右のつなぎ変えの方法を確かめたりしてます
音が聞こえないところでは耳にイヤホンを入れて聴いてます

イヤホンを耳で聴いたら、耳が痛いくらいの大音量になったけど、音の傾向は変わらず、逆にゲインが大きすぎると耳に良く無さそうで聴きにくい
心持ちビビリノイズが増えているような・・・

これはアンプに繋いでボリューム調節できないとダメなんじゃ・・・オーディオジャック経由でアンプ付きスピーカーに繋ぐしか無いのかな・・・持ち運びできるといいんだが・・・

なんかいいのないかなあってググっててAmazonでボリュームノブのついた小型オーディオアンプボードを見つけたのでつないでみる

IMG_0006-Edit.jpg
小型オーディオアンプボード


小型オーディオアンプボードのスルーホールに直接ジャンパー線をつないで接続しているのでところどころ接触が悪くて音が飛んでます・・・

結果はまあ、いいんじゃないでしょうか
小さな音の変化を拾いやすくなったような気がします

これくらいの構成で一度ケースに組み込んでみようと思います

ではまた〜


【永久保証付き】Arduino Uno

新品価格
¥3,240から


Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab

新品価格
¥5,780から


Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


Arduinoをはじめようキット

新品価格
¥4,310から


Arduino エントリーキット(Uno版)- Physical Computing Lab

新品価格
¥4,320から


タミヤ 楽しい工作シリーズ No.216 3ch RCロボット製作セット 70216

新品価格
¥6,327から


エレキット 水圧式ロボットアーム MR-9105

新品価格
¥4,560から


エレキット バトルタイタン2 MR-9101R

新品価格
¥3,163から


世界最小★OZO-010102-0102 World's Smallest SMART Robot - Dual Pack, 1 Crystal White & 1 Titanium Black 2 Bonus Limited-Edition Skins スマートロボット Ozobot社【並行輸入】

新品価格
¥6,000から


タミヤ 楽しい工作シリーズ No.211 アームクローラー工作セット 70211

新品価格
¥1,345から


タミヤ 楽しい工作シリーズ No.97 ツインモーターギヤーボックス (70097)

新品価格
¥587から


タミヤ 楽しい工作シリーズ No.106 4チャンネル・リモコンボックス (70106)

新品価格
¥1,118から


posted by riserobo: at 19:25| Comment(0) | TrackBack(0) | Auduino
検索
QRコード
RSS取得
プロフィール
riserobo:さんの画像
riserobo:
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。