Forum Software Ferduino code Problem with pcf8575 code changes

Problem with pcf8575 code changes  [SOLVED]


Post Number:#1 Post Tue Sep 08, 2015 4:53 pm
Posts: 2
Topics: 1
Solve rating: 0
Joined: Mon Sep 07, 2015 11:51 pm
Topics: 1
Age: 39
Gender: None specified
National Flag:
United States of America
Hello,
I am somewhat new to arduino programming. I have learned a lot just by using this website. I am using the ferduino mega and the english source code. I am having problems with compiling the code to use the PCF8575. I have followed the instructions on this topic link viewtopic.php?p=346#p346 . Can someone help me and point out where I have the problem. I will show here everything i have changed.
My error message
Parametros.ino: In function 'void checkTempC()':
Parametros:42: error: expected unqualified-id before '.' token
Parametros:56: error: expected unqualified-id before '.' token
Parametros:64: error: expected unqualified-id before '.' token
Parametros:72: error: expected unqualified-id before '.' token
Parametros.ino: In function 'void reposicao_agua_doce()':
Parametros:224: error: expected unqualified-id before '.' token
Parametros:229: error: expected unqualified-id before '.' token
Temporizadores.ino: In function 'void check_temporizadores()':
Temporizadores:10: error: expected unqualified-id before '.' token
Temporizadores:15: error: expected unqualified-id before '.' token
Temporizadores:23: error: expected unqualified-id before '.' token
Temporizadores:29: error: expected unqualified-id before '.' token
Temporizadores:34: error: expected unqualified-id before '.' token
Temporizadores:41: error: expected unqualified-id before '.' token
Temporizadores:51: error: expected unqualified-id before '.' token
Temporizadores:56: error: expected unqualified-id before '.' token
Temporizadores:64: error: expected unqualified-id before '.' token
Temporizadores:70: error: expected unqualified-id before '.' token
Temporizadores:75: error: expected unqualified-id before '.' token
Temporizadores:82: error: expected unqualified-id before '.' token
Temporizadores:92: error: expected unqualified-id before '.' token
Temporizadores:97: error: expected unqualified-id before '.' token
Temporizadores:105: error: expected unqualified-id before '.' token
Temporizadores:111: error: expected unqualified-id before '.' token
Temporizadores:116: error: expected unqualified-id before '.' token
Temporizadores:123: error: expected unqualified-id before '.' token
Temporizadores:133: error: expected unqualified-id before '.' token
Temporizadores:138: error: expected unqualified-id before '.' token
Temporizadores:146: error: expected unqualified-id before '.' token
Temporizadores:152: error: expected unqualified-id before '.' token
Temporizadores:157: error: expected unqualified-id before '.' token
Temporizadores:164: error: expected unqualified-id before '.' token
Temporizadores:174: error: expected unqualified-id before '.' token
Temporizadores:179: error: expected unqualified-id before '.' token
Temporizadores:187: error: expected unqualified-id before '.' token
Temporizadores:193: error: expected unqualified-id before '.' token
Temporizadores:198: error: expected unqualified-id before '.' token
Temporizadores:205: error: expected unqualified-id before '.' token


Ferduino Tab changes
#include <avr/pgmspace.h>
#include <PCF8575.h>  

///**************** PCF8575TS **********************************
const byte temporizador1 = 0;       // P0       // Pino que liga o timer 1.
const byte temporizador2 = 1;       // P1       // Pino que liga o timer 2.
const byte temporizador3 = 2;       // P2       // Pino que liga o timer 3.
const byte temporizador4 = 3;       // P3       // Pino que liga o timer 4.
const byte temporizador5 = 4;       // P4       // Pino que liga o timer 5.
const byte solenoide1Pin = 5;       // P5       // Liga a reposicao de água doce.
const byte aquecedorPin = 6;   // Pino que liga o aquecedor

//*****************************************************************************************
//************************** Variáveis do PCF8575 *****************************************
//*****************************************************************************************
/*boolean PCF8575TS_S = True; // Altere para "false" caso não tenha um PCF8575
 PCF8575 PCF8575TS;
 byte endereco_PCF8575TS = 0x20; // Endereço em hexadecimal = 0x20
 PCF8575 PCF8575TS;
 */


parametros tab changes

changed all "digitalWrite(aquecedorPin" to "PCF8575.digitalWrite(aquecedorPin" like the code below i did for solenoide1pin

 PCF8575.digitalWrite(solenoide1Pin,HIGH);
    bitWrite(Status,1,1); //sinaliza reposição em andamento
  }
  else
  {
    PCF8575.digitalWrite(solenoide1Pin,LOW);
    bitWrite(Status,1,0); // sinaliza reposição em andamento


I have also changed temporizadores tab codes from "digitalWrite(temporizador" to "PCF8575.digitalWrite(temporizador"

setup tab changes

I am not not sure if i need to do anything with this section below

  /*  if(PCF8575TS_S == true)
   {
   PCF8575TS.begin(endereco_PCF8575TS); // Inicia a comunicação com o PCF8575TS
   for(int i = 0; i < 16; i++)
   {
   PCF8575TS.pinMode(i, OUTPUT);
   delay(100);
   PCF8575TS.digitalWrite(i, LOW);
   }
   }*/


//**************** PCF8575 ****************
  pinMode (temporizador1, OUTPUT);         // Pino 80;
  pinMode (temporizador2, OUTPUT);         // Pino 81;
  pinMode (temporizador3, OUTPUT);         // Pino 82;
  pinMode (temporizador4, OUTPUT);         // Pino 83;
  pinMode (temporizador5, OUTPUT);         // Pino 84;
  pinMode (solenoide1Pin, OUTPUT);         // Pino 85;
  pinMode(aquecedorPin, OUTPUT);           // Pino 42;

Post Number:#2 Post Tue Sep 08, 2015 5:07 pm
Posts: 1699
Topics: 38
Images: 301
Solve rating: 233
Joined: Mon Mar 03, 2014 5:59 pm
Topics: 38
Age: 40
Location: São Paulo
Gender: Male
National Flag:
Brazil

Hi!

Welcome Daniel!

When have "comment this lines" you needs only add // to a line or /* */ to a part of the code.

When have "uncomment this lines" you needs only remove // to a line or /* */ to a part of the code.

Here remove /* and */:

/*boolean PCF8575TS_S = True; // Altere para "false" caso não tenha um PCF8575
 PCF8575 PCF8575TS;
 byte endereco_PCF8575TS = 0x20; // Endereço em hexadecimal = 0x20
 PCF8575 PCF8575TS;
 */


In others words use it:

 boolean PCF8575TS_S = true; // Altere para "false" caso não tenha um PCF8575
 PCF8575 PCF8575TS;
 byte endereco_PCF8575TS = 0x20; // Endereço em hexadecimal = 0x20
 PCF8575 PCF8575TS;



Here add /* and */:

  pinMode (temporizador1, OUTPUT);         // Pino 80;
  pinMode (temporizador2, OUTPUT);         // Pino 81;
  pinMode (temporizador3, OUTPUT);         // Pino 82;
  pinMode (temporizador4, OUTPUT);         // Pino 83;
  pinMode (temporizador5, OUTPUT);         // Pino 84;
  pinMode (solenoide1Pin, OUTPUT);         // Pino 85;
  pinMode(aquecedorPin, OUTPUT);           // Pino 42;


In others words use it:

/*
  pinMode (temporizador1, OUTPUT);         // Pino 80;
  pinMode (temporizador2, OUTPUT);         // Pino 81;
  pinMode (temporizador3, OUTPUT);         // Pino 82;
  pinMode (temporizador4, OUTPUT);         // Pino 83;
  pinMode (temporizador5, OUTPUT);         // Pino 84;
  pinMode (solenoide1Pin, OUTPUT);         // Pino 85;
  pinMode(aquecedorPin, OUTPUT);           // Pino 42;
*/


Best regards.
Post your doubts on forum because it can help another user too. Just PM me for support if it's absolutely necessary.

Post Number:#3 Post Tue Sep 08, 2015 5:39 pm
Posts: 2
Topics: 1
Solve rating: 0
Joined: Mon Sep 07, 2015 11:51 pm
Topics: 1
Age: 39
Gender: None specified
National Flag:
United States of America
Thank you so much. That fixed all my errors. I really enjoy working with the software and changing little things here and there and seeing the difference.
Last edited by Daniel Reed on Tue Sep 08, 2015 5:47 pm, edited 1 time in total.

Post Number:#4 Post Tue Sep 08, 2015 5:44 pm
Posts: 1699
Topics: 38
Images: 301
Solve rating: 233
Joined: Mon Mar 03, 2014 5:59 pm
Topics: 38
Age: 40
Location: São Paulo
Gender: Male
National Flag:
Brazil

On code have true no True.

Here have 2 lines repeated.

 
 boolean PCF8575TS_S = true; // Altere para "false" caso não tenha um PCF8575
 PCF8575 PCF8575TS;
 byte endereco_PCF8575TS = 0x20; // Endereço em hexadecimal = 0x20
 PCF8575 PCF8575TS;


Remove the second line:

 PCF8575 PCF8575TS;
Post your doubts on forum because it can help another user too. Just PM me for support if it's absolutely necessary.




Return to Ferduino code





Who is online

Users viewing this topic: No registered users and 1 guest