オバケちゃん コスプレ衣装の製作
去年のハロウィンは手作りは嫌だということで市販の仮装衣装で挑んだ長女ちゃん。しかし今年は自らオバケの被り物で仮装したいと提案してくれました!お父ちゃん
去年はLEDでピカピカに光った長男くん
☟まずは動画をご覧ください!
以下に製法を記します。
目次
材料
長女ちゃん
材料の詳細は以下で随時ご説明させていただきます!
頭部
着ぐるみっぽくするために頭部はドーム状にしたくて、かなり工夫しました。
比較的しっかり形状をたもてて かつ加工しやすい材料をダイソーでさがしてみたところ最適なものを見つけました。
ヨガマットです!
ヨガマットでドーム作製#ハロウィン🎃 pic.twitter.com/wedNGxkQcb
— HomeMadeGarbage (@H0meMadeGarbage) October 19, 2019
600円もしましたが172 cm × 61 cmで0.6cm厚と大サイズのウレタン素材です。これは本当にいいものを見つけました!
ドーム状にするために以下の半球を生成する型紙を利用させていただきました。
直径100cmの型紙ですので60%の縮尺で印刷して半径60cmの半球にします。
型紙に沿って10個のパーツにヨガマットを切り出してボンドで貼り付けます。
ドーム形成後、木工用ボンドを縫って少し硬めにしました。
目
かぶるだけで光ったりしなくていいと長女ちゃん
控えめな長女ちゃんは光ったりしなくていいというが、お父ちゃんはそれを我慢できない。#ハロウィン🎃 pic.twitter.com/sv9BfmZEQe
— HomeMadeGarbage (@H0meMadeGarbage) October 20, 2019
構成
LEDテープを左右に5 × 7でジグザクに配列しました。信号を2パラで入力して同じ動作をさせています。
部品
- マイコンAdafruit Trinket M0
- LEDテープ
Arduinoコード
以下のライブラリを使用しています。
https://github.com/adafruit/Adafruit_NeoPixel
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_NeoMatrix
ランダムでバツの点滅や目の色や瞬き、♡表示を行っています。
マトリクスライブラリは文字表示なども簡単にできるので非常に便利です。詳細は以下のブログも参照ください。
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 |
#include <Adafruit_GFX.h> #include <Adafruit_NeoMatrix.h> #include <Adafruit_NeoPixel.h> #ifndef PSTR #define PSTR // Make Arduino Due happy #endif #define PIN 3 // Define matrix width and height. #define mw 5 #define mh 7 Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(mw, mh, PIN, NEO_MATRIX_TOP + NEO_MATRIX_RIGHT + NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800); const uint16_t colors[7] = { matrix.Color(0, 0, 255),matrix.Color(0, 255, 0), matrix.Color(0, 255, 255), matrix.Color(255, 0, 0), matrix.Color(255, 0, 255), matrix.Color(255, 255, 0), matrix.Color(255, 255, 255) }; uint16_t col; int var, x; String num[] = {"0", "1", "2", "3","4", "5", "6","7", "8", "9"}; static const uint8_t PROGMEM mono_bmp[][7] ={ //バツ { B10001000, B01010000, B01010000, B00100000, B01010000, B01010000, B10001000, }, //目 { B01110000, B11111000, B11111000, B11111000, B11111000, B11111000, B01110000, }, { B00000000, B11111000, B11111000, B11111000, B11111000, B11111000, B01110000, }, { B00000000, B00000000, B11111000, B11111000, B11111000, B11111000, B01110000, }, { B00000000, B00000000, B00000000, B11111000, B11111000, B11111000, B01110000, }, { B00000000, B00000000, B00000000, B00000000, B11111000, B11111000, B01110000, }, { B00000000, B00000000, B00000000, B00000000, B00000000, B11111000, B01110000, }, { B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01110000, }, { B00000000, B01010000, B11111000, B11111000, B11111000, B01110000, B00100000, }, }; void setup() { matrix.begin(); matrix.setTextWrap(false); matrix.setBrightness(40); } void loop() { col = colors[random(0, 7)]; var = random(0, 20); switch (var) { case 0: x = random(0, 5); for(int i = 0; i < x; i++){ matrix.drawBitmap(0, 0, mono_bmp[0], 5, 7, col); matrix.show(); delay(600); matrix.clear(); matrix.show(); delay(600); } break; case 1: for(int i = 0; i < 10; i++){ matrix.setCursor(0, 0); matrix.setTextColor(colors[i%7]); matrix.print(num[i]); matrix.show(); delay(300); matrix.fillScreen(0); } break; case 2: case 3: case 4: for(int i = 0; i < 4; i++){ for(int j=0; j<256; j+=4){ matrix.drawBitmap(0, 0, mono_bmp[8], 5, 7, matrix.Color(j,0,0)); matrix.show(); delay(30); } matrix.fillScreen(0); delay(200); } break; default: matrix.drawBitmap(0, 0, mono_bmp[1], 5, 7, col); matrix.show(); delay(random(200, 2000)); x = random(1, 5); for(int j = 0; j < x; j++){ for(int i = 2; i <= 7; i++){ matrix.fillScreen(0); matrix.drawBitmap(0, 0, mono_bmp[i], 5, 7, col); matrix.show(); delay(80); } for(int i = 7; i > 1; i--){ matrix.fillScreen(0); matrix.drawBitmap(0, 0, mono_bmp[i], 5, 7, col); matrix.show(); delay(60); } } matrix.clear(); matrix.show(); break; } } |
LEDの目をドームに貼り付けて、口の穴をあけて頭部完成!
OBIRCH#ハロウィン🎃 pic.twitter.com/m1Luy8wgCl
— HomeMadeGarbage (@H0meMadeGarbage) October 20, 2019
仕上げ
ドームに布を貼り付けます。1.1m × 2.1mの布を筒状に縫って、ドームに縫い付けました。
ドーム上部は布に切り込みを入れて、木工用ボンドで貼り付けました。口の穴は切り抜いて裏に黒メッシュ布を張りました。ダイソーで去年かった魔女帽子も貼り付けました!
オバケちゃん完成!#ハロウィン🎃 pic.twitter.com/GWnh5ih3lM
— HomeMadeGarbage (@H0meMadeGarbage) October 20, 2019
LEDもいい感じに透けてばっちりです!
すそは数センチほど縫って中にダイソーで買ったフラフープを入れています。
しかし。。。
手がないためお菓子がもらえないことに後日気づいて、急遽手をはやしましたww
当初 手はいらないとのことだったが、お菓子がもらえないという重大な欠陥が判明。
手が生えた。#ハロウィン🎃 pic.twitter.com/p1ZeBQLcQP
— HomeMadeGarbage (@H0meMadeGarbage) October 22, 2019
めっちゃかわいい 😆 !!!