Esta etapa não é mais do que juntar os vários algoritmos num só código. No entanto, vamos rever o código feito e fazer algumas alterações.
Assim, vamos começamos por incluir a biblioteca PCF8574.h, necessária para utilizar o PCF8574. Em seguida criamos os objetos "pcf_xxxx" indicando qual o seu endereço. Por fim, definimos quatro constantes com a indicação das portas a serem usadas no PCF8574 dos semáforos pedonais.
Depois de termos criado os objetos referentes aos PCF8574, vamos declarar algumas variáveis que nos vão ajudar a definir tempos de espera, portas a serem usadas na iluminação de rua e tabela de dígitos a ser utilizada pelos displays de sete segmentos.
No void setup() iniciamos o Monitor Série e indicamos o pinMode das portas digitais que vamos usar tanto nos PCF8574 como no Arduino. Em seguida, iniciamos o sistema, isto é, desligamos todos os LEDs e colocamos os displays com o valor 0 (Zero).
No void loop() vamos desenvolver o código para ligar os semáforos e temporizadores.
Como já repararam, foram utilizadas 3 funções: duas muitos similares onde o que muda é apenas o objeto "pcf_xxxxx" que estamos a utilizar para o display de sete segmentos e uma outra para fazer a leitura do botão que liga e desliga a iluminação pública.
O resultado é bastante interessante dando a conhecer como podemos aumentar as portas digitais do nosso Arduino assim com podemos fazer para intensificar a tensão de corrente num determinado ponto do circuito.
Espero que tenham apreciado o projeto e que ele vos inspire a criar projetos ainda mais inovadores e bem-sucedidos no futuro.
Fiquem bem e programem "Like a Boss".