Pessoal boa noite. Estou bem e vocês? Ah, que bom então!
Tenho um projeto que preciso executar, e minha programação dentro do Arduino Uno ultrapassa os 32.256 bytes e a aplicação não deixa fazer upload. Sim, é difícil de acreditar, mas ultrapassa hahaha, Enfim...
Deve ter como criar minha própria biblioteca, mas não tenho nem idéia de como fazer isso, pesquisei no YT e não achei nada. Alguém poderia me dar um exemplo?
Tags:
Exatamente o que seu projeto faz?
sabendo isso,fica mais facil ajudar.
Rafael, ele capta sinais IR de controle remoto. E cada sinal gera cerca de 50 linhas de dados, e quando eu tento mapear todas as teclas de um controle da SKY, por exemplo, e tento passar para o Arduino, ele diz que existem muitos dados.e não permite.
Segue o sketch que eu uso pra isso:
https://skydrive.live.com/redir?resid=1890643B97C7B442!119&authkey=!AOKw0vl8Dso6_go&ithint=file%2c.rar
ae amigo uma sugestao
1 da pra vc declara os pinos dos leds, q estao como int, como char
2 nessa parte do programa:
void Controle(char data) {
switch(data){
case '1': //teclas do botão 1
pulseIR(8820);
delayMicroseconds(4380);
pulseIR(560);
delayMicroseconds(1640);
pulseIR(540);
delayMicroseconds(1640);
pulseIR(560);
delayMicroseconds(1640);
pulseIR(540);
delayMicroseconds(560);
pulseIR(540);
delayMicroseconds(560);
pulseIR(520);
delayMicroseconds(560);
pulseIR(540);
delayMicroseconds(560);
pulseIR(540);
delayMicroseconds(1620);
pulseIR(540);
delayMicroseconds(580);
pulseIR(520);
delayMicroseconds(1640);
pulseIR(540);
delayMicroseconds(1640);
pulseIR(560);
delayMicroseconds(1620);
pulseIR(560);
delayMicroseconds(1640);
pulseIR(560);
delayMicroseconds(560);
pulseIR(520);
delayMicroseconds(1640);
pulseIR(540);
delayMicroseconds(560);
pulseIR(540);
delayMicroseconds(560);
pulseIR(520);
delayMicroseconds(1640);
pulseIR(560);
delayMicroseconds(560);
pulseIR(520);
delayMicroseconds(560);
pulseIR(540);
delayMicroseconds(560);
pulseIR(520);
delayMicroseconds(560);
pulseIR(540);
delayMicroseconds(560);
pulseIR(520);
delayMicroseconds(560);
pulseIR(540);
delayMicroseconds(1620);
pulseIR(560);
delayMicroseconds(560);
pulseIR(540);
delayMicroseconds(1620);
pulseIR(560);
delayMicroseconds(1640);
pulseIR(560);
delayMicroseconds(1620);
break;
da pra vc usar isso aqui:
int date[13][71]={
{8820,4380,560,1640,560,1620,540,1640,560,560,520,580,520,560,540,560,520,1640,560,560,520,1660,520,1640,560,1620,560,1640,540,560,540,1620,560,560,520,1640,560,560,520,580,520,560,540,560,520,560,540,560,520,560,(540),560,520,1640,540,1640,560,1640,540,1640,540,1640,560,1620,560,1640,540,38240,8820,2200,560},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},};
void Controle(char data) {
switch(data){
case '1': //teclas do botão 1
for(char i=1; i<=72; i+=2 ) // verifica todas as posiçoes
{
pulseIR(date[1][i]); // sempre impar
delayMicroseconds(i+1); // sempre par
}
break;
e fazer isso com o resto, economiza memoria e linhas do codigo!!!!!!
Estava lendo isso hoje - o Sketch do Arduino pode gastar 5 vezes mais bytes do que um programa C usando um compilador AVR GCC,
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por