Índice:

Introdução ao Arduino: 15 etapas (com imagens)
Introdução ao Arduino: 15 etapas (com imagens)
Anonim
Introdução ao Arduino
Introdução ao Arduino

Um Arduino é uma placa de desenvolvimento de microcontrolador de código aberto. Em inglês simples, você pode usar o Arduino para ler sensores e controlar coisas como motores e luzes. Isso permite que você carregue programas para este fórum, os quais podem interagir com coisas do mundo real. Com isso, você pode fazer dispositivos que respondem e reagem ao mundo em geral.

Por exemplo, você pode ler um sensor de umidade conectado a um vaso de planta e ligar um sistema de rega automático se ficar muito seco. Ou você pode criar um servidor de bate-papo autônomo que é conectado ao seu roteador de internet. Ou você pode fazer um tweet toda vez que seu gato passar pela porta de um animal de estimação. Ou você pode pedir para ele começar a tomar café quando o alarme tocar pela manhã.

Basicamente, se há algo que é controlado de alguma forma pela eletricidade, o Arduino pode interagir com ele de alguma maneira. E mesmo que não seja controlado por eletricidade, você provavelmente ainda pode usar coisas que são (como motores e eletroímãs), para fazer a interface com ele.

As possibilidades do Arduino são quase ilimitadas. Dessa forma, não há como um único tutorial cobrir tudo o que você precisa saber. Dito isso, fiz o possível para fornecer uma visão geral básica das habilidades e conhecimentos fundamentais de que você precisa para colocar o Arduino em funcionamento. Se nada mais, isso deve funcionar como um trampolim para mais experimentação e aprendizado.

Etapa 1: diferentes tipos de Arduinos

Diferentes tipos de Arduinos
Diferentes tipos de Arduinos
Diferentes tipos de Arduinos
Diferentes tipos de Arduinos
Diferentes tipos de Arduinos
Diferentes tipos de Arduinos

Existem vários tipos diferentes de Arduinos para escolher. Esta é uma breve visão geral de alguns dos tipos mais comuns de placas Arduino que você pode encontrar. Para obter uma lista completa das placas Arduino com suporte atualmente, verifique a página de hardware do Arduino.

Arduino Uno

A versão mais comum do Arduino é o Arduino Uno. Essa placa é o que a maioria das pessoas fala quando se refere a um Arduino. Na próxima etapa, há um resumo mais completo de seus recursos.

Arduino NG, Diecimila e o Duemilanove (versões herdadas)

Versões legadas da linha de produtos Arduino Uno consistem em NG, Diecimila e Duemilanove. O importante a ser observado sobre placas legadas é que elas não possuem características específicas do Arduino Uno. Algumas diferenças importantes:

  • O Diecimila e o NG usam chips ATMEGA168 (em oposição ao ATMEGA328, mais poderoso),
  • Tanto o Diecimila quanto o NG têm um jumper próximo à porta USB e requerem seleção manual de USB ou energia da bateria.
  • O Arduino NG requer que você segure o botão de descanso na placa por alguns segundos antes de carregar um programa.

Arduino Mega 2560

O Arduino Mega 2560 é a segunda versão mais comumente encontrada da família Arduino. O Arduino Mega é como o irmão mais velho e robusto do Arduino Uno. Possui 256 KB de memória (8 vezes mais que o Uno). Ele também tinha 54 pinos de entrada e saída, 16 dos quais são pinos analógicos e 14 dos quais podem executar PWM. No entanto, toda a funcionalidade adicionada tem o custo de uma placa de circuito um pouco maior. Isso pode tornar seu projeto mais poderoso, mas também o tornará maior. Confira a página oficial do Arduino Mega 2560 para mais detalhes.

Arduino Mega ADK

Esta versão especializada do Arduino é basicamente um Arduino Mega que foi projetado especificamente para fazer interface com smartphones Android. Esta também é uma versão legada.

Arduino Yun

O Arduino Yun usa um chip ATMega32U4 em vez do ATmega328. No entanto, o que realmente o diferencia é a adição do microprocessador Atheros AR9331. Este chip extra permite que esta placa execute Linux além do sistema operacional Arduino normal. Se tudo isso não bastasse, ele também tem capacidade de wi-fi a bordo. Em outras palavras, você pode programar a placa para fazer coisas como faria com qualquer outro Arduino, mas também pode acessar o lado Linux da placa para se conectar à internet via wi-fi. O lado do Arduino e o lado do Linux podem então se comunicar facilmente entre si. Isso torna esta placa extremamente poderosa e versátil. Eu mal estou arranhando a superfície do que você pode fazer com isso, mas para aprender mais, verifique a página oficial do Arduino Yun.

Arduino Nano

Se você quiser ser menor do que a placa Arduino padrão, o Arduino Nano é para você! Com base em um chip ATmega328 de montagem em superfície, esta versão do Arduino foi reduzida para um tamanho pequeno, capaz de caber em espaços apertados. Ele também pode ser inserido diretamente em uma placa de ensaio, facilitando o protótipo.

Arduino LilyPad

O LilyPad foi projetado para aplicações vestíveis e e-têxteis. Ele deve ser costurado ao tecido e conectado a outros componentes costuráveis usando fio condutor. Esta placa requer o uso de um cabo de programação serial TTL FTDI-USB especial. Para obter mais informações, a página Arduino LilyPad é um ponto de partida decente.

(Observe que alguns dos links nesta página são links de afiliados. Isso não altera o custo do item para você. Eu reinvesti todos os rendimentos que recebo para fazer novos projetos. Se você quiser sugestões de fornecedores alternativos, por favor, deixe-me conhecer.)

Etapa 2: recursos do Arduino Uno

Recursos do Arduino Uno
Recursos do Arduino Uno

Algumas pessoas pensam em toda a placa Arduino como um microcontrolador, mas isso é impreciso. A placa Arduino, na verdade, é uma placa de circuito especialmente projetada para programação e prototipagem com microcontroladores Atmel.

O bom da placa Arduino é que ela é relativamente barata, conecta-se diretamente à porta USB do computador e é muito simples de configurar e usar (em comparação com outras placas de desenvolvimento).

Alguns dos principais recursos do Arduino Uno incluem:

  • Um design de código aberto. A vantagem de ser de código aberto é que há uma grande comunidade de pessoas que o usam e solucionam. Isso torna mais fácil encontrar alguém para ajudá-lo a depurar seus projetos.
  • Uma interface USB fácil. O chip da placa se conecta diretamente à porta USB e é registrado no computador como uma porta serial virtual. Isso permite que você faça interface com ele como se fosse um dispositivo serial. O benefício dessa configuração é que a comunicação serial é um protocolo extremamente fácil (e testado pelo tempo) e o USB torna a conexão com computadores modernos realmente conveniente.
  • Gerenciamento de energia muito conveniente e regulação de tensão embutida. Você pode conectar uma fonte de alimentação externa de até 12v e ela irá regulá-la para 5v e 3,3v. Ele também pode ser alimentado diretamente de uma porta USB sem qualquer fonte de alimentação externa.
  • Um "cérebro" microcontrolador fácil de encontrar e muito barato. O chip ATmega328 é vendido por cerca de US $ 2,88 na Digikey. Ele tem um número incontável de recursos de hardware interessantes, como temporizadores, pinos PWM, interrupções externas e internas e vários modos de hibernação. Confira a folha de dados oficial para mais detalhes.
  • Um relógio de 16 MHz. Isso o torna não o microcontrolador mais rápido, mas rápido o suficiente para a maioria das aplicações.
  • 32 KB de memória flash para armazenar seu código.
  • 13 pinos digitais e 6 pinos analógicos. Esses pinos permitem que você conecte hardware externo ao Arduino. Esses pinos são essenciais para estender a capacidade de computação do Arduino para o mundo real. Basta conectar seus dispositivos e sensores nos soquetes que correspondem a cada um desses pinos e pronto.
  • Um conector ICSP para ignorar a porta USB e fazer a interface do Arduino diretamente como um dispositivo serial. Esta porta é necessária para reinicializar seu chip se ele corromper e não puder mais se comunicar com seu computador.
  • Um LED integrado conectado ao pino digital 13 para uma depuração fácil e rápida do código.
  • E por último, mas não menos importante, um botão para redefinir o programa no chip.

Para um resumo completo de tudo o que o Arduino Uno tem a oferecer, verifique a página oficial do Arduino.

Etapa 3: IDE Arduino

IDE Arduino
IDE Arduino

Antes de começar a fazer qualquer coisa com o Arduino, você precisa baixar e instalar o Arduino IDE (ambiente de desenvolvimento integrado). A partir deste ponto, nos referiremos ao Arduino IDE como o Arduino Programmer.

O programador Arduino é baseado no IDE de processamento e usa uma variação das linguagens de programação C e C ++.

Você pode encontrar a versão mais recente do Programador Arduino nesta página.

Etapa 4: conecte-o

Conecte
Conecte

Conecte o Arduino à porta USB do seu computador.

Observe que, embora o Arduino se conecte ao seu computador, ele não é um verdadeiro dispositivo USB. A placa possui um chip especial que permite que ela apareça no seu computador como uma porta serial virtual quando conectada a uma porta USB. É por isso que é importante conectar a placa. Quando a placa não está conectada, a porta serial virtual na qual o Arduino opera não estará presente (já que todas as informações sobre ela residem na placa do Arduino).

Também é bom saber que cada Arduino tem um endereço de porta serial virtual exclusivo. Isso significa que toda vez que você conectar uma placa Arduino diferente em seu computador, precisará reconfigurar a porta serial que está em uso.

O Arduino Uno requer um cabo USB A macho para USB B macho.

Etapa 5: Configurações

Definições
Definições
Definições
Definições

Antes de começar a fazer qualquer coisa no programador Arduino, você deve definir o tipo de placa e a porta serial.

Para definir o tabuleiro, vá para o seguinte:

Quadros de ferramentas

Selecione a versão da placa que você está usando. Como tenho um Arduino Uno conectado, obviamente selecionei "Arduino Uno".

Para definir a porta serial, vá para o seguinte:

Porta serial de ferramentas

Selecione a porta serial que se parece com:

/dev/tty.usbmodem [números aleatórios]

Etapa 6: execute um esboço

Executar um esboço
Executar um esboço
Executar um esboço
Executar um esboço
Executar um esboço
Executar um esboço

Os programas do Arduino são chamados de sketches. O programador Arduino vem com uma tonelada de esboços de exemplo pré-carregados. Isso é ótimo porque, mesmo que você nunca tenha programado nada em sua vida, você pode carregar um desses esboços e fazer com que o Arduino faça algo.

Para fazer o LED amarrado ao pino digital 13 piscar, vamos carregar o exemplo de piscar.

O exemplo de piscar pode ser encontrado aqui:

Arquivos Exemplos Básico Blink

O exemplo de piscar basicamente define o pino D13 como uma saída e, em seguida, pisca o LED de teste na placa Arduino a cada segundo.

Uma vez que o exemplo de piscar é aberto, ele pode ser instalado no chip ATMEGA328 pressionando o botão de upload, que se parece com uma seta apontando para a direita.

Observe que o LED de status da montagem em superfície conectado ao pino 13 no Arduino começará a piscar. Você pode alterar a taxa de intermitência alterando a duração do atraso e pressionando o botão de upload novamente.

Etapa 7: Monitor serial

Monitor Serial
Monitor Serial
Monitor Serial
Monitor Serial

O monitor serial permite que seu computador se conecte serialmente com o Arduino. Isso é importante porque leva os dados que seu Arduino está recebendo de sensores e outros dispositivos e os exibe em tempo real em seu computador. Ter essa capacidade é inestimável para depurar seu código e entender quais valores numéricos o chip está realmente recebendo.

Por exemplo, conecte a varredura central (pino do meio) de um potenciômetro a A0 e os pinos externos, respectivamente, a 5v e aterramento. Em seguida, carregue o esboço mostrado abaixo:

Exemplos de arquivo 1. Basics AnalogReadSerial

Clique no botão para ativar o monitor serial que se parece com uma lente de aumento. Agora você pode ver os números sendo lidos pelo pino analógico no monitor serial. Quando você gira o botão, os números aumentam e diminuem.

Os números estarão entre 0 e 1023. A razão para isso é que o pino analógico está convertendo uma tensão entre 0 e 5 V em um número discreto.

Etapa 8: entrada digital

Digital In
Digital In

O Arduino tem dois tipos diferentes de pinos de entrada, sendo analógicos e digitais.

Para começar, vamos examinar os pinos de entrada digital.

Os pinos de entrada digital têm apenas dois estados possíveis, que são ligado ou desligado. Esses dois estados ligado e desligado também são chamados de:

  • Alto ou baixo
  • 1 ou 0
  • 5V ou 0V.

Essa entrada é comumente usada para detectar a presença de tensão quando uma chave é aberta ou fechada.

As entradas digitais também podem ser usadas como base para inúmeros protocolos de comunicação digital. Ao criar um pulso de 5 V (ALTO) ou um pulso de 0 V (BAIXO), você pode criar um sinal binário, a base de toda a computação. Isso é útil para falar com sensores digitais, como um sensor ultrassônico PING, ou para se comunicar com outros dispositivos.

Para obter um exemplo simples de uma entrada digital em uso, conecte uma chave do pino digital 2 a 5V, um resistor de 10K ** do pino digital 2 ao aterramento e execute o seguinte código:

Exemplos de arquivo 2. Botão digital

** O resistor de 10K é chamado de resistor pull-down porque conecta o pino digital ao aterramento quando a chave não é pressionada. Quando a chave é pressionada, as conexões elétricas da chave têm menos resistência do que o resistor e a eletricidade não se conecta mais ao aterramento. Em vez disso, a eletricidade flui entre 5 V e o pino digital. Isso ocorre porque a eletricidade sempre escolhe o caminho de menor resistência. Para saber mais sobre isso, visite a página dos Pins digitais.

Etapa 9: entrada analógica

Analog In
Analog In

Além dos pinos de entrada digital, o Arduino também possui vários pinos de entrada analógica.

Os pinos de entrada analógica pegam um sinal analógico e realizam uma conversão de analógico para digital (ADC) de 10 bits para transformá-lo em um número entre 0 e 1023 (passos de 4,9 mV).

Este tipo de entrada é bom para a leitura de sensores resistivos. São basicamente sensores que fornecem resistência ao circuito. Eles também são bons para ler um sinal de tensão variável entre 0 e 5V. Isso é útil na interface com vários tipos de circuitos analógicos.

Se você seguiu o exemplo da Etapa 7 para ativar o monitor serial, já tentou usar um pino de entrada analógica.

Etapa 10: saída digital

Saída digital
Saída digital

Um pino de saída digital pode ser definido como HIGH (5v) ou LOW (0v). Isso permite que você ligue e desligue as coisas.

Além de ligar e desligar as coisas (e fazer os LEDs piscarem), essa forma de saída é conveniente para várias aplicações.

Mais notavelmente, ele permite que você se comunique digitalmente. Ao ligar e desligar o pino rapidamente, você está criando estados binários (0 e 1), que são reconhecidos por inúmeros outros dispositivos eletrônicos como um sinal binário. Usando esse método, você pode se comunicar usando vários protocolos diferentes.

A comunicação digital é um tópico avançado, mas para ter uma ideia geral do que pode ser feito, verifique a página Interface com Hardware.

Se você seguiu o exemplo da Etapa 6 para fazer um LED piscar, já tentou usar um pino de saída digital.

Etapa 11: Saída Analógica

Saída Analógica
Saída Analógica

Conforme mencionado anteriormente, o Arduino possui várias funções especiais integradas. Uma dessas funções especiais é a modulação por largura de pulso, que é a maneira como um Arduino é capaz de criar uma saída analógica.

A modulação por largura de pulso - ou PWM para abreviar - funciona girando rapidamente o pino PWM alto (5V) e baixo (0V) para simular um sinal analógico. Por exemplo, se você acendesse e apagasse um LED rapidamente (cerca de cinco milissegundos cada), o brilho pareceria médio e só estaria recebendo a metade da potência. Alternativamente, se ele piscar por 1 milissegundo e depois apagar por 9 milissegundos, o LED parecerá ter 1/10 do brilho e receber apenas 1/10 da voltagem.

O PWM é a chave para uma série de aplicações, incluindo fazer som, controlar o brilho das luzes e controlar a velocidade dos motores.

Para uma explicação mais aprofundada, verifique os segredos da página PWM.

Para testar você mesmo o PWM, conecte um LED e um resistor de 220 ohms ao pino digital 9, em série com o aterramento. Execute o seguinte código de exemplo:

Exemplos de arquivo 3. Desvanecimento analógico

Etapa 12: Escreva seu próprio código

Escreva seu próprio código
Escreva seu próprio código

Para escrever seu próprio código, você precisará aprender algumas sintaxes básicas da linguagem de programação. Em outras palavras, você tem que aprender a formar corretamente o código para o programador entendê-lo. Você pode pensar nisso como entender gramática e pontuação. Você pode escrever um livro inteiro sem gramática e pontuação adequadas, mas ninguém será mais capaz de entendê-lo, mesmo que seja em inglês.

Algumas coisas importantes para se ter em mente ao escrever seu próprio código:

Um programa Arduino é chamado de esboço

Todo o código em um esboço do Arduino é processado de cima para baixo

Os esboços do Arduino são normalmente divididos em cinco partes

  1. O esboço geralmente começa com um cabeçalho que explica o que o esboço está fazendo e quem o escreveu.
  2. Em seguida, geralmente define variáveis globais. Freqüentemente, é aqui que nomes constantes são atribuídos aos diferentes pinos do Arduino.
  3. Depois que as variáveis iniciais são definidas, o Arduino começa a rotina de configuração. Na função de configuração, definimos as condições iniciais das variáveis quando necessário e executamos qualquer código preliminar que desejamos executar apenas uma vez. É aqui que a comunicação serial é iniciada, necessária para a execução do monitor serial.
  4. Da função de configuração, vamos para a rotina de loop. Essa é a rotina principal do esboço. Este não é apenas para onde seu código principal vai, mas ele será executado continuamente, desde que o esboço continue a ser executado.
  5. Abaixo da rotina de loop, geralmente há outras funções listadas. Essas funções são definidas pelo usuário e somente ativadas quando chamadas na rotina de configuração e loop. Quando essas funções são chamadas, o Arduino processa todo o código da função de cima para baixo e, em seguida, volta para a próxima linha no esboço de onde parou quando a função foi chamada. As funções são boas porque permitem que você execute rotinas padrão - repetidamente - sem ter que escrever as mesmas linhas de código repetidamente. Você pode simplesmente chamar uma função várias vezes e isso irá liberar memória no chip porque a rotina da função é escrita apenas uma vez. Também torna o código mais fácil de ler. Para aprender a formar suas próprias funções, verifique esta página.

Dito isso, as únicas duas partes do sketch que são obrigatórias são as rotinas Setup e Loop

O código deve ser escrito na linguagem Arduino, que é basicamente baseada em C

Quase todas as instruções escritas na linguagem Arduino devem terminar com um;

Condicionais (como instruções if e loops for) não precisam de um;

As condicionais têm suas próprias regras e podem ser encontradas em "Estruturas de controle" na página da linguagem Arduino

Variáveis são compartimentos de armazenamento para números. Você pode passar valores para dentro e para fora das variáveis. As variáveis devem ser definidas (declaradas no código) antes de poderem ser usadas e precisam ter um tipo de dados associado a elas. Para aprender alguns dos tipos de dados básicos, revise a Página de idiomas

OK! Digamos que queiramos escrever um código que leia uma fotocélula conectada ao pino A0 e usar a leitura que obtemos da fotocélula para controlar o brilho de um LED conectado ao pino D9.

Primeiro, queremos abrir o esboço BareMinimum, que pode ser encontrado em:

Exemplos de arquivo 1. Basic BareMinimum

O esboço BareMinimum deve ser semelhante a este:

void setup () {

// coloque seu código de configuração aqui, para executar uma vez:} void loop () {// coloque seu código principal aqui, para executar repetidamente:} Em seguida, vamos colocar um cabeçalho no código, para que outras pessoas saibam o que estamos fazendo, por que e em que termos

/*

LED Dimmer por Genius Arduino Programmer 2012 Controla o brilho de um LED no pino D9 com base na leitura de uma fotocélula no pino A0. Este código está em Domínio Público * / void setup () {// coloque seu código de configuração aqui, para executar uma vez:} void loop () {// coloque seu código principal aqui, para executar repetidamente:} Depois que tudo estiver resolvido, vamos definir os nomes dos pinos e estabelecer as variáveis

/*

LED Dimmer por Genius Arduino Programmer 2012 Controla o brilho de um LED no pino D9 com base na leitura de uma fotocélula no pino A0. Este código está no Domínio Público * / // nomeia pino analógico 0 um nome constante const int analogInPin = A0; // nomeia o pino digital 9 um nome constante const int LEDPin = 9; // variável para leitura de uma fotocélula int photocell; void setup () {// coloque seu código de configuração aqui, para executar uma vez:} void loop () {// coloque seu código principal aqui, para executar repetidamente:} Agora que as variáveis e os nomes dos pinos estão definidos, vamos escrever o código real

/*

LED Dimmer por Genius Arduino Programmer 2012 Controla o brilho de um LED no pino D9 com base na leitura de uma fotocélula no pino A0 Este código está no Domínio Público * / // nomeia pino analógico 0 um nome constante const int analogInPin = A0; // nomeia o pino digital 9 um nome constante const int LEDPin = 9; // variável para leitura de uma fotocélula int photocell; void setup () {// nada aqui agora} void loop () {// ler o analógico no pino e definir a leitura para a variável da fotocélula photocell = analogRead (analogInPin); // controla o pino do LED usando o valor lido pela fotocélula analogWrite (LEDPin, fotocélula); // pausa o código por 1/10 de segundo // 1 segundo = 1000 delay (100); } Se quisermos ver quais números o pino analógico está realmente lendo da fotocélula, precisaremos usar o monitor serial. Vamos ativar a porta serial e enviar esses números

/*

LED Dimmer por Genius Arduino Programmer 2012 Controla o brilho de um LED no pino D9 com base na leitura de uma fotocélula no pino A0 Este código está no Domínio Público * / // nomeia pino analógico 0 um nome constante const int analogInPin = A0; // nomeia o pino digital 9 um nome constante const int LEDPin = 9; // variável para leitura de uma fotocélula int photocell; void setup () {Serial.begin (9600); } void loop () {// ler o analógico no pino e definir a leitura para a variável fotocélula photocell = analogRead (analogInPin); // imprime o valor da fotocélula no monitor serial Serial.print ("Photocell ="); Serial.println (fotocélula); // controla o pino do LED usando o valor lido pela fotocélula analogWrite (LEDPin, fotocélula); // pausa o código por 1/10 de segundo // 1 segundo = 1000 delay (100); }Para obter mais informações sobre a formulação de código, visite a página de fundamentos. Se precisar de ajuda com a linguagem do Arduino, a página da linguagem é o lugar para você.

Além disso, a página de esboço de exemplo é um ótimo lugar para começar a mexer no código. Não tenha medo de mudar as coisas e experimentar.

Etapa 13: escudos

Escudos
Escudos

Shields são placas adaptadoras de expansão que se conectam por cima do Arduino Uno e fornecem funções especiais.

Como o Arduino é um hardware aberto, qualquer pessoa que tiver a inclinação é livre para fazer um escudo Arduino para qualquer tarefa que deseje realizar. Por causa disso, há um número incontável de escudos Arduino na selva. Você pode encontrar uma lista cada vez maior de escudos Arduino no playground do Arduino. Lembre-se de que haverá mais escudo do que você encontrará listado nessa página (como sempre, o Google é seu amigo).

Para lhe dar uma pequena noção das capacidades dos escudos Arduino, confira estes tutoriais sobre como usar três escudos Arduino oficiais:

  • Escudo SD sem fio
  • Escudo Ethernet
  • Escudo do motor

Etapa 14: Construindo um Circuito Externo

Construindo um Circuito Externo
Construindo um Circuito Externo

Conforme seus projetos ficam mais complexos, você desejará construir seus próprios circuitos para interagir com o Arduino. Embora você não aprenda eletrônica durante a noite, a internet é um recurso inacreditável para conhecimento eletrônico e diagramas de circuitos.

Para começar com a eletrônica, visite o Basic Electronics Instructable.

Etapa 15: indo além

Indo além
Indo além

A partir daqui, só falta fazer alguns projetos. Existem inúmeros recursos e tutoriais incríveis do Arduino online.

Certifique-se de verificar a página oficial do Arduino e o fórum. As informações listadas aqui são inestimáveis e muito completas. Este é um ótimo recurso para depurar projetos.

Se você precisar de inspiração para alguns projetos divertidos para iniciantes, verifique o guia 20 Unbelievable Arduino Projects.

Para uma vasta lista ou projeto Arduino, o Arduino Channel é um ótimo lugar para começar.

É isso. Você esta por sua conta.

Boa sorte e feliz hacking!

Imagem
Imagem

Você achou isso útil, divertido ou interessante? Siga @madeineuphoria para ver meus projetos mais recentes.

Recomendado: