1
resposta

Definir pinMode() digitalWrite() com váriáveis

Ola, Preciso muito aprender como definir portas, ler e escrever utilizando variaveis dinamicas, como exemplo abaixo. qul tipo de variavel OUTPUT, INPUT. o codigo abaixo nao funciona, qual a tipagem o correto funcionamento. Alguem pode ajudar, utilizou ja essa logica.

String pino = "4"; String stat = "1"; String tipoPino="OUTPUT";

pinMode((int) pino,tipoPino); digitalWrite((int) pino, (int) stat));

1 resposta

Olá Daniel,

Não tenho certeza se entendi sua dúvida, mas vamos lá:

No exemplo que você digitou não irá funcionar pois você definiu o pino em uma variável String.

O tipo String é para definirmos sequências de caracteres. Nesse caso deveríamos usar uma variável int. O tipo int (inteiro) guarda números e como os pinos do Arduino são números. usaremos algo como:

int pino = 13;  // a variavel pino recebe um valor inteiro. no caso 13

void setup()
{
  pinMode(pino, OUTPUT);  //definimos que o pino 13 eh um pino de saida
}

As palavras como INPUT, OUTPUT, HIGH ou LOW são constantes da linguagem do Arduino.

INPUT, usado na função pinMode, define que o pino será usado para entrada, ou seja, poderemos ler o sinal nesse pino. OUTPUT é similar, apenas que é usado para saída e poderemos escrever no pino.

HIGH significa que estamos jogando uma corrente no pino. Podemos usar isso para acender um LED por exemplo. LOW é o oposto. Estaremos desligando a corrente no pino.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software