Fórum Comunidade DIY (Do-It-Yourself) Controlador Arduino para WP-40

Controlador Arduino para WP-40

Fórum para partilhar os seus projectos "Faça Você Mesmo" (DIY).

Grupo: Utilizadores Mensagens: 233
Idade: 46
Localização: Margem Sul
Sim,

No google pesquisa por "wp-40 reef angel", começa por "forum.reefan..."

Sorry estou no telemovel e assim é mais facil :)


Grupo: Utilizadores Mensagens: 258
Idade:
Já alguem abriu o controlador?

as fotos não são claras no reefcentral. Vê-se 2 fios, mas o 3º não se percebe onde vai nem o vejo....
Imagem


Grupo: Utilizadores Mensagens: 233
Idade: 46
Localização: Margem Sul
Boas João,

Não procures mais :)
Liguei uma pilha de 3V e a bomba arrancou.
Ou seja confirma-se :)
Mas o va se nao me enganou vem de um pin do IC.

Abraço.


Grupo: Utilizadores Mensagens: 258
Idade:
Explica lá o que fizes-te! :D

ligaste a pilha onde? ao VA? com os outros ligados à fonte 24V ?
Imagem


Grupo: Utilizadores Mensagens: 233
Idade: 46
Localização: Margem Sul
Então, a saida do controlador tem 3 canais, +24V, -24V e o tal va.
O que fiz foi com uma pilha tipo as de relógio, ligar o + no va e o - no -24V da bomba.

Como já tinha explicado, tinha corrente no +24V e no -24V só o va estava a 0.

Abraço.


Grupo: Super Moderador Mensagens: 4463
Idade: 50
Localização: Torres Vedras
Boas.
Tu tens um pino com 24 e outro con gnd.

Como isso e corrente dc o que fizeste foi medir a polaridade contraria e deu-te -24

Mas tens 24, gnd e va.

Abracos,
Rui

Sent from my GT-I9100 using Tapatalk 2
http://ricordeadream.blogspot.pt/

"Nothing good happens fast in a reef tank"
SPS= Stability Promotes Success


Grupo: Utilizadores Mensagens: 258
Idade:
Bom, isso quer dizer que a bomba tem variador integrado... Os chineses subiram uns pontos na minha consideração hoje...

Isso quer dizer tb que a malta do reef central que anda a inventar com PWM nos 24V vai queimar as bombas...

Fala-se que o controlador tem uma resistência e um condensador no caminho do VA, portanto esse VA não deve suportar PWM directo.

Bom fica mais uma opção como bomba, desde claro que não rebentem em pouco tempo! :D

Mas isso está mesmo com mt bom aspecto... e pelo pouco ruído que fazem ( tive oportunidade de ouvir a do Hugo), provavelmente estão bemc onstruidas e serão duradouras! :D
Imagem


Grupo: Utilizadores Mensagens: 233
Idade: 46
Localização: Margem Sul
Rui Manuel Gaspar Escreveu:
Boas.
Tu tens um pino com 24 e outro con gnd.

Como isso e corrente dc o que fizeste foi medir a polaridade contraria e deu-te -24

Mas tens 24, gnd e va.

Abracos,
Rui

Sent from my GT-I9100 using Tapatalk 2

Sim Rui,

Foi isso. Mas se puser GND e depois o pessoal vê lá -24V fica baralhado(sobretudo se perceberem tanto disto como eu :) )

Já estou a montar a aparelhagem toda, estou a fazer a lista de cenas a comprar, entre as quais:
- 4 Leds(Indicador de modos apesar de ir ter mais do que 4 modos depois faço combinação com os leds);
- Resistencias de 220ohms(para ligar aos Leds);
- 2 Botões(Um para mudar os modos e outro para alimentação);
- 2 Resistencias de 10k para os botões;
- Condensador de 10uF e resistencia de 10k, se bem que acho que vou também experimentar com outros valores... talvez 4,7uF e 1K...
- Placa para montar os componentes;

Acho que não me falta nada(ferro e solda tenho).
a Caixa vou fazer em acrilico.
Lá para o Fim de semana devo ter mais novidades!

Abraço.


Grupo: Utilizadores Mensagens: 233
Idade: 46
Localização: Margem Sul
Ora Bem,

Projecto concluido(Testado só com BreadBoard e componentes).
Material:
- Arduino Uno Rev3;
- 4 Leds de 3mm;
- 4 Resistencias de 220ohms;
- 2 Pushbutton NO(Normally Open);
- 2 resistencias de 10K.

Processo:
Os 4 leds servem para indicar o modo actual do controlador;
Os 2 PushButton para mudar o modo e para parar a bomba durante 5 minutos.

A Bomba tem 3 fios (+24V, -24V e va), sendo que o va é um controlador de 0-5V que é o que define a potencia com que a bomba funciona.

Experiências:
A ligação á bomba foi feita ainda no controlador original, o problema com o meu controlador é que a linha de 0-5V não estava a ser alimentada, provavelmente o controlador queimou com um pico de tensão e desprogramou... Ora nada como um arduino para programar e alimentar o fio da bomba.
Uma das opções era colocar um Low Pass Filter para converter o PWM para sinal analógico. Para isso usei uma resistencia de 1K e um condensador de 4,7uF, verifiquei contudo que com esta opção a voltagem máxima que saia para a Bomba era de 3,8V, ou seja, longe do FullPower que caracteriza estas bombas.
Isto melhorou com a ligação directa sem passar pelo LPF...Ficou a debitar os 5V directos quando em potencia máxima.

Abaixo um video com a bomba com o arduino ligado a ela.
A ligação do Arduino foi feita assim:
Sinal variável do Arduino(PWM/LPF) á linha va da bomba;
Ground do Arduino aos -24V da Bomba.

Depois é só programar o Arduino convenientemente e power nele...

Fiz 5 modos(que ainda tenho que afinar, mas falta pouco)
- Pulse - para fazer ondas;
- Ramp - Vai do minimo ao máximo e depois o inverso;
- ReefCrazy - Imita o reefCrest das Vortech;
- Jumping Horse - foi um modo que inventei com ramps e pulses pelo meio;
- Nutrient Zero - Imita o Nutrient Export das vortech.

Depois tem outros dois modos:
- Desligar a bomba - Util para manutenção no aquario;
- Alimentação - para durante 5 minutos para alimentação.

Eventualmente ainda lhe vou colocar mais dois modos, Potencia máxima continua e potencia intermédia continua.



O Video não explica tudo mas dá para perceber mais ou menos. Como os fios que ligavam ao controlador não estavam fixos, a determinada altura a bomba para(deixou de receber sinal), mas depois retoma ao mudar de modo.

Duvidas ou explicações sintam-se á vontade:
Simples, barato e eficaz!


Grupo: Utilizadores Mensagens: 385
Idade: 40
Localização: Lisboa

Nuno Dinis Escreveu:
Ora Bem,

Projecto concluido(Testado só com BreadBoard e componentes).
Material:
- Arduino Uno Rev3;
- 4 Leds de 3mm;
- 4 Resistencias de 220ohms;
- 2 Pushbutton NO(Normally Open);
- 2 resistencias de 10K.

Processo:
Os 4 leds servem para indicar o modo actual do controlador;
Os 2 PushButton para mudar o modo e para parar a bomba durante 5 minutos.

A Bomba tem 3 fios (+24V, -24V e va), sendo que o va é um controlador de 0-5V que é o que define a potencia com que a bomba funciona.

Experiências:
A ligação á bomba foi feita ainda no controlador original, o problema com o meu controlador é que a linha de 0-5V não estava a ser alimentada, provavelmente o controlador queimou com um pico de tensão e desprogramou... Ora nada como um arduino para programar e alimentar o fio da bomba.
Uma das opções era colocar um Low Pass Filter para converter o PWM para sinal analógico. Para isso usei uma resistencia de 1K e um condensador de 4,7uF, verifiquei contudo que com esta opção a voltagem máxima que saia para a Bomba era de 3,8V, ou seja, longe do FullPower que caracteriza estas bombas.
Isto melhorou com a ligação directa sem passar pelo LPF...Ficou a debitar os 5V directos quando em potencia máxima.

Abaixo um video com a bomba com o arduino ligado a ela.
A ligação do Arduino foi feita assim:
Sinal variável do Arduino(PWM/LPF) á linha va da bomba;
Ground do Arduino aos -24V da Bomba.

Depois é só programar o Arduino convenientemente e power nele...

Fiz 5 modos(que ainda tenho que afinar, mas falta pouco)
- Pulse - para fazer ondas;
- Ramp - Vai do minimo ao máximo e depois o inverso;
- ReefCrazy - Imita o reefCrest das Vortech;
- Jumping Horse - foi um modo que inventei com ramps e pulses pelo meio;
- Nutrient Zero - Imita o Nutrient Export das vortech.

Depois tem outros dois modos:
- Desligar a bomba - Util para manutenção no aquario;
- Alimentação - para durante 5 minutos para alimentação.

Eventualmente ainda lhe vou colocar mais dois modos, Potencia máxima continua e potencia intermédia continua.



O Video não explica tudo mas dá para perceber mais ou menos. Como os fios que ligavam ao controlador não estavam fixos, a determinada altura a bomba para(deixou de receber sinal), mas depois retoma ao mudar de modo.

Duvidas ou explicações sintam-se á vontade:
Simples, barato e eficaz!


Olá! O video está como privado...
Imagem


Grupo: Utilizadores Mensagens: 233
Idade: 46
Localização: Margem Sul
Sorry,

Já está.


Grupo: Utilizadores Mensagens: 385
Idade: 40
Localização: Lisboa

Nuno Dinis Escreveu:
Sorry,

Já está.


Nuno, está excelente!! Diz-me uma coisa, é possivel tambem modificar a velocidade das ondas? Imaginando que gostaria ter a função de wavemaker com 6500L. Obrigado.
Imagem


Grupo: Utilizadores Mensagens: 233
Idade: 46
Localização: Margem Sul
Sim é, mas o efeito é muito menor...
Basta enviares em vez dos 255 para o PWM, um valor mais baixo, existe uma formula para calcular a voltagem que envias(mas sinceramente nao sei de cor).

Como referi com o low pass filter estava a obter 3.8v no maximo e nota-se uma grande diferença.

Assim que conseguir disponibilizo o codigo.

Já agora... O preço do arduino e dos componentes nao chegou a 20eur...


Grupo: Super Moderador Mensagens: 4463
Idade: 50
Localização: Torres Vedras
Nuno Dinis Escreveu:
Sim é, mas o efeito é muito menor...
Basta enviares em vez dos 255 para o PWM, um valor mais baixo, existe uma formula para calcular a voltagem que envias(mas sinceramente nao sei de cor).

Como referi com o low pass filter estava a obter 3.8v no maximo e nota-se uma grande diferença.

Assim que conseguir disponibilizo o codigo.

Já agora... O preço do arduino e dos componentes nao chegou a 20eur...


Muito bom Nuno ...

Manda o código manda para ver se eu começo a brincar com a minhas tunze!

Abraços,
Rui
http://ricordeadream.blogspot.pt/

"Nothing good happens fast in a reef tank"
SPS= Stability Promotes Success


Grupo: Moderador Global Mensagens: 2006
Idade: 45
Localização: Sarilhos Grandes, Montijo
Mainada!

Mete isso pá para os americanos que eles ainda andam as turras com isso :)


Sent from my iPhone using Tapatalk


Grupo: Utilizadores Mensagens: 233
Idade: 46
Localização: Margem Sul
Cá vai o código:

Os comentários estão desactualizados e acho que tenho um bug, mas não implica no funcionamento da bomba, o bug tem a ver com a mudança de feed para o modo em que estava antes do feed.
Entretanto vou criar mais 2 modos(na realidade não são modos...) que é velocidade minima e máxima e vou introduzir um potenciometro no controlador para poder controlar a velocidade da bomba ;)

Vou encomendar a placa/PCB(Não tenho ferro de 18W e como o circuito é simples, se calhar fica mais barato do que estar a comprar um ferro e depois soldar (que pode implicar erros... da minha parte)

Se tiverem duvidas, digam que eu tento ajudar a explicar.


#include <Arduino.h>
/*
 Software para controlar bomba WP-40 - 1 canal
 Arduino
 Bomba WP-40
 Transformador
 Reset do Arduino faz a função Feed(Para a bomba por 5m) e reinicializa passados esses 5m.
 */

// constantes
//const int ModoFuncionamento = 1;
const int maxModos = 6;
const int buttonPin = 7;
const int buttonPinF = 8;
const int PWMPinLPF = 3;
const int PinLed1 = 10;
const int PinLed2 = 11;
const int PinLed3 = 12;
const int PinLed4 = 13;


// Variaveis:
int ModoFuncionamento = 1;
int ModoFuncionamentoAnt = 0;
int EstadoPulse = 0;
long previousMillis = 0;
unsigned long currentMillis = millis();
int buttonState = 0;
int buttonStateF = 0;

//Inicio Funções
void limpaLeds()
{
    digitalWrite(PinLed1, LOW);
    digitalWrite(PinLed2, LOW);
    digitalWrite(PinLed3, LOW);
    digitalWrite(PinLed4, LOW);
}
void activaLeds()
{
    switch (ModoFuncionamento){
        case 1:
            digitalWrite(PinLed1, HIGH);
            break;
        case 2:
            digitalWrite(PinLed2, HIGH);
            break;
        case 3:
            digitalWrite(PinLed3, HIGH);
            break;
        case 4:
            digitalWrite(PinLed4, HIGH);
            break;
        case 5:
            digitalWrite(PinLed1, HIGH);
            digitalWrite(PinLed2, HIGH);
            break;
        case 6:
            digitalWrite(PinLed1, HIGH);
            digitalWrite(PinLed4, HIGH);
            break;
        case 7:
            digitalWrite(PinLed1, HIGH);
            digitalWrite(PinLed2, HIGH);
            digitalWrite(PinLed3, HIGH);
            digitalWrite(PinLed4, HIGH);
            break;
    }

}
void verificaPushButton()
{
    buttonState = digitalRead(buttonPin);
    buttonStateF = digitalRead(buttonPinF);
}

void timer(long milliSegundos)
{
    int sai = 0;

    if(buttonState == HIGH){
       return;
    }

    do {
       currentMillis = millis();
       verificaPushButton();
       if(currentMillis - previousMillis > milliSegundos) {
          previousMillis = currentMillis;
          sai = 1;
       }
    } while (buttonState == LOW && buttonStateF == LOW && sai == 0);
}

/*
Modo a utilizar dentro do ReefCrazy - Faz nX Pulse
 */
void PulseSingle(int Imax, int Imin, int MiliSegundos, int NrTimes)
{

  int Contador = 0;
  int sai = 0;

  if(buttonState == HIGH || buttonStateF == HIGH){
    return;
  }

  do {
    Contador = Contador + 1;
    analogWrite(PWMPinLPF, Imax);
    timer(MiliSegundos);
    if(buttonState == HIGH || buttonStateF == HIGH){
      return;
    }
    analogWrite(PWMPinLPF, Imin);
    timer(MiliSegundos);
    if(buttonState == HIGH || buttonStateF == HIGH){
      return;
    }
  }
  while (Contador <= NrTimes && buttonState == LOW);

}
/* Pulse(Imax, Imin, MilSegundos) - Modo 1
 Recebe de entrada:
 Imax: Intensidade máxima do Pulse
 Imin: Intensidade Minima depois do pulse
 MilSegundos: Nr de MiliSegundos de intervalo entre intesidade Máxima e Minima
 O Objectivo é variar directo, sem incremento gradual entre a velocidade máxima e velocidade minima pelo nr de segundos indicado
 Ex:
 Pulse(255, 100, 500)
 A Bomba deveria começar a cerca de 40%(100/255) durante 0,5 Segundos, em seguida faz 100% durante 0,5 Segundos
 */

void Pulse(int Imax, int Imin, int MiliSegundos)
{
  if(buttonState == HIGH || buttonStateF == HIGH){
    return;
  }

  PulseSingle(Imax, Imin, MiliSegundos, 5);

}

/* RampUp(IntMin, IntMax, Increm, Percent) - Modo 2
 Recebe de entrada:
 IntMin: Intensidade Inicial
 IntMax: Intensidade Final
 Increm: Nr de MiliSegundos de intervalo entre intesidade

 O Objectivo é variar directo com incremento gradual entre a intensidade minima e máxima, com Increm segundos de intervalo entre o incremento
 Ex:
 RampUp(50, 225, 500, 15)
 A Bomba faria:
 Começa nos 20% e fica durante 0,5 Seg
 Incrementa 15 ao PWM(65/255) ficando a 25% durante 0,5 Seg
 Vai incrementando 5% durante 0,5 Seg até chegar a 88%(225/255)
 */

void RampUp(int IntMin, int IntMax, int Increm, int Percent) {

  int ValorPwm = IntMin;

  if(buttonState == HIGH || buttonStateF == HIGH){
    return;
  }

  analogWrite(PWMPinLPF, ValorPwm);

  do
  {
    currentMillis = millis();
    if(currentMillis - previousMillis > Increm) {
      previousMillis = currentMillis;
      if(ValorPwm > IntMax) {
        ValorPwm = IntMax;
      }
      analogWrite(PWMPinLPF, ValorPwm);
      ValorPwm = ValorPwm + Percent;

    }
    verificaPushButton();
    if(buttonState == HIGH || buttonStateF == HIGH){
      return;
    }

  }
  while(ValorPwm < IntMax && ValorPwm >= IntMin);
}

/* RampDown(IntMin, IntMax, Increm, Percent) - Modo 2
 Recebe de entrada:
 IntMin: Intensidade Inicial
 IntMax: Intensidade Final
 Increm: Nr de MiliSegundos de intervalo entre intesidade

 O Objectivo é variar directo com incremento gradual entre a intensidade minima e máxima, com Increm segundos de intervalo entre o incremento
 Ex:
 RampUp(50, 225, 500, 15)
 A Bomba faria:
 Começa nos 20% e fica durante 0,5 Seg
 Incrementa 15 ao PWM(65/255) ficando a 25% durante 0,5 Seg
 Vai incrementando 5% durante 0,5 Seg até chegar a 88%(225/255)
 */
void RampDown(int IntMin, int IntMax, int Increm, int Percent) {
  int ValorPWM = IntMax;

  if(buttonState == HIGH || buttonStateF == HIGH){
    return;
  }

  analogWrite(PWMPinLPF, ValorPWM);

  do
  {
    currentMillis = millis();
    if(currentMillis - previousMillis > Increm) {
      previousMillis = currentMillis;
      if(ValorPWM < IntMin) {
        ValorPWM = IntMin;
      }
      analogWrite(PWMPinLPF, ValorPWM);
      ValorPWM = ValorPWM - Percent;
    }
    verificaPushButton();
    if(buttonState == HIGH || buttonStateF == HIGH){
       return;
    }
  }
  while(ValorPWM <= IntMax && ValorPWM > IntMin);

}

/* ReefCrazy(IntMin, IntMax, SegMud) - Modo 3
 Recebe de Entrada:
 Intensidade Minima: Intensidade minima a que a bomba Roda
 Intensidade Máxima: Intensidade Máxima a que a bomba roda
 Segundos entre as mudanças: Segundos até mudança de modo aleatório


 */
void ReefCrazy(int IntMin, int IntMax, int SegMud)
{
  int RNumber = random(IntMin, IntMax);
  int MidleR = (IntMin + IntMax) / 2;

  if(buttonState == HIGH || buttonStateF == HIGH){
    return;
  }

  if(RNumber > (MidleR - 20) && RNumber < (MidleR + 20)) {
     PulseSingle(240, 100, 500, 3);
  }

  if(RNumber > MidleR) {
    RampDown(IntMin, MidleR, 500, 15);

  }
  else
  {
    RampUp(MidleR, IntMax, 500, 15);

  }

  RNumber = random(IntMin, IntMax);
  MidleR = (IntMin + IntMax) / 2;
}

/* Modo 4
 Sem parametros de entrada, sobe dos 0 aos 125PWM, faz Pulse 2X, continua a subir aos 255;
 Começa a descer dos 255 até 125, faz pulse, e continua até 0;
 */
void JumpingHorse()
{

  if(buttonState == HIGH || buttonStateF == HIGH){
    return;
  }

  RampUp(100, 175, 200, 5);

  PulseSingle(255, 150, 500, 2);

  RampUp(175, 255, 200, 5);

  RampDown(175, 255, 200, 5);

  PulseSingle(255, 150, 500, 2);

  RampDown(100, 175, 200, 5);
}

/* Modo 5
 - Nutrient Export Mode(5 Pulses a 0,5s, muito pequenos, mais 5 maiores, pulse grande para fazer onda, e o processo de pulses inverso).
 */
void NutrientZero()
{

  if(buttonState == HIGH || buttonStateF == HIGH){
    return;
  }


  RampUp(125, 240, 300, 15);
  timer(1000);
  RampDown(125, 240, 300, 15);

  PulseSingle(125, 225, 500, 8);
}

/* Modo Desligar - Modo 6 Para fazer por exemplo manutenção ao aquario, fica preparado para quem usar botão*/
void Desligar()
{
  if(buttonState == HIGH || buttonStateF == HIGH){
    return;
  }
  analogWrite(PWMPinLPF, 0);
}

void alimentar(long milliSegundos)
{
    if(buttonState == HIGH || buttonStateF == HIGH){
       return;
    }
   
    analogWrite(PWMPinLPF, 0);
    timer(milliSegundos);
}

void setup()
{
  // Inicializa PWM
  Serial.begin(9600);
  pinMode(PWMPinLPF, OUTPUT);
  pinMode(PinLed1, OUTPUT);
  pinMode(PinLed2, OUTPUT);
  pinMode(PinLed3, OUTPUT);
  pinMode(PinLed4, OUTPUT);

  pinMode(buttonPin, INPUT);
  pinMode(buttonPinF, INPUT);

  previousMillis = millis();

  limpaLeds();
  activaLeds();

}

void loop(){

  if(buttonState == HIGH){
    if(ModoFuncionamento >= maxModos) {
      ModoFuncionamento = 1;
    } else {
      ModoFuncionamento = ModoFuncionamento + 1;
    }
    limpaLeds();
    activaLeds();
    buttonState = LOW;
    delay(200);
  } else {
      verificaPushButton();
  }
 //Verifica estado de FEED
  if(buttonStateF == HIGH){
    if(ModoFuncionamento == 7)
    {
      ModoFuncionamento = ModoFuncionamentoAnt;
    } else {
      ModoFuncionamentoAnt = ModoFuncionamento;
      ModoFuncionamento = 7;
    }
    limpaLeds();
    activaLeds();
    buttonStateF = LOW;
    delay(200);
  }

  if (ModoFuncionamento == 1) {
    Pulse(255, 150, 300);
  }

  if (ModoFuncionamento == 2) {
    RampUp(100, 245, 500, 15);
    RampDown(100, 245, 500, 15);
  }

  if (ModoFuncionamento == 3) {
    ReefCrazy(100, 245, 500);
  }

  if (ModoFuncionamento == 4) {
    JumpingHorse();
  }

  if (ModoFuncionamento == 5) {
    NutrientZero();
  }

  if (ModoFuncionamento == 6) {
      Desligar();
  }

  if (ModoFuncionamento == 7) {
     alimentar(300000);
     ModoFuncionamento = ModoFuncionamentoAnt;
     limpaLeds();
     activaLeds();
  }

}


Abraço.


Grupo: Super Moderador Mensagens: 4463
Idade: 50
Localização: Torres Vedras
Muito bom ...

:ymapplause: :ymapplause: :ymapplause:

Obrigado. Isto vai dar-me um jeitão que o meu controlador neste momento é simples. Max / Min e já está!

Abraços,
Rui
http://ricordeadream.blogspot.pt/

"Nothing good happens fast in a reef tank"
SPS= Stability Promotes Success


Grupo: Utilizadores Mensagens: 38
Idade: 39
Localização: São Paulo, Brasil
Olá!

Nuno, você já testou a ligação direto no Arduino ou seja sem a intervenção do controlador original?

Grato.

Fernando Garcia
Conheça uma nova opção Open Source para controlar seu aquário.

www.ferduino.com


Grupo: Utilizadores Mensagens: 233
Idade: 46
Localização: Margem Sul
Olá Fernando,
Sim já testei e funciona. Voltei a colocar o low pass filter para fazer smooth do sinal digital.
No video só utilizei o controlador para não o desmembrar. De momento já arranjei o controlador original e estou á espera de um cabo para acabar de construir a caixa para o arduino(a avaria era no regulador de tensão).
Aliado a isto tambem coloquei um potenciometro e está tudo a funcionar na perfeição. O código está diferente, optei por um led rgb em vez de 4 verdes para poupar 1 pin.
Abraço.


Grupo: Utilizadores Mensagens: 38
Idade: 39
Localização: São Paulo, Brasil
Obrigado Nuno.
Conheça uma nova opção Open Source para controlar seu aquário.

www.ferduino.com

AnteriorPróximo

Voltar para DIY (Do-It-Yourself)