またまた開いちゃいましたが、サボっていたわけでは無くて、むしろコンペのために毎日勤勉に模型製作していました^^。
とりあえずまた動画から^^。
今回は2週間分の話なので少し長いです^^;
お暇な方は読んでやってください^^。
まずは、Twitter上でこのような「成型色仕上げコンペ2021」をお忙しい中開催して下さったn兄さんに感謝ですm(_ _)m
皆さんの色々なアイデアや作品見れて楽しかった~^^
コンペ開催を知りなんか面白そうなのでお気軽に参加w
でも参加決めた時にはまだ何を作るか決めてなかったというw
期限は2週間!塗装は外装の3割程度まで!という縛りでの製作^^
色々考えましたが、丁度少し前にミニプラレイズナー来たな。これやるか!
と思ったのですが、ほんとミニプラw小さすぎて電飾仕込めないw
てなことで1./48のレイズナーを入手。この時点ですでに3日過ぎているというww
ではキットの作成について。
まずは成型色仕上げですので、プロポーションとかは全く改造していません。
(今気がつきましたが、足の内外側のパーツ逆に付けてるw)
てか私のセンスだと改造してもかっこ悪くなるだけなのでやってませんw
無改造でしたので最初はポーズの限界と私のセンスのなさで、子供が「わ~い!」てな感じのポーズでした。
誰かさんに「ロボセンス0」の称号を頂くほどですww
ツイッターで皆さんに助言を頂きポーズ変更しました。
(レイズナー独特のポージングですよね~)
その際、肩関節が元の物より高く上がるようにするためと、首が左に向くようにするために襟の辺りのプラを削った程度の改造を行いました。
電飾についてはチップLED21個、NeoPixel4個です。
LEDは何個かはまとめてPWMを使う予定でしたので初めESP32で動かそうとしたのですが
なんかNeoPixelの動きが変ですw配線とか色々見るのですがこの時原因がわからず。
XIAO2個で基盤を作る事に。
作成した基板でNeoPixelを動かしてみるとこれもやはり妙に動きが遅くて変・・・・・・
答えは簡単でしたw4個しか連結していないのにプログラム上では60個の連結になっていましたww通信時間が増えるので動きが遅くなっていたんですねww
プログラム修正で正常可動しました。
ところが!今度はXIAOで全くI2Cが動かない・・・・・
とりあえずプルアップ抵抗10kΩを追加するとプログラム上の一番最初のI2C通信だけして、2回目からの通信が出来ていないという謎の動きw
ロジアナさんに登場願うも1回目は確かに信号出ているけど、2回目の通信は波形さえ出てこない、さらに、ロジアナのマイナス信号取るときにプラス配線に接触ww
XIAOさん昇天されましたww
もういいw!コンペの期限も近づいているので諦めてarduinoに交換w
こちらは一発で全機能可動^^
その後塗装に入りましたが、実は当初成型色活かしということで透過光を狙っていたのですが、昔のプラモと違って骨格部分が有ったりして中身が充実しているのでLEDを内部に入れるのが困難なため断念wその代わりに蛍光塗料でスミ入れしてブラックライトを当てて光らそうと画策w
ちょっと微妙ww
エナメルでをスミ入れしていたのですが、プラが破折w
見えないように後ろに回すw
実はこの後、ヤフオクで足パーツだけ売っているのを発見w落札!
ただ分解交換めんどくさいので結局そのまま放置ww
ちなみに、ブラックライト併用の完成写真がこちら
うむ・・・・肉眼で見るともっと綺麗にスミ入れ部分光っているんですけどね・・・写真ではいまいち^^;
後はくみ上げて最終的な点灯タイミングを実際に動かしながら、
プログラム→動かして撮影→修正プログラム
を何度も繰り返してタイミングを測りました^^。
PWM用の端子で製作しましたが結局PWMの意味がほとんどないプログラムに仕上がりましたww
ここが一番時間かかったかもw
なんだかんだやっているうちに首の角度を変えたりしているとNeoPixelが一つ光らなくなりましたw
空中交換w
ちなみに、NeoPixelは目の部分はいつものテープではなくてより小型の物使用しました。
コンデンサーは面倒なので省略w何とか動いていますw
NeoPixelを交換して再度動かしてみると腕部分のLEDが発光しない・・・・・・
頭パーツ外す時に腕パーツ動かしたから断線か・・・・でも両方がいっぺんに断線とかありえないので腰辺りでの左右配線の接合部付近か??
仕方ないので分解・・・・断線してないじゃない・・・・・なぜだ!!
そのまま配線を基板まで追っていくと・・・・
ちょっwソケットがずれてるだけじゃんかww
ちなみに、とりあえずの撮影用基板なのでハンダ部へのシュリンクチューブとか全くやっていませんw
他にもコクピットのシートのパーツ無くしてパイロットのエイジが空気イスとかw
部屋中掃除してシート発見
エイジの塗りが雑なのは見逃してw
エイジの手ってカニみたいな手だったんですね!(パーツ成型しろよσ(゚∀゚ )オレw!)
ホント撮影で見えない所は手抜き放題w
塗料はゆっく~り地味にこぼすこぼしたりw
キャノピー枠の塗装用に成型色に合わすの色々いじってると、ど派手にこぼしすこともw
(写真はカメラ探している時間でこぼれた範囲が拡大してしまいましたwそれでもカメラを探す!)
飛び跳ねた塗料が本体にもw
成型色だからシンナーでふき取り^^。これ塗装していたらと考えると怖いww
なんやかんやと有りながらどうにか締め切り日に撮影も完成しました。
うんwカメラ写り良いなこの子w
やはり締め切り有ると緊張感あっていいかもwただこれが続くと死ねるねw
今回は製作記ではなく失敗記になってっしまいました^^;
暫くまた「エージェント オブ シールド」見て模型製作サボります
あっ、最後にteznoさんとのお約束arduino用ですがプログラム載せておきます。
I2Cマスターarduino 頭、腕、足 用
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 |
//-------------NeoPixel----------------------------------------------------------- #include <Adafruit_NeoPixel.h> #define PIN 4 Adafruit_NeoPixel strip = Adafruit_NeoPixel(5, PIN, NEO_GRB + NEO_KHZ800); //--------------------------------------------------------------------- #include <Wire.h> //------------------------------------------------------------------------------- #define ude 11 #define tekubi 10 #define Leg_haiki 9 #define momo 6 #define hiza 5 #define ashikubi 3 //#define UV 2 //SDA A4 //SCL A5 //-------------I2C------------------------------------ void I2C(byte data){ Wire.beginTransmission(4); // transmit to device #4 Wire.write(data); // sends one byte Wire.endTransmission(); delay(1); } //-------------------------------------------------- void normal_eye(){strip.setBrightness(120); strip.setPixelColor(2, strip.Color(250,80, 0)); strip.setPixelColor(1, strip.Color(250,80, 0)); strip.show(); } void vmax_eye(int t){ I2C(1); strip.setPixelColor(0, strip.Color(0,0, 0)); delay(500); for(int i=0;i<21;i++){ strip.setPixelColor(2, strip.Color(250-12*i-10,40-i*2, 0)); strip.setPixelColor(1, strip.Color(250-12*i-10,40-i*2, 0)); strip.show(); delay(t); } delay(700); strip.setBrightness(255); strip.setPixelColor(2, strip.Color(255, 0, 50)); strip.setPixelColor(1, strip.Color(255, 0, 50)); strip.show(); delay(60); strip.setPixelColor(2, strip.Color(0, 0, 0)); strip.setPixelColor(1, strip.Color(0, 0, 0)); strip.show(); delay(10); strip.setBrightness(150); strip.setPixelColor(2, strip.Color(255, 0, 50)); strip.setPixelColor(1, strip.Color(255, 0, 50)); strip.show(); } void ude_ashi_hirogaru( int t){ for(int i=1;i<51;i++){ analogWrite(momo,i*5); delay(t); } for(int i=1;i<51;i++){ analogWrite(ude,i*5); analogWrite(hiza,i*5); delay(t); } for(int i=1;i<51;i++){ analogWrite(tekubi,i*5); analogWrite(ashikubi,i*5); delay(t); } } void zentai(int i){ analogWrite(ude,i); analogWrite(tekubi,i); analogWrite(Leg_haiki,i); analogWrite(momo,i); analogWrite(hiza,i); analogWrite(ashikubi,i); } void off(){ strip.setPixelColor(3, strip.Color(0, 0, 0)); strip.show(); zentai(0); } void off_slow(int t){ int i,j; for(j=0;j<51;j++){ zentai(250-j*5); delay(t); } } void all(int p){ strip.setPixelColor(3, strip.Color(100, 255, 100)); strip.show(); zentai(p); } void flash(int t){ all(255); for(int i=0;i<50;i++){ zentai(255-i*2); delay(t); } } void tenmetu(int t){ analogWrite(momo,250); delay(t);//1回 off(); delay(t); analogWrite(momo,250); analogWrite(ude,250); delay(t);//2 off(); delay(t); all(255); delay(t);//3 off(); } //-------------------------------------------------------------------------- void setup() { Serial.begin (9600); // pinMode(UV,OUTPUT); //--------------------------------------------------- strip.begin(); strip.setBrightness(80); colorWipe(strip.Color(0, 0, 0), 50); //----------------I2C---------------------------------- Wire.begin(); } //--------------------------------------------------- void loop() { ///* normal_eye(); delay(10000); rainbowCycle(3,10); vmax_eye(30); delay(500); I2C(4); delay(700); off(); I2C(2); delay(300); I2C(6); tenmetu(40); delay(400); I2C(3); //digitalWrite(UV,HIGH); flash(20); rainbowCycle2(5,15); off(); I2C(5); colorWipe(strip.Color(0, 0, 0), 50); delay(500); } //---------------------------------------------------------------------------------- void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i<strip.numPixels(); i++) { strip.setPixelColor(i, c); strip.show(); delay(wait); } } void rainbowCycle(uint8_t wait,int c) { uint16_t j; for(j=0; j<256*c; j++) { // 3cycles of all colors on wheel strip.setPixelColor(0, Wheel( j & 255)); strip.show(); delay(wait); } } void rainbowCycle2(uint8_t wait,int c) { uint16_t i, j; for(j=0; j<256*c; j++) { // 5 cycles of all colors on wheel for(i=3; i<4; i++) { strip.setPixelColor(i, Wheel(((i * 256 / 1) + j) & 255)); } strip.show(); delay(wait); } } uint32_t Wheel(byte WheelPos) { WheelPos = 255 - WheelPos; if(WheelPos < 85) { return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3); } if(WheelPos < 170) { WheelPos -= 85; return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0); } WheelPos -= 170; return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3); } |
I2Cスレイブarduino 胴体 用
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
#include <Wire.h> byte x; int rand_new; #define LR_body 11 //#define R_body 10 #define L_kata 10 #define R_kata 9 #define C_haiki 6 #define L_haiki 5 #define R_haiki 3 //SDA A4 //SCL A5 //-------------------------------------- void zentai(int i){ analogWrite(LR_body,i); analogWrite(L_kata,i); analogWrite(R_kata,i); analogWrite(C_haiki,i); analogWrite(L_haiki,i); analogWrite(R_haiki,i); } void receiveEvent(int howMany) { x = Wire.read(); // receive byte as an integer //Serial.println(x); } void ope(){ //Serial.println(x); if(x==1){rand_body(80);x=0;} if(x==2){off();x=0;} if(x==3){flash(20);x=0;} if(x==4){all_s(10);x=0;} if(x==5){off_slow(10);x=0;} if(x==6){tenmetu(40);x=0;} } void rand_body(int t){ for(int i=0;i<20;i++){ rand_new = random(1,7); if(rand_new==1){zentai(0);analogWrite(LR_body,250);} if(rand_new==2){zentai(0);analogWrite(L_kata,250);} if(rand_new==3){zentai(0);analogWrite(R_kata,250);} if(rand_new==6){zentai(0);analogWrite(C_haiki,250);} if(rand_new==4){zentai(0);analogWrite(L_haiki,250);} if(rand_new==5){zentai(0);analogWrite(R_haiki,250);} delay(t); } zentai(0); } void all(int p){ zentai(p); } void flash(int t){ all(255); for(int i=0;i<50;i++){ zentai(255-i*2); delay(t); } } void off(){ zentai(0); } void off_slow(int t){ int i,j; for(j=0;j<51;j++){ zentai(250-j*5); delay(t); } } void tenmetu(int t){ all(255); delay(t);//1回 off(); delay(t); all(255); delay(t);//2 off(); delay(t); all(255); delay(t);//3 off(); } void all_s(int t){ for(int j=0;j<51;j++){ zentai(j*5); delay(t); } } void setup(){ Serial.begin (9600); Wire.begin(4); Wire.onReceive(receiveEvent); } void loop() { ope(); } |
I2CについてはそれぞれのA4とA4、A5とA5を繋げるだけです。arduinoでは内部プルアップあるのでプルアップ用の抵抗は不要です。
関連すると思われる記事:
- None Found
┃┃ωΦ)チラッ
っと覗きにきましたら盛りだくさんでびっくり (イベントも・・・)
チップLED21個、NeoPixel4個とか、とても考えられません。
こうしてピカピカっとかっこよくなったのですね〜
schuさん ご来場ありがとうございますw
うっかりイベントは目白押しですw
まっ、2週間ありましたからね~この位の数はw
LEDは実際光らせてみるとそんなには多くないんですよ~。
今回は細かく個別に点灯するようにするために配線を別にして物が多くてちょっと面倒でしたけどね^^;
なんかそれっぽくなってくれたので良かったです。
うっかりで成形色塗り潰し!!
まあ今回まバズリストの王は
凄まじかったっすね!
写真撮りづらくなるから単色で発光だけに
したけど、サラミスもボッカーンって
音とエフェクトつけた方が良かったのかな?
実力の差をまざまざと見せつけられましたぜい!なんやかんや言ってもアルディのナノぐらいが一番好きなデバイスかも?
スケッチありがとうございました!
流石エッチなバズリストは
スケッチも、素敵!!(笑)
どうにもピン定義がよくわからないんですけどデジタル指定しているから、
ピン番号だけでいいんですか?
まっとりまぶっ刺してひかったらオケにします。
てつのさん こんばんは!
ツイッターでも皆さんから評価いただけていつもありがたいです。
ある意味光の調整等して動画を上げてますから、模型本来の物ではないのでずるでは有りますけどね^^;
そうですね。電飾って写真も良いですが、動きがある物がやはり惹かれますよね~。動きがあるならやはり音も有る方がいいですもんね。
たしかにarduino位が慣れているので何かとらくですよね~。ただ、やはり色々なデバイスを使えると出来ることの幅が広がりますからね~。
ピン定義はプログラム冒頭のdefineの後ろに書いてある番号3,5,6,9,10,11のピンを使います。ここにLEDを刺すと光ります。
NeoPixelの信号線はピン4に刺してください。
それと今回ピンはPWMのピンのみですのでsetupでのpinModeでの設定は無くて大丈夫です。
あとは2つのarduinoのA4とA4、A5とA5を繋ぐとI2C通信ができます。
こんばんは
予告に違わぬ教祖様の御自らの布教ぶり、堪能させていただきましたw
i2c部分のシンプルさを見てもArduinoライブラリのすごさを改めて感じます。
レイズナーの完成動画、音付きだとさらに雰囲気マシマシですね、カッコいい!
次は全塗装、バリバリ改造ありでおねがいしゃ~す!
なおさん こんばんは!
いつもながらのうっかりミスの連続ですw
今回は動画サウンドにちょうどいいセリフが入っていたのでそこに入れ込んでみましたww
まっ、順当なうっかりですよね!
I2Cの部分アホほど簡単でしょwwなんかスイッチングでTr入れてとかやっていたのが馬鹿らしくなりますw2本つなぐだけであとはほぼ無限の種類のコマンド送れるんですからねw
受け取る方も超簡単な関数ですw
やはり動くものは音が付いてないといけませんよねw
レイズナーはこれで終了w多分、これ全塗装すると動画にした時にここまで綺麗な発光シーンにならないと思いますw
なんだかねもう作業中の動きが浮かんできて自然と笑みがこぼれるんですがwww
皆さん、6jiroさんの作業風景見たこと無い方がほとんどだと思いますが、
とにかく忙しいんですよw
頭の回転の速さに心が追いつかないまま手が1.5倍速で動いてる感じ?
更に「ふんふん、、あーなるほど」「あ!だからこっちが」「亜ああーー!」
みたいな独り言が被さるから、非常にせわしないwww
上記の作業に、上記のような適当な音声想像してみてください。
ピッタリはまりますからww
話かわりますが、neopixelコンデンサ無くても大丈夫だったでしょ。
なおさんとかVividさんには怒られそうな使い方ですけどねw
空中配線お見事です^^
こんばんは
2週間分の実況中継、楽しく拝見しました。(笑)
このレイズナーって、全くの素人で分りませんが、電飾の発光パターンが凄く好きです!
高速フラッシュや通常点滅が織り交ざって、雰囲気がすばらしいですね。
電飾の工作はいつもの教祖様の教え通り、「おなか一杯」です!(笑)
塗装を最小限に抑えるというルールが面白いですね。ランナー跡を削った後は、どうするのでしょうか?細かな紙やすりとコンパウンドで磨くんでしょうか?
いずれにしてもきれいに仕上がっていますね!
gyoさん こんばんは!
なんか微妙に褒めてるww?
まっ、家族からも「独り言エグイ!」と言われますからねw
多分ブログ読んでる人は、ここに書かれているような
>>ちょっwソケットがずれてるだけじゃんかww
てのはブログ用に書いてると思っていると思いますが、これ本当に一人で実際に突っ込んでますからねww
gyoさんは一緒に作業した時、うるせ~な~wと思われたでしょうねww
NeoPixelコンデンサー無しでも行けますよねwwコレコンデンサーとか入れるの面倒で使ってなかったのですが、無しでも十分動くの分かりましたのでさらに活用範囲広がりそうですw
何と言っても信号線1本で沢山のカラーLED動かせるのが最大の魅力ですよね~!
Vividさん こんばんは!
2週間の作業ですから、うっかりも2週間分ですww
レイズナーってV-maxと言って一時的に全機能アップする機能が有るんです。その状態に変化するときに派手に光るんですよね~それを何とか表現してみました!ただね、実物見ると全然違いますww
今回はほぼ塗装ナシでのコンペでした。
ランナー切断部分はやすりをかけて軽く研磨して誤魔化していますw
切断時にゴッドハンドのニッパー使ってできるだけ白化しないようには気を付けましたが、中々難しいですよねw
今回は800番位まで磨いた後、ネイル磨き用のこちらの商品で磨いてみました。
https://item.rakuten.co.jp/jewelry-nail/gls-0001/?s-id=ph_pc_itemname
結構簡単に綺麗になってくれます^^