1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda em C (com utilização de Arduino)

Discussão em 'Programação' iniciada por Rhedz, 3 de Maio de 2018. (Respostas: 3; Visualizações: 169)

  1. Ora boas pessoal,

    Então é o seguinte, em anexo tem o enunciado de um mini projeto que é suposto eu desenvolver,

    Imagem do enunciado
    https://imgur.com/399gWB3
    mas tenho as seguintes dúvidas:

    1- Sendo que vai ser necessário uma string/vetor para armazenar o nº do Led, Estado Inicial, Duração Inicial, Estado Final e Duração Final, como é que irei escrever para que no Slot[0] seja o número do Led e assim sucessivamente? I mean, o meu problema aqui é que não vamos usar nenhuma interface gráfica, apenas o COM do Arduino, sendo que ainda não entendo muito disto. (ou então não é necessária string/vetor nenhuma)

    2- Quando coloco um número no monitor série do arduino o resultado que obtem aparece "codificado", por exemplo coloco o numero 0 e aparece 48 no monitor. Sei como se faz a descodificação mas irá ser necessário fazer isso em todas as variaveis para depois se juntar à string?

    3- Como é que o arduino vai saber o que cada slot do vetor irá fazer? Por exemplo o numero inserido é: 21401. E o arduino tem de saber que o 2 liga o led numero 2

    Obrigado desde já a quem se disponibilizar a ajudar.
    cumps.
     
  2. anjo2

    anjo2 Power Member

    O que é que aprendeste nas aulas?!? Existe muitas formas de o fazer.

    O que chamas de "codificado" é a conversão de ASCII para decimal (base 10), como deves colocar na EEPROM e como deves fazer o parse é algo que deves ter dado nas aulas.

    O Arduino só faz o que tu disseres para ele fazer através de código, por isso és tu que defines.
     
  3. Só tive uma aula ainda e o stor já quer que façamos isto, claro que já tinha ouvido falar de ASCII, DEC, HEX, etc Mas por exemplo para colocar na EEPROM nunca ninguém nos ensinou e nunca ouvi falar pessoalmente. "parse" sim sei o que é e já usei várias vezes noutros trabalhos.

    Sim como é obvio, mas o meu problema é que não sei como irei fazer a correspondência das variaveis à string.

    Já agora, deves saber mais que eu a cerca disto, achas que usar a string é a melhor opção? Ou existe uma forma mais prática de o fazer?
     
  4. anjo2

    anjo2 Power Member

    Vais à documentação do Arduino e vês como funciona as funções.

    Pelo enunciado só diz que recebes uma string, fazes um parse e guardas na EEPROM, podes guardar com uma estrutura em C ou por inteiros, e nem precisas de guardar o id do led, porque é baseado no id que guardas no endereço certo.

    Exemplo:
    Led 1:
    • 0: estado inicial
    • 1: duração inicial
    • 2: estado final
    • 3: duração final
    Led 2:
    • 4: estado inicial
    • 5: duração inicial
    • 6: estado final
    • 7: duração final
    Led n:
    • (n-1)*4+0: estado inicial
    • (n-1)*4+1: duração inicial
    • (n-1)*4+2: estado final
    • (n-1)*4+3: duração final
    Só deves mexer na EEPROM quando é para programar algo diferente, o resto guardas em memória (que é volátil, ao reiniciares o Arduino fica a 0, mas não tens limitações no número de escritas).

    No main é só ires buscar as informações que precisas à EEPROM e teres um loop que vai mudando o estado dos leds conforme a programação.
     

Partilhar esta Página