LilyPad Arduino で Lチカする！✨

#LilyPad Arduino で Lチカする！✨

## はじめに

LilyPad をご存知ですか？ 電気を通す糸で布に縫い付けてることができるウェアラブルなマイコンです。 見た目も円形でとても可愛い。 お気に入りの布に刺繍感覚で縫い付けて、一味違った手芸を楽しめます。 筆者の趣味の一つはハンドメイドですが、これに最近はじめた電子工作が出逢ってしまいまして、ちょっとこれは何か作らねばという気持ちになってしまいました。Qiitaにいろいろ試したことを記録していきたいと考えています。

最終的には、なにか小物など日常生活で使える面白くて便利なものを作りたいと思っています。

#### LilyPad 
[![LilyPad_L1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/f696ea5d-976b-98f2-8281-dd9b2d29fac0.png)](https://www.sparkfun.com/categories/135)

日本のサイトでは[スイッチ・サイエンス](https://www.switch-science.com/catalog/list/158/)さんのところで買えます。

## この記事で使用した材料、道具

 - 布
 - 刺繍枠
 - 針
 - ハサミ（糸切り鋏、裁ち鋏）
 - (Option)お好きな刺繍糸
 - [導電糸](https://www.switch-science.com/catalog/2718/)
 - [LilyPad Arduino USB](https://www.switch-science.com/catalog/1962/)
 - [リチウムイオンポリマー電池110mAh](https://www.switch-science.com/catalog/3166/)
 - [Adafruit USB端子に直接つながるリチウムイオン電池充電器](https://www.switch-science.com/catalog/1499/)
 - [LilyPad レインボー LED](https://www.switch-science.com/catalog/3407/)
 - [LilyPad 光センサー](https://www.switch-science.com/catalog/3909/)
 - USB2.0ケーブル（A-microBタイプ）
 - (Option) ブレッドボード 、ジャンプワイヤー、マスキングテープ、発泡スチロール（ブレッドボードの代用）
 
![LilyPad_L2.1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/1a102157-fd8d-2aa3-5f17-82977b62dbac.jpeg)



## 使用したPC、IDE
 - Mac Catalina 10.15.7
 - Arduino 1.8.13
 
![LilyPad_L4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/699bed93-8f9f-da43-7f41-3362f6a703a3.png)

## リチウムイオンポリマー電池110mAhの充電
リチウムイオンポリマー電池と充電器を接続しPCのUSB端子に接続して充電しておきます。
赤は充電中。充電が完了すると緑になります。
![充電.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/51e2554b-e478-23ad-b491-ea8320e49112.jpeg)


## 作業の流れ

1. LilyPad に プログラムを書き込みする(LED)
2. LilyPad に プログラムを書き込みする(光センサー)
3. 部品を布に縫い付ける
4. バッテリー装着、Lチカする！


 


####  1. LilyPad に プログラムを書き込みする(LED)

1-1. MacにArduinoをインストールして、このArduinoからLilyPadにLチカのプログラムを書き込みします。事前にArduinoをお手持ちのPCにインストールしてください。こちらの[サイト](https://www.arduino.cc/en/software)からダウンロードが可能です。


1-2. Arduinoを起動します。USB2.0ケーブル（A-microBタイプ）で、LilyPad Arduino USB を Macと繋ぎます。Arduinoの ツール > ボードマネージャー > Arduino AVR Boards から 「LilyPad Arduino USB」 を指定します。

シリアルポートは、USBのシリアルポートを指定します。もしUSBのシリアルポートが表示されない場合、こちらの記事を参考に、ケーブル変えてみるなどしてご確認ください。

 - [ArduinoやESP32でUSBのシリアルポートがMacで認識されない場合(初歩)](https://qiita.com/Asuka_Saito/items/5e019d3d7acd2632a2b1)

![LilyPad_L5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/861f054a-1106-71b6-a58b-bfa9d721e968.png)

1-3. LilyPadにプロフラムが書き込みできるか試します。サンプルコードで試したいと思いますので ファイル > スケッチ例 > 01.Basics > Blink を選んで、エディタを開いてください。

![LilyPad_L6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/9860710d-66ac-2747-ace3-87956aa52262.png)

1-4. 右矢印の「マイコンボードに書き込む」アイコンをクリックし、書き込みができるか試します。「ボードへの書き込みが完了しました」と表示されればOKです。
![LilyPad_L7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/d85b1a11-351b-1274-4053-6e5769120408.png)


1-5. コードを書きます。

以下は、11番のPINを指定しています。なおGNDは「-」 に繋ぎます。

```c
int LED1 = 11;

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED1, OUTPUT);
}

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

コードをLilyPadに書き込みします。

1-6. 布に縫い付ける前に試してみる場合、ブレッドボードや発泡スチロールなど、ジャンプワイヤーがさせる環境があれば、それで試してみます。接触がいまいちなので、指で広げる、テープで止めるなどして調整してみてください。
![LilyPad_L8.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/9e55dfac-805e-ed4c-e541-3994ca65e55a.jpeg)

２個付けてみたところ。
![LilyPad_L9.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/f5dafc91-2450-4f48-7c93-0aee09ada2e7.jpeg)


#### 2. LilyPad に プログラムを書き込みする(光センサー)

光センサーはアナログ用のPINに接続します。
「+」と「-」は　LilyPad Arduinoの 「+」と「-」に接続し、SとアナログのPINを繋ぎます。ここでは、A2に繋ぎました。
![Lilypad_光センサ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/534b83c6-8fcd-1cfa-2b80-334dd0b945d9.jpeg)

最終的には以下のコードを記入してLilyPad Arduinoに書き込みしました。
光センサの値は、一番下の2行のコメントアウトを外すと、シリアルモニタ(ツール>シリアルモニタ)に出力が可能です。

```c
int LED1 = 11;
int LED2 = 10;
int LED3 = 9;
int LED4 = 3;
int LED5 = 2;
int val = 0; //光センサーの入力される値を格納する為の変数

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  pinMode(LED5, OUTPUT);
  Serial.begin(9800); //モニターに出力するための設定

}

// the loop function runs over and over again forever
void loop() {
//ANALOG INの2番ピン(A2)からデータを受け付ける
  val=analogRead(2);

//光センサーからの入力が10以下だったら（暗かったら）Lチカする。
  if (val<10){
  digitalWrite(LED1, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED2, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(LED3, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED4, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(LED5, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                // wait for a second
  digitalWrite(LED1, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(LED2, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED3, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(LED4, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED5, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                // wait for a second
  } else {
  digitalWrite(LED1, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(LED2, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(LED3, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(LED4, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(LED5, LOW);    // turn the LED off by making the voltage LOW
  }

//  Serial.println(val); //入力された光センサーの値をモニターに出力
//  delay(100);
}


```





#### 3. 部品を布に縫い付ける

今回はプロトタイプですので扱いやすそうなカットクロスを使用しています。作品に応じてお好きな布でお試しください:relaxed:

3-1. はじめに下準備として、部品を布に配置して、通常の糸で縫い付けて固定しておきます。必須ではありませんが、こうした方がやりやすいです。
![下縫.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/943e3e01-1585-39dc-4111-26da2d06b3e4.jpeg)

3-2. 次に導電糸で配線をしていきます。
GND(-)はこの記事では以下のように配線しました。
![配線1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/60dc1597-a2c7-7933-0f45-d2cd23a62d1c.jpeg)

光センサーとアナログPIN(A2)の接続は以下です。
![配線2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/2a710f4c-9031-f82c-ebc4-060b5a861c7b.jpeg)

次に各LEDをPINとつないでいきます。
![配線3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/b072ebda-48a4-d8d9-44a2-d2068c18aa0c.jpeg)

最後に LilyPad Arduinoの 「+」 と 光センサーの 「+」を繋ぎますが、混線しないように、適宜、布やテープなので交差部分を保護します。
![配線4.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/3ab9692d-84e8-df69-748f-282a38e0cb68.jpeg)


#### 4. バッテリー装着、Lチカする！

縫い終わったら、早速、バッテリーを装着して、試してみます。
![バッテリー装着.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/7ab4e912-8d19-23ad-01aa-c2fd3a850dcf.jpeg)

このArduinoには暗い場合はLEDを光らせるプログラムを書き込みましたので、光センサ部分を指で覆ってみます。

LEDがつきました！！
![Lチカ1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/aeba9e48-f8a8-6abd-2bfe-4bdb0eaa0109.jpeg)

![Lチカ2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/91c588dc-de9f-42c3-40bb-61e87eaac8d3.jpeg)



控えめに言って・・電子工作＋手芸、めちゃ楽しいです:bangbang:
あとは感電やリチウムイオンバッテリーの安全性には十分考慮は必要ですが、お子様の自由研究にもいいかもしれません:relaxed:
この記事はこれで終了ですが、次回、実際に何らかの手芸作品に取り組んで行きたいと思います。