회로를 다음의 두가지 가운데 하나로 구성하시면 됩니다.
회로 #1
교차부분
회로 #2 : 교차하지 않고 릴리패드 아래로 바느질
- 주의 사항 : A4 A5의 금속부분과 닫으면 안됨
아두이노 프로그램 설정하기
1. 보드가 LilyPad Arduino USB 인지 확인
2. 포트 확인하기
작성된 코드 업로드
1. 깜빡이기 (blink)
const long interval = 150; //깜빡임 시간
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int ledCount = 0;
unsigned long previousMillis = 0;
void setup()
{
for(int i=0; i<ledSize; i++)
pinMode(ledArr[i], OUTPUT);
}
void led_blink(int count)
{
if(count%2 == 0){
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i], HIGH);
}
}
else{
for(int i=0; i<ledSize; i++){
digitalWrite(ledArr[i], LOW);
}
}
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
led_blink(ledCount);
ledCount++;
}
}
2. 위에서 아래로 깜빡이기
const long interval = 200; //깜빡임 시간
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int ledCount = 0;
unsigned long previousMillis = 0;
void setup()
{
for(int i=0; i<ledSize; i++)
pinMode(ledArr[i], OUTPUT);
}
void led_up2dn(int n)
{
n = n % (ledSize+1);
for(int i =0; i<ledSize; i++){
if (i == n)
digitalWrite(ledArr[i], HIGH);
else
digitalWrite(ledArr[i], LOW);
}
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
led_up2dn(ledCount);
ledCount++;
}
}
3. 아래에서 위로 깜빡이기
const long interval = 200; //깜빡임 시간
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int ledCount = 0;
unsigned long previousMillis = 0;
void setup()
{
for(int i=0; i<ledSize; i++)
pinMode(ledArr[i], OUTPUT);
}
void led_dn2up(int n)
{
n = n % (ledSize+1);
for(int i=ledSize-1; i>=0; i--){
if (i == (ledSize-1-n))
digitalWrite(ledArr[i], HIGH);
else
digitalWrite(ledArr[i], LOW);
}
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
led_dn2up(ledCount);
ledCount++;
}
}
4. 누적해서 깜빡이기(위에서 아래로)
const long interval = 200; //깜빡임 시간
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int ledCount = 0;
unsigned long previousMillis = 0;
void setup()
{
for(int i=0; i<ledSize; i++)
pinMode(ledArr[i], OUTPUT);
}
void led_off()
{
for(int i=0; i<ledSize; i++)
digitalWrite(ledArr[i], LOW);
}
void led_weighted_up2dn(int n)
{
n = n % (ledSize+1);
if (n == ledSize)
led_off();
else
digitalWrite(ledArr[n], HIGH);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
led_weighted_up2dn(ledCount);
ledCount++;
}
}
5. 누적해서 깜빡이기(아래에서 위로)
const long interval = 200; //깜빡임 시간
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int ledCount = 0;
unsigned long previousMillis = 0;
void setup()
{
for(int i=0; i<ledSize; i++)
pinMode(ledArr[i], OUTPUT);
}
void led_off()
{
for(int i=0; i<ledSize; i++)
digitalWrite(ledArr[i], LOW);
}
void led_weighted_dn2up(int n)
{
n = n % (ledSize+1);
if (n == ledSize)
led_off();
else
digitalWrite(ledArr[ledSize-1-n], HIGH);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
led_weighted_dn2up(ledCount);
ledCount++;
}
}
FADE
const long interval = 20; //깜빡임 시간
int ledArr[] = {11,10,9,3}; // 사용하는 LED번호
int ledSize = sizeof(ledArr)/ sizeof(ledArr[0]);
int ledCount = 0;
int fadeDirection = 1;
unsigned long previousMillis = 0;
void led_fade()
{
for(int i=0; i<ledSize; i++)
analogWrite(ledArr[i], ledCount);
if(ledCount == 255)
fadeDirection = -1;
if(ledCount == 0)
fadeDirection = 1;
ledCount += (5*fadeDirection);
//Serial.println(ledCount);
}
void setup()
{
for(int i=0; i<ledSize; i++)
pinMode(ledArr[i], OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
led_fade();
}
}
'Embedded > Arduino' 카테고리의 다른 글
CAN example #1 (0) | 2021.11.29 |
---|---|
lilyPad-v211026 #2 (0) | 2021.10.26 |
lilyPad-v211025 (0) | 2021.10.25 |
Arduino-v211022 (0) | 2021.10.22 |
Arduino-v211021 (0) | 2021.10.21 |