Sketch não funciona com o atmega 328 fora do arduino

Ola pessoal!!
Estou precisando de uma grande ajuda

Criei um programa que funciona corretamente no arduino uno, mas não se eu retirar o atmega 328.

funciona apenas o "pontoum" ate acabar os 3minutos.
Não tem nada errado com o circuito, montei na protoboard só funcionou corretamente quando liguei o RX e TX do Arduino para o Atmega328.

Não tenho ideia de como arrumar isso? (novato :confused: )

void niveldois() {
  {
  
      //parar o loop com xx ciclos Ver o tempo que quero e contar os ciclos
while(para < 11200){
  // faça alguma coisa repetitiva por 11200 vezes para dar +\- 3 minutos
    
{ pontoum(); 
}
   int state = digitalRead (nivel);
if (state==HIGH && (millis() - changeTime) > 32000)
    {  pontodois();}
    
      int dezpontos = digitalRead (nivel);
if (dezpontos==HIGH && (millis() - changeTime) > 92000)
      
    {  pontotres();}  
    
    int dezponto = digitalRead (nivel);
if (dezponto==HIGH && (millis() - changeTime) > 362000)
  { pontoum(); }

para++;
  }
  }
}

Antes de mais... esse codigo nao esta completo.

como sabes que o circuito na protoboard esta correcto?

O que faz a funcao pontoum()?

Estou confuso se funcionou ou nao... dizes que funciona, depois dizes que nao funciona, depois dizes que funciona com o RX e TX... como e que e mesmo?

-Não esta completa, coloquei apenas essa parte do codigo pq e ai q "trava"

-Sei que esta correto pq o Nivel UM que não colei aqui funciona normalmente com o 328 na protoboard, pontoum() ponto dois() e pontotres(), a diferença e que essa parte ai tem tempo (usei o millis)

-pontoum() conta um ponto

  • Na placa do arduino uno, funcionou nivel um e nivel dois

Quando retirei o 328 e coloquei na protoboard, não funcionou essa parte do codigo(sem fazer isso que descrevi abaixo) mas o Nivel UM funcionou normalmente, lembrando que não funciona e o nivel dois

Fui tentar gravar o 328 na protoboard, quando liguei o TX e RX do arduino no TX e RX do 328 e alimentei o arduino, dai funcionou na protoboard.

Pergunta, pq quando liguei o TX e RX do arduino no 328 fora da placa funcionou e se não ligo o TX e RX não funciona?

Usei o cristal de 16Mhz nos pinos 9 e 10

Essa parte do codigo que "não funciona" tem que funcionar assim:

Nivel dois

pontoum()

Aciona pino A0 e um led pino 2
Uma chave1 no pino A0 quando acionado conta 1 ponto
Depois de +ou-30 segundos aciona Pino A1 e um led pino A4

pontodois()
Uma chave2 no pino A1 quando acionado conta 5 pontos
Depois de +ou- 60 segundos aciona Pino A2 e um led pino A5

pontotres()
Uma chave3 no pino A2 quando acionado conta 10 pontos

Parando com +ou- 3 minutos


E esta parte do nivel dois "funciona" assim
pontoum() por +ou- 3 minutos quando de fato deveria funcionar do jeito descrito acima

Montagem com o Arduino: botão descrito como modo, aciona o nivel

Codigo completo:

     ;
    
 }
;
  }
  }
}

Se achas que nao e preciso vermos o codigo completo para perceber que raio e que o que tu colocaste esta a fazer e porque sabes mais que nos.

Eu por exemplo nao sei onde e escrita a variavel changeTime porque nao sou bruxo... mas se tu dizes que o erro esta "apenas" neste pedaco de codigo, eu nao consigo ver qual e.

E incrivel como as pessoas vem aqui pedir ajuda porque estao empancadas com um problema e recusam a fornecer informacao a quem quer ajudar. Boa sorte com esse problema nesse bocado especifico de codigo.

1°nao sei nada por isso vim pedir ajuda
2° não coloquei o código inteiro pelo fato de pra min era grande e iria ficar mais confuso. E o problema era entender pq não funciona sem ligar o TX e RX do Arduíno no atmega 328 e não acreditar ser o código

3°nao sei se notou ou estava preocupado em dar lição de moral em quem não sabe é veio aqui pedir ajuda, cujo a experiência em fórum tbm é péssima, foi colocado o esquema é código completo acima do seu post. Que vai ser editado e não voltarei aqui e muito menos para pedir ajuda .
4° um simples "cole o código inteiro" não mataria ninguém é evitaria estress, além de ser mais rápido q essa arrogância toda!

Sem mais!

bubulindo:
Antes de mais... esse codigo nao esta completo.

Para bom entendedor, meia palavra costuma bastar. Se eu referi que o codigo nao esta completo... e porque regra geral o codigo completo e necessario para entender o que se passa.

Se colocares o codigo inteiro, atraves de anexos ou dentro das chavetas de codigo nao fica nada confuso. E importante para fornecer ajuda. Da mesma maneira, rever se a formatacao nao ficou estragada e boa pratica.
Se eu preciso de ajuda, faco o meu melhor por fornecer o maximo de informacao a quem me vai ajudar e dentro do possivel apresento-a da maneira mais clara possivel para me poderem ajudar.
Colocar o codigo completo apos o meu primeiro post tambem nao mataria ninguem e no entanto nao foi isso que aconteceu.

Portanto antes de te queixares do stress provocado por teres sido chamado a atencao sobre a pobre conduta num forum, talvez seja melhor veres bem o que escreveste anteriormente e perceberes que quem esta deste lado esta a dar-te tempo e ajuda e nao quer estar a perder esse mesmo tempo a pedir por informacoes necessarias para fornecer a dita ajuda.