collapse

* Posts Recentes

Robot Extreme - Lisboa Games Week 2019 por guilhermexbot
[15 de Outubro de 2019, 15:21]


tecnologias web para servidor num MCU por jm_araujo
[09 de Outubro de 2019, 14:47]


Limitador de corrente simples por jm_araujo
[08 de Outubro de 2019, 10:29]


Assemblagem de PCBs - JLCPCB por jm_araujo
[06 de Outubro de 2019, 13:46]


"Arduino vs PIC" por jm_araujo
[06 de Outubro de 2019, 13:42]


UTC555D vs NE555N ? por jm_araujo
[03 de Outubro de 2019, 17:57]


Caixa de música por Alhiados
[02 de Outubro de 2019, 00:30]


Trituradora/Destruidora de cartão em tiras por m90mine
[01 de Outubro de 2019, 21:30]


Perfil 30x30 400mm? por brunus
[30 de Setembro de 2019, 23:35]


Carregador Solar para Baterias - EBay por almamater
[20 de Setembro de 2019, 21:57]

Autor Tópico: [AJUDA] Olá, criei um codigo pro meu arduino mas não quer....  (Lida 3815 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 157
    • Meu site
Re: [AJUDA] Olá, criei um codigo pro meu arduino mas não quer....
« Responder #15 em: 23 de Dezembro de 2011, 21:47 »
Boa, a ideia é essa, compreender e ir aprendendo a estruturar e implementar.

Sim, estava dando certo quando eu estava usando windows para compilar o codigo mas agora o erro é que quando eu digito "S" para saber que rele está ligado ele fica dizendo direto não para mais era para ele fazer uma unica vez quando digitado a letra "S" invez disso ele fica direto repetindo a cada um segundo antes do windows se eu colocasse delay(1000) ele dizia uma unica vez e parava podem me ajudar ?

Código: [Seleccione]
/**
 * Controle Industrial de Reles
 *
 * @author  Luis Henrique Justin
 * @website [url=http://www.j1host.com.br]www.j1host.com.br[/url]
 */
 
/**
 * Define Pinos Digitais a serem usados para a placa
 */
 
 int Pinos[] = {2,3,4,5,6,7,8,9,10,11,12};
 
 /**
  * Variaveis tipo Char
  */
 
 char Leitura=0; //Char que faz a leitura da Porta Serial
 
/**
* Grupo de Variaveis que indica o Status do rele
*/
 
 char Status[] = {0,0,0,0,0,0,0,0,0,0};
 
  /**
  * Faz configura??o do Microcontrolador
  */
 
 void setup(){
   Serial.begin(9600);
   pinMode(Pinos[0], OUTPUT);
   pinMode(Pinos[1], OUTPUT);
   pinMode(Pinos[2], OUTPUT);
   pinMode(Pinos[3], OUTPUT);
   pinMode(Pinos[4], OUTPUT);
   pinMode(Pinos[5], OUTPUT);
   pinMode(Pinos[6], OUTPUT);
   pinMode(Pinos[6], OUTPUT);
   pinMode(Pinos[7], OUTPUT);
   pinMode(Pinos[8], OUTPUT);
   pinMode(Pinos[9], OUTPUT);
   pinMode(Pinos[10], OUTPUT);
 }

  /**
  * Codigo do Sistema de reles
  */
 
void loop()
{
    if (Serial.available() > 0) {
    Leitura = Serial.read();
    digitalWrite(Pinos[10], HIGH);
    }
    if (Leitura == 'A'){
      digitalWrite(Pinos[0], HIGH);
      Status[0] = '1';
    }
    else if (Leitura == 'a'){
      digitalWrite(Pinos[0], LOW);
      Status[0] = '0';
    }
    if (Leitura == 'B'){
      digitalWrite(Pinos[1], HIGH);
      Status[1] = '1';
    }
    else if (Leitura == 'b'){
      digitalWrite(Pinos[1], LOW);
      Status[1] = '0';
    }
    if (Leitura == 'C'){
      digitalWrite(Pinos[2], HIGH);
      Status[2] = '1';
    }
    else if (Leitura == 'c'){
      digitalWrite(Pinos[2], LOW);
      Status[2] = '0';
    }
    if (Leitura == 'D'){
      digitalWrite(Pinos[3], HIGH);
      Status[3] = '1';
    }
    else if (Leitura == 'd'){
      digitalWrite(Pinos[3], LOW);
      Status[3] = '0';
    }
    if (Leitura == 'E'){
      digitalWrite(Pinos[4], HIGH);
      Status[4] = '1';
    }
    else if (Leitura == 'e'){
      digitalWrite(Pinos[4], LOW);
      Status[4] = '0';
    }
    if (Leitura == 'F'){
      digitalWrite(Pinos[5], HIGH);
      Status[5] = '1';
    }
    else if (Leitura == 'f'){
      digitalWrite(Pinos[5], LOW);
      Status[5] = '0';
    }
    if (Leitura == 'G'){
      digitalWrite(Pinos[6], HIGH);
      Status[6] = '1';
    }
    else if (Leitura == 'g'){
      digitalWrite(Pinos[6], LOW);
      Status[6] = '0';
    }
    if (Leitura == 'H'){
      digitalWrite(Pinos[7], HIGH);
      Status[7] = '1';
    }
    else if (Leitura == 'h'){
      digitalWrite(Pinos[7], LOW);
      Status[7] = '0';
    }
    if (Leitura == 'I'){
      digitalWrite(Pinos[8], HIGH);
      Status[8] = '1';
    }
    else if (Leitura == 'i'){
      digitalWrite(Pinos[8], LOW);
      Status[8] = '0';
    }
    if (Leitura == 'J'){
      digitalWrite(Pinos[9], HIGH);
      Status[9] = '1';
    }
    else if (Leitura == 'j'){
      digitalWrite(Pinos[9], LOW);
      Status[9] = '0';
    }
    if (Leitura == 'S'){
      statusExibir();
    }   
}

int statusExibir()
{
  Serial.print(Status[0]);
  Serial.print(",");
  Serial.print(Status[1]);
  Serial.print(",");
  Serial.print(Status[2]);
  Serial.print(",");
  Serial.print(Status[3]);
  Serial.print(",");
  Serial.print(Status[4]);
  Serial.print(",");
  Serial.print(Status[5]);
  Serial.print(",");
  Serial.print(Status[6]);
  Serial.print(",");
  Serial.print(Status[7]);
  Serial.print(",");
  Serial.print(Status[8]);
  Serial.print(",");
  Serial.print(Status[9]);
 
  delay(1000);
}
« Última modificação: 23 de Dezembro de 2011, 21:49 por luisjustin »

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: [AJUDA] Olá, criei um codigo pro meu arduino mas não quer....
« Responder #16 em: 23 de Dezembro de 2011, 22:51 »
Posta ai o que estás a receber por serial. Um printscreen ou copy past.

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 157
    • Meu site
Re: [AJUDA] Olá, criei um codigo pro meu arduino mas não quer....
« Responder #17 em: 24 de Dezembro de 2011, 01:13 »
|0,0,0,0,0,0,0,0,0,0| só que isso é pra aparecer uma vez só quando eu digito o comando mas fica a cada 1 segundo aparecendo

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 157
    • Meu site
Re: [AJUDA] Olá, criei um codigo pro meu arduino mas não quer....
« Responder #18 em: 24 de Dezembro de 2011, 03:14 »
Tem Algum jeito de eu limpar o que ta escrito na saida serial ? que eu usei Serial.print e como se limpa a serial sem ser serial.end ?

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 157
    • Meu site
Re: [AJUDA] Olá, criei um codigo pro meu arduino mas não quer....
« Responder #19 em: 25 de Dezembro de 2011, 15:22 »
Ninguem sabe ajudar ?

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: [AJUDA] Olá, criei um codigo pro meu arduino mas não quer....
« Responder #20 em: 25 de Dezembro de 2011, 16:10 »
Código: [Seleccione]
/**
 * Controle Industrial de Reles
 *
 * @author  Luis Henrique Justin
 * @website [url=http://www.j1host.com.br]www.j1host.com.br[/url]
 */
 
/**
 * Define Pinos Digitais a serem usados para a placa
 */
 
 int Pinos[] = {2,3,4,5,6,7,8,9,10,11,12};
 
 /**
  * Variaveis tipo Char
  */
 
 char Leitura=0; //Char que faz a leitura da Porta Serial
 
/**
* Grupo de Variaveis que indica o Status do rele
*/
 
 char Status[] = {0,0,0,0,0,0,0,0,0,0};
 
  /**
  * Faz configura??o do Microcontrolador
  */
 
 void setup(){
   Serial.begin(9600);
   pinMode(Pinos[0], OUTPUT);
   pinMode(Pinos[1], OUTPUT);
   pinMode(Pinos[2], OUTPUT);
   pinMode(Pinos[3], OUTPUT);
   pinMode(Pinos[4], OUTPUT);
   pinMode(Pinos[5], OUTPUT);
   pinMode(Pinos[6], OUTPUT);
   pinMode(Pinos[6], OUTPUT);
   pinMode(Pinos[7], OUTPUT);
   pinMode(Pinos[8], OUTPUT);
   pinMode(Pinos[9], OUTPUT);
   pinMode(Pinos[10], OUTPUT);
 }

  /**
  * Codigo do Sistema de reles
  */
 
void loop()
{
    if (Serial.available() > 0) {
    Leitura = Serial.read();
    digitalWrite(Pinos[10], HIGH);
    }
    if (Leitura == 'A'){
      digitalWrite(Pinos[0], HIGH);
      Status[0] = '1';
    }
    else if (Leitura == 'a'){
      digitalWrite(Pinos[0], LOW);
      Status[0] = '0';
    }
    if (Leitura == 'B'){
      digitalWrite(Pinos[1], HIGH);
      Status[1] = '1';
    }
    else if (Leitura == 'b'){
      digitalWrite(Pinos[1], LOW);
      Status[1] = '0';
    }
    if (Leitura == 'C'){
      digitalWrite(Pinos[2], HIGH);
      Status[2] = '1';
    }
    else if (Leitura == 'c'){
      digitalWrite(Pinos[2], LOW);
      Status[2] = '0';
    }
    if (Leitura == 'D'){
      digitalWrite(Pinos[3], HIGH);
      Status[3] = '1';
    }
    else if (Leitura == 'd'){
      digitalWrite(Pinos[3], LOW);
      Status[3] = '0';
    }
    if (Leitura == 'E'){
      digitalWrite(Pinos[4], HIGH);
      Status[4] = '1';
    }
    else if (Leitura == 'e'){
      digitalWrite(Pinos[4], LOW);
      Status[4] = '0';
    }
    if (Leitura == 'F'){
      digitalWrite(Pinos[5], HIGH);
      Status[5] = '1';
    }
    else if (Leitura == 'f'){
      digitalWrite(Pinos[5], LOW);
      Status[5] = '0';
    }
    if (Leitura == 'G'){
      digitalWrite(Pinos[6], HIGH);
      Status[6] = '1';
    }
    else if (Leitura == 'g'){
      digitalWrite(Pinos[6], LOW);
      Status[6] = '0';
    }
    if (Leitura == 'H'){
      digitalWrite(Pinos[7], HIGH);
      Status[7] = '1';
    }
    else if (Leitura == 'h'){
      digitalWrite(Pinos[7], LOW);
      Status[7] = '0';
    }
    if (Leitura == 'I'){
      digitalWrite(Pinos[8], HIGH);
      Status[8] = '1';
    }
    else if (Leitura == 'i'){
      digitalWrite(Pinos[8], LOW);
      Status[8] = '0';
    }
    if (Leitura == 'J'){
      digitalWrite(Pinos[9], HIGH);
      Status[9] = '1';
    }
    else if (Leitura == 'j'){
      digitalWrite(Pinos[9], LOW);
      Status[9] = '0';
    }
    if (Leitura == 'S'){
      statusExibir();
    }   
}

int statusExibir()
{
  Serial.print(Status[0]);
  Serial.print(",");
  Serial.print(Status[1]);
  Serial.print(",");
  Serial.print(Status[2]);
  Serial.print(",");
  Serial.print(Status[3]);
  Serial.print(",");
  Serial.print(Status[4]);
  Serial.print(",");
  Serial.print(Status[5]);
  Serial.print(",");
  Serial.print(Status[6]);
  Serial.print(",");
  Serial.print(Status[7]);
  Serial.print(",");
  Serial.print(Status[8]);
  Serial.print(",");
  Serial.print(Status[9]);
  Leitura =0;
 
  delay(1000);
}

Exprimenta este código e dizme se corrigiu.