Desafios Práticos: Controlando Múltiplos LEDs com ESP32
Tutorial: Desvendando o Código do ESP32 e LED Pisca
Depois de montar o circuito e carregar o primeiro código no ESP32 para piscar um LED, é hora de entender exatamente como esse código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! funciona. Neste artigo, vamos dissecar cada linha do programa, explicar os conceitos teóricos envolvidos e mostrar como cada parte contribui para o funcionamento geral. Vamos mergulhar fundo para que você ganhe confiança e possa, no futuro, criar seus próprios projetos com o ESP32.
Visão Geral do Código🔗
Antes de analisarmos o código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! detalhadamente, vamos apresentá-lo por completo para facilitar o acompanhamento:
void setup()
{
pinMode(2, OUTPUT); // Configura o pino 2 como saída
}
void loop()
{
digitalWrite(2, HIGH); // Liga o LED
delay(1000); // Aguarda 1 segundo
digitalWrite(2, LOW); // Desliga o LED
delay(1000); // Aguarda 1 segundo
}
Este é um programa simples que faz o LED conectado ao pino 2 do ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! piscar em intervalos de um segundo.
Detalhamento Linha por Linha🔗
Agora, vamos examinar cada parte desse código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! para compreender seu funcionamento.
Declaração das Funções Principais
void setup()
Esta linha define a função setup(), que é executada apenas uma vez quando o ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! é ligado ou reiniciado.
void setup()
{
void: Indica que a função não retorna nenhum valor.setup(): Nome da função de configuração
Instalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns. inicial.
{
Abre o bloco de código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! da função setup().
Configuração do Pino
pinMode(2, OUTPUT); // Configura o pino 2 como saída
Dentro da função setup(), configuramos o modo do pino que será utilizado.
pinMode(): Função que configura um pino específico do ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! para comportar-se como entrada ou saída.
- Parâmetros:
2: Número do pino GPIO
Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. (General Purpose Input/Output) que estamos configurando.OUTPUT: Define o pino como saída, permitindo que enviemos sinais elétricos por ele.
Este comando prepara o pino 2 para controlar um dispositivo externo, no caso
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência.
📡 Drone FPV
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. via MAVLink e otimizações de latência., o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!.Fechamento da Função Setup
}Fecha o bloco de código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. de circuitos, programação e efeitos visuais incríveis! da função setup().Declaração da Função de Loop
void loop()Define a função
loop(), que é executada continuamente após a conclusão dosetup().void loop() {void: Indica que a função não retorna nenhum valor.loop(): Nome da função que o ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! executa em loop infinito.
Acendendo o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!digitalWrite(2, HIGH); // Liga o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!digitalWrite(): Função que envia um valor digital (alto ou baixo) para um pino configurado como saída.- Parâmetros:
2: Número do pino GPIO
Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. que estamos controlando.HIGH: Define o pino em nível lógico alto (3.3V no caso do ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!), o que liga o LED.
Este comando envia um sinal elétrico que acende o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!
Desafios
⏲ Temporizador Universal com Controle por NFCDescubra como integrar NFC e ESP32 em sistemas inteligentes para controle de dispositivos residenciais e industriais garantindo automação, segurança e precisão. Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. de circuitos, programação e efeitos visuais incríveis! conectado ao pino 2.Mantendo o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! Aceso por um Períododelay(1000); // Aguarda 1 segundodelay(): Função que pausa a execução do programa por um determinado tempo.- Parâmetros:
1000: Tempo em milissegundos que o programa vai aguardar (1000 ms = 1 segundo).
Este comando mantém o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!
Desafios
⏲ Temporizador Universal com Controle por NFCDescubra como integrar NFC e ESP32 em sistemas inteligentes para controle de dispositivos residenciais e industriais garantindo automação, segurança e precisão. Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. de circuitos, programação e efeitos visuais incríveis! aceso por 1 segundo antes de passar para o próximo comando.Apagando o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!digitalWrite(2, LOW); // Desliga o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!digitalWrite(): Novamente usamos esta função, agora para desligar o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!.
- Parâmetros:
2: Número do pino GPIO
Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. que estamos controlando.LOW: Define o pino em nível lógico baixo (0V), o que desliga o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!.
Este comando corta o sinal elétrico, fazendo com que o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!
Desafios
⏲ Temporizador Universal com Controle por NFCDescubra como integrar NFC e ESP32 em sistemas inteligentes para controle de dispositivos residenciais e industriais garantindo automação, segurança e precisão. Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. de circuitos, programação e efeitos visuais incríveis! apague.Mantendo o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! Apagado por um Períododelay(1000); // Aguarda 1 segundoMais uma vez, usamos a função
delay()para manter o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. de circuitos, programação e efeitos visuais incríveis! apagado por 1 segundo antes de reiniciar o ciclo.Fechamento da Função Loop
}Fecha o bloco de código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. de circuitos, programação e efeitos visuais incríveis! da função loop().- Parâmetros:
- Parâmetros:
- Parâmetros:
- Parâmetros:
Conceitos Teóricos Associados🔗
Agora que entendemos cada linha do código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!, vamos explorar os conceitos teóricos que ele envolve.
Funções setup() e loop()
No ambiente de programação do ESP32
Controle de Dispositivos com ESP32 via BluetoothDescubra como controlar dispositivos com ESP32 via Bluetooth em projetos IoT. Aprenda a configurar circuitos e programar funcionalidades de automação. (utilizando a IDE do Arduino), há dois componentes fundamentais:
setup(): É executada apenas uma vez, e é usada para configurar os parâmetros iniciais, como modos de pinos, inicialização de bibliotecas
Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP., etc.loop(): Executada continuamente, é aqui que ocorre o fluxo principal do programa, permitindo que o dispositivo responda a eventos, leia sensores
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código., controle atuadores, etc.
Essa estrutura permite que o ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! opere de forma autônoma, reagindo e interagindo com o ambiente indefinidamente.
Modos de Pino e Função pinMode()
Os pinos GPIO
Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. do ESP32 são versáteis e podem funcionar como entradas ou saídas. Com a função pinMode(pino, modo), definimos esse comportamento.
- Entrada (
INPUT): O pino pode ler sinais externos, como de sensores
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código.. - Saída (
OUTPUT): O pino envia sinais, controlando dispositivos como LEDs, motores, relés
Controle de LEDs e Relés através do Web Server do ESP32Aprenda a controlar LEDs e relés usando um Web Server no ESP32. Este tutorial completo ensina montagem, configuração e programação para automação IoT., etc.
Configurar
Instalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns. corretamente o modo dos pinos é crucial para evitar danos ao dispositivo ou ao componente conectado.
Controlando Saídas Digitais com digitalWrite()
A função digitalWrite(pino, valor) permite escrever um valor digital (alto ou baixo) em um pino configurado como saída.
HIGH(Alto): Equivale a um nível lógico alto, geralmente próximo à tensão de operação do ESP32 (3.3V).LOW(Baixo): Nível lógico baixo, ou seja, 0V.
Ao aplicar HIGH ou LOW em um pino conectado a um LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!, controlamos seu estado de ligado ou desligado.
Temporização com delay()
A função delay(tempo) é usada para pausar a execução do programa por um tempo específico, permitindo criar intervalos entre ações.
- O tempo é especificado em milissegundos.
- Uso adequado: Embora seja útil para projetos simples, o uso excessivo de
delay()pode travar o programa em aplicações
📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada. mais complexas, pois durante o atraso, nenhuma outra ação é executada.
O Ciclo Infinito do loop()
A natureza contínua da função loop() é o que permite que o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! pisque repetidamente:
2. Aguarda 1 segundo.
4. Aguarda 1 segundo.
5. Repete o ciclo.
Este padrão cria o efeito de piscar do LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!.
Aplicações Práticas e Ajustes🔗
Compreendendo o código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!, você pode realizar diversas modificações e experimentos.
Alterando a Velocidade do Piscar
- Modifique os valores de
delay(tempo)para alterar o intervalo:
delay(500); // Aguarda 0,5 segundo
- Valores menores tornam o piscar mais rápido; valores maiores, mais lento.
Utilizando Diferentes Pinos
- Você pode mudar o número do pino para controlar outros GPIOs
Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade.:
pinMode(4, OUTPUT); // Configura o pino 4 como saída
digitalWrite(4, HIGH); // Liga o dispositivo no pino 4
- Certifique-se de ajustar tanto no
pinMode()quanto nosdigitalWrite().
Expandindo para Múltiplos LEDs
- Controlar vários LEDs
Controle de LEDs e Relés através do Web Server do ESP32Aprenda a controlar LEDs e relés usando um Web Server no ESP32. Este tutorial completo ensina montagem, configuração e programação para automação IoT. simultaneamente:
void setup()
{
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
}
void loop()
{
digitalWrite(2, HIGH);
digitalWrite(4, LOW);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(4, HIGH);
delay(1000);
}
- Neste exemplo, os LEDs
Controle de LEDs e Relés através do Web Server do ESP32Aprenda a controlar LEDs e relés usando um Web Server no ESP32. Este tutorial completo ensina montagem, configuração e programação para automação IoT. nos pinos 2 e 4 piscarão alternadamente.
Integração com Sensores
- Embora não seja o foco deste código, entender como controlar saídas é o primeiro passo para projetos que reagem a entradas, como sensores de luz, temperatura
🦠 Analisador de Qualidade da Água PortátilConfira o tutorial completo que integra sensores IoT e ESP32 para monitorar pH, turbidez, condutividade e temperatura em tempo real com relatórios PDF., etc.
Boas Práticas de Programação🔗
Além de entender o código, é importante adotar boas práticas
Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT.:
Comentários
- Use comentários para documentar o código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! e facilitar o entendimento futuro:
digitalWrite(2, HIGH); // Liga o LED conectado ao pino 2
Organização e Legibilidade
- Mantenha o código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! bem formatado, com identação adequada. - Use nomes de variáveis significativos (quando aplicável).
Evitando Uso Excessivo de delay()
- Para programas mais complexos, considere usar funções como
millis()para temporização sem bloquear a execução.
Conceitos Avançados (Opcional)🔗
Embora não seja necessário para este código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! simples, é útil conhecer alguns conceitos que podem ser aplicados em projetos futuros.
Variáveis e Constantes
- Em vez de usar números fixos (também chamados de "números mágicos"), você pode definir constantes:
const int ledPin = 2;
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
- Isso torna o código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! mais fácil de manter e entender.
Estruturas de Controle
- Você pode usar estruturas como
for,whileeifpara controlar o fluxo:
for (int i = 0; i < 10; i++)
{
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(500);
}
Conclusão🔗
Entender cada linha do código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! é essencial para desenvolver habilidades em programação e eletrônica. Ao dissecar o programa que pisca um LED no ESP32, você aprendeu:
- A estrutura básica de um programa na IDE do Arduino
Instalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT. com ESP32. - Como configurar
Instalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns. pinos como entradas ou saídas. - Como controlar dispositivos externos usando sinais digitais.
- Conceitos de temporização e fluxo contínuo de execução.
Com esse conhecimento, você está pronto para explorar modificações no código, adicionar novos componentes
📜 Quadro Digital com Tela E-Ink de 32 PolegadasDescubra como combinar eficiência energética, tecnologia E-Ink e ESP32 para criar quadros digitais, dashboards interativos e arte generativa com soluções IoT. e criar projetos mais sofisticados. Lembre-se de que a prática e a experimentação são fundamentais no aprendizado. Não tenha medo de testar novas ideias e, principalmente, divirta-se no processo!
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- Arduino IDE Official Website: arduino.cc
- Documentação da Espressif: docs.espressif.com
- Documentação de Apresentação do ESP32: espressif.com/en/products/socs/esp32
- Documentação do ESP32 Arduino Core: docs.espressif.com/projects/arduino-esp32

há 12 meses atrás
há 12 meses atrás
há 12 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 8 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 8 meses atrás
há 10 meses atrás
há 10 meses atrás
há 12 meses atrás
há 12 meses atrás
há 12 meses atrás
há 12 meses atrás
há 12 meses atrás
há 12 meses atrás
há 12 meses atrás