완전초보라서 여기저기 배워가며 코드를 작성해봤는데요
코드가 길어서 동적메모리 136%가 뜨네요.
PROGMEM 써서 메모리 저장위치를 바꾸려는데요. 초보라서 이것저것해보는데 다 에러가 나네요.
작업코드는 아래 다음과 같습니다. 어디에 PROGMEM를 삽입해야하는지요?
급해서 그러는데 알려주시면 크게 도움되겠습니다. 꾸벅
int A=2000; //쯔
int B=400; // 똔
int C=200; // 끄기
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
pinMode(13, OUTPUT);
pinMode(10, OUTPUT);
}
void loop() {
digitalWrite(13, LOW);
digitalWrite(10, LOW);
String light01 = ".–.. . .––. . –.– –... .... ...– ... –.– .... ..–. .–.. – ––. –.– ..– –– .... –.– – ..–. .–.. . –.– –. ..––..–.. . .––. . –.– –... .... ...– ... –.– .... ..–. .–.. – ––. –.– ..– –– .... –.– – ..–. .–.. . –.– –. ..––.";
String light02 = "-... .... ...- ... -.- .... ..-. .-.. - -.- -. ..--..";
String light03 = "-.- ..- .--. .--- ... .--. ..- ..-. -.. ..-. .-.. - -.- -. .-.-.-";
String light04 = "..-. . ..-. --.. -.. .-.. .-- ... ...- .--- . ..-. --. . ...- -- -.- -.. ...- --. . ...- .-.. - -.- ... ..- -.- -. .-.-.- .-.. ..- -.- - .-.. -... .- ..- ...- --. .... -.- ..- --. --. .-.. -.-- -.- -. .-.-.- .-.. -.. ...- - ..-. ..- .-.. . .--. . -.- -... .... ...- ... -.- .... ..-. .-.. - ..-. .-.. ..- -.- - .-.. -... .- ..- .--. ..- -- .- --. .--- . ..-. -.. ..-. .-.. - .--. -. .-.-.-"; //
String light05 = ".--. -.-- .-.. . .--- . .-.. .- --. ..- --- -.- -.. ..-. -.- .. ..- .-.. ..- ..-. -.. ..-. -.- - ..-. .--. -.-- ..-. .-.. . -... -... --.- .-.. . - ... .- ..- -- ... ..-. -.- .... ...- ..- -- .- -... .... .--. .... .-.. ..-. -.. ..-. ..-. . ...- -.- ..- -.- .- ...- .-.. - ...- . ..-. .-.. - -.- ... ..- -.- -. .-.-.- -.- ..- ..-. . ..- .-. -.- ..- .--. - ..-. -.- -.. ..- --. ..- .-.. . ..-. -.- ..- -.- ..- --. --. -.- - --. --. -... -.. --. -.- ..- --..-- .-- .... ..-. -- ... -.- -.- ..- ..-. ...- .-. -.- ..- .--- .... -.- -.. ..- --. ..- .-.. . ..-. -... .- -.- .- ...- .-.. - -.- ... ..- -.- -. .- .-.- .-.. -.. .-.. - ..-. ..-. --.- -.- ..- ...- -.- ..- -... .- ..- ...- --. .... -... .- -.- ..- --. --. .-.. .- --..-- .-- --.- .-.. -- . ..-. ..-. ... ..-. -... .... ..- -.- ..- ...- --. .... -... .- -.- ..- --. --. .--. -. .-.-.- .-.. -.. -... -... --.- .-.. -... .- ..- -- ... ..-. -.- . -- .... -... .- -.- - .-- --. -.- -.. ...- --.. -.-- ..-. ..- -..- -.. ...- ...- -.-- -.- .- --- . --.. -.. ...- . --..-- -- .... .--- . -- . -... -.. -.- . ...- ...- ..- --..-- -- .- -.-. . ...- -.. --.. -.. ..-. -.. ..-. -- .... ...- ...- .- ..-. -.- ..- .-.. .- -.- .... ...- ..- ...- .-.. ..- -.- - .-.. .--- . ...- --. . ...- . -- -.- -.. ..-. -.- - .-- --. -.- - -.- -. .-.-.- -.- ..- .--. .--- ... .--. ..- ..-. -.. ..-. .-.. - ..-. --- ..- .--- . ...- --. .... -.- - .-- --. ..-. -.. ..-. -.- ..- ...- -.- ..- -.- ... ..- -.- -. .-.-.- .-.. - .-.. .--. - -.- -... .- ..- ..-. -... . -- ... ..-. .-.. -.. ..-. .. -.- -- .... --. ..- .--- --.- .-- - ...- ... -.- -. .-.-.- --. ..- ..-. -.- -.. ..-. -.- .... ...- ..- .-.. . -- .... - ...- .--- --.- --. --. ..-. -.. ..-. .--. ..- -... . -.- . --. ..- ...- --.. -.-- ..-. ..- .-.. .-.. . .-.-.-";
int light01StringLength = light01.length();
int light02StringLength = light02.length();
int light03StringLength = light03.length();
int light04StringLength = light04.length();
int light05StringLength = light05.length();
//light01 start
Serial.println(light01StringLength);
for (int i=0; i <= light01.length(); i++){
char light01Char = light01.charAt(i);
//a
if(light01Char=='-' ){
Serial.print(light01Char);
// Serial.println();
digitalWrite(13, HIGH);
delay(A);
digitalWrite(13, LOW);
delay(C);
}
//b
else if(light01Char=='.' ){
Serial.print(light01Char);
// Serial.println();
digitalWrite(13, HIGH);
delay(B);
digitalWrite(13, LOW);
delay(C);
} else if(light01Char==' ' ){
digitalWrite(13, LOW);
Serial.print("a");
delay(1000);
}
}
Serial.println();
//light02 start
Serial.println(light02StringLength);
for (int i=0; i <= light02.length(); i++){
char light02Char = light02.charAt(i);
//c
if(light02Char=='-' ){
Serial.print(light02Char);
// Serial.println();
digitalWrite(10, HIGH);
delay(A);
digitalWrite(10, LOW);
delay(C);
}
//d
else if(light02Char=='.' ){
Serial.print(light02Char);
// Serial.println();
digitalWrite(10, HIGH);
delay(B);
digitalWrite(10, LOW);
delay(C);
}
else if(light02Char==' '){
Serial.print("a");
digitalWrite(13, LOW);
delay(1000);
}
}
//light02 end
//light03 start
Serial.println(light03StringLength);
for (int i=0; i <= light03.length(); i++){
char light03Char = light03.charAt(i);
//c
if(light03Char=='-' ){
Serial.print(light03Char);
// Serial.println();
digitalWrite(13, HIGH);
delay(A);
digitalWrite(13, LOW);
delay(C);
}
//d
else if(light03Char=='.' ){
Serial.print(light03Char);
// Serial.println();
digitalWrite(13, HIGH);
delay(B);
digitalWrite(13, LOW);
delay(C);
}
else if(light03Char==' '){
Serial.print("a");
digitalWrite(13, LOW);
delay(1000);
}
}
//light03 end
//light04 start
Serial.println(light04StringLength);
for (int i=0; i <= light04.length(); i++){
char light04Char = light04.charAt(i);
//c
if(light04Char=='-' ){
Serial.print(light04Char);
// Serial.println();
digitalWrite(10, HIGH);
delay(A);
digitalWrite(10, LOW);
delay(C);
}
//d
else if(light04Char=='.' ){
Serial.print(light04Char);
// Serial.println();
digitalWrite(10, HIGH);
delay(B);
digitalWrite(10, LOW);
delay(C);
}
else if(light04Char==' '){
Serial.print("a");
digitalWrite(13, LOW);
delay(1000);
}
}
//light04 end
//light05 start
Serial.println(light05StringLength);
for (int i=0; i <= light05.length(); i++){
char light05Char = light05.charAt(i);
//c
if(light05Char=='-' ){
Serial.print(light05Char);
// Serial.println();
digitalWrite(13, HIGH);
delay(A);
digitalWrite(13, LOW);
delay(C);
}
//d
else if(light05Char=='.' ){
Serial.print(light05Char);
// Serial.println();
digitalWrite(13, HIGH);
delay(B);
digitalWrite(13, LOW);
delay(C);
}
else if(light05Char==' '){
Serial.print("a");
digitalWrite(13, LOW);
delay(1000);
}
}
//light05 end
delay(5000);
// do nothing while true:
// while (true);
}
|