정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

선배님들 도와줍쇼~ 동적메모리 136%
chobo | 2019-05-21

완전초보라서 여기저기 배워가며 코드를 작성해봤는데요

코드가 길어서 동적메모리 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);
}

 

 

프로필사진

chobo 2019-05-21 18:26:37

#include <avr/pgmspace.h>

이전글   |    초음파 센서 질문!!! 고수님들,,, ㅠ 2019-05-20
다음글   |    아두이노 오렌지 보드 리셋버튼!! 질문 2019-05-22