Pessoal é o seguinte,
precisava de uma forma do usuario poder alterar valores (ou variaveis mesmo) atraves de uma interface, que pode ser um software a parte ou até por uma interface web (PHP), por exemplo:

no sketch do meu LCD 16X2 esta escrito "Bom dia!" e o usuario poder alterar isso via alguma interface (web,PHP,delphi, etc) para "Boa noite!", por exemplo. É possivel? Pois o meu foco é que o usuario possa manipular as informacoes...

Abs

Exibições: 695

Responder esta

Respostas a este tópico

Sim, é possível. Supondo que vc esteja falando de Arduino:

Vc teria que armazenar as mensagens em algum tipo de memória não volátil, ou seja, que mantivesse os valores quando o Arduino fosse desligado/reiniciado. Para isso existem alternativas, por ex:

- Memória EEPROM: o Arduino tem uma pequena porção de memória não volátil, e vc pode utilizá-la. A quantidade varia por tipo de Arduino. Nesse caso o usuário teria que ter uma aplicação no PC que enviasse o texto via serial para que o Arduino gravasse na memória.

- Se form muito texto, vc pode usar um cartão SD para armazenar o texto. Aí o usuário poderia gravar a informação usando o PC, gravando num arquivo texto no cartão que seria lido pelo Arduino.

blz Mauro, seria um arduino mesmo (UNO, mas especificamente), minha duvida seria como escrever esse texto/informacao/comando via serial numa plataforma externa, entende?

Lê os caracteres da serial e grava na eeprom.

Ali na seção de Tutoriais tem o tutorial sobre EEPROM.

Como são caracteres (1 byte para cada) é ainda mais fácil armazená-los na memória, já que a leitura Serial também é feita Byte a Byte.

Depende da linguagem de programação que vc vai utilizar. Tempos atrás eu fiz um "pograminha" em C# para comunicação serial com o Arduino, que pega uma string e manda pro bicho. Fiz um post no meu blog a respeito.

Mas a string "transita" pera UART como ASCII, ou seja, bytes representando caracteres? Ou era serializado de outro modo?

Para a maioria das linguagens derivadas de C um string é um vetor de caracteres. Pode ser manipulado de outros modos, como objeto por exemplo, na String do Arduino (diferente da string com "s" minusculo), mas no fundo ainda é um vetor de caracteres.

No caso dele, como vai salvar em memória, pode ser interessante já tratar o texto como vetor de caracteres desde a sua criação. Ficaria mais fácil para executar a leitura e gravação byte a byte na EEPROM, não?

Isso, bytes representando caracteres. Para ler do outro lado pode-se usar um sketch como o abaixo. Ele lê a string da serial a inverte, escrevendo a inversão na serial de volta.

#include <SoftwareSerial.h>

const int SerInToArdu=0;
const int SerOutFrmArdu=1;

SoftwareSerial mySerialPort(SerInToArdu,SerOutFrmArdu);
String dataIn = "";

void setup()
{
   mySerialPort.begin(9600);
};

void loop()
{
    char incomingByte=char(0);

    if (mySerialPort.available() > 0)
        for (;;)
        {
            incomingByte = mySerialPort.read();
            if (((incomingByte > 31) && (incomingByte < 126)) || (incomingByte == 3))
            {
               if (incomingByte == 64)
              {
                  String invert = "";
                  for (int i=dataIn.length()-1; i>=0;i--)
                 {
                     invert+=dataIn[i];
                 }
                 mySerialPort.println(invert+char(13)+char(10));
                 dataIn="";
                 break;
              }  
              else
             dataIn+=char(incomingByte);
        }
   }
}

obrigado pessoal pelos esclarecimentos :)

ja me deram um norte, vou cair dentro e postando de acordo com as duvidas que possam vir. Obrigado

Abs

Daniel, 

uma outra alternativa que dispensa computador, seria colocar um Potenciômetro e um (ou dois) botões.

O potenciômetro varia de 1 a 37 (26  letras + 10 números+ 1 espaço) e quando chegar na letra que vc quer, vc aperta o botão. Isso fixa e troca para a segunda posição, assim por diante. No final, estará escrito "boa noite" ou qualquer coisa.

Fiz um programa deste para um dispositivo que transforma texto em codigo morse.Pense na barulheira....

Se esta ideia  for suficiente, comente que posso ajudar melhor...

Claro que tem pessoas que conseguem ligar o teclado direto no Arduino, mas eu nunca fiz...

Boa Sorte

Ricardo

Caramba Ric4rdo! Mto interessante a sua ideia, abriu um leque de possibilidades para outros projetos :D

Mas nesse projeto teria que ser via PC mesmo, pois seria feito de forma remota.

Obrigado pela sua rica contribuicao

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço