Primeiros passos com Arduino

Primeiros passos com Arduino 81

Neste post iremos apresentar os primeiros passos com arduino, ou seja, tudo o que é necessário para que você comece a desenvolver utilizando essa plataforma. Iremos mostrar o processo de instalação da IDE Arduino, materiais necessários, estrutura de um programa e programa exemplo pisca LED.

Circuito com Arduino

O que é Arduino

O Arduino é uma placa de desenvolvimento baseada em um microcontrolador Atmel AVR. Possui conectores de entrada e saída para controle de dispositivos e um circuito que facilita sua conexão com um computador via porta USB. Foi criada em 2005 por professores que desejavam fornecer aos alunos uma plataforma de fácil desenvolvimento e aprendizado de eletrônica e desenvolvimento de software.

Além da placa, existe todo um ecossistema em volta do Arduino como, software de programação e desenvolvimento(IDE), bibliotecas, tutoriais, fóruns, comunidade, hardwares adicionais, entre outros.

Se quiser saber mais sobre o que é Arduino e outros modelos de placa, acesse o post O que é Arduino?.

Materiais necessários

Para seguir com este tutorial e dar seus primeiros passos com arduino, você irá precisar dos seguintes componentes:

Caso você tenha apenas a placa Arduino poderá utilizar o LED já presente na placa.

Um pouco de teoria de eletrônica

É importante entender apenas um pequeno princípio básico na escolha do valor do resistor.

O Arduino funciona com 5V em suas saídas digitais. Ou seja, quando ligamos um pino temos 5V e quando desligamos temos 0V. Mas é importante notar que o LED funciona apenas com 2V. Se colocarmos 5V em um LED provavelmente ele irá queimar. Para isso fazemos uso do resistor, que tem a função de diminuir a tensão do LED e limitar a corrente.

Essas informações podemos extrair do datasheet do LED. Datasheet é basicamente um documento de um componente eletrônico que contém as informações necessárias de funcionamento do respectivo componente.

Analisando o datasheet de um LED 5mm vermelho, podemos ver que ele funciona com uma tensão de 2V e corrente de 20mA. Agora precisamos encontrar um valor de resistor que fará o circuito chegar próximo de 2V e 20mA. Uma maneira fácil é utilizar uma calculadora online ou utilizar a seguinte fórmula:

V = R x I (Tensão = Resistência x Corrente)

Onde V é a tensão da fonte(5V porta Arduino) menos tensão do LED(2V), resultando em 3V.

Assim teríamos:

3V = R x 0,02A

R = 3V / 0,02A

R = 150 ohm

Para não esquecer essa fórmula, lembre-se de que quem “vê, ri” (Dica de um professor meu do SENAI hehe).

Caso não tenha um resistor de 150 ohms a mão, pode utilizar qualquer outro valor até de 1K. O LED irá acender, mas talvez com um brilho mais forte ou fraco dependendo do valor de resistência.

Caso queira ir mais a fundo neste tema de eletrônica, estude sobre Lei de Ohm e circuitos elétricos.

Como funciona uma protoboard

Uma protoboard serve para prototipagem de circuitos eletrônicos. É de fácil utilização e segue o seguinte esquema de conexão interna:

Conexões protoboard

Nas seções A e D geralmente são conectados VCC e GND. As seções B e C são utilizadas para conexão dos componentes eletrônicos.

Primeiros passos com Arduino

Neste tutorial iremos fazer um LED piscar. Para isso precisamos do LED, de um resistor, protoboard e alguns jumpers macho/macho.

Montagem do circuito

É importante notar que o LED possui polaridade, ou seja, terminal positivo (Anodo) e negativo (Catodo). O terminal maior do LED é o positivo e o menor é o negativo. Ou veja também pelo chanfro, que é o lado negativo.

Polaridade LED

O circuito deve ficar da seguinte maneira na protoboard:

Circuito Pisca LED

Baixando e instalando a IDE Arduino

Uma IDE (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado) é um programa de computador que possui as ferramentas necessárias para desenvolvimento de software. Basicamente possui um editor de código fonte e compilador.

Com a IDE Arduino podemos dar os primeiros passos com arduino e desenvolver programas, instalar bibliotecas adicionais e realizar a compilação e gravação dos programas na placa.

Para fazer o download da IDE Arduino entre no site oficial do Arduino na seção Software -> Downloads e escolha sua versão de sistema operacional(Windows, Linux, MacOS).

Download Arduino

Download Arduino

Se quiser fazer uma doação para o software Arduino este é o momento. Se não, basta clicar em Just Download.

Download Arduino

Execute o arquivo instalador ‘.exe’ e siga as instruções de instalação.

Instalação IDE Arduino

Certifique-se de que todos os componentes na tela abaixo estejam selecionados.

Instalação IDE Arduino

Instalação IDE Arduino

Instalação IDE Arduino

Instalação IDE Arduino

Após a instalação, abra a IDE Arduino pelo atalho criado na sua área de trabalho.

Estrutura de um programa Arduino

Você não precisa ser um expert em linguagem C para programar com Arduino. Ao abrir a IDE Arduino você se depara com uma estrutura padrão de programa contendo as funções setup() e loop().

setup() – É nessa parte do programa que você configura as opções iniciais do seu programa: os valores iniciais de uma variável, se uma porta será utilizada como entrada ou saída, mensagens para o usuário, etc. Essa função irá executar apenas uma vez no início do programa.

loop() – Diferente da função setup(), essa parte do programa repete uma estrutura de comandos de forma contínua ou até que alguma comando de “parar” seja enviado ao Arduino.

Vamos ver exatamente como isso funciona, levando em consideração o programa abaixo, que acende e apaga o led embutido na placa Arduino em intervalos de 1 segundo:

//Programa : Pisca Led Arduino
//Autor : MakerHero

void setup()
{
  //Define a porta do led como saida
  pinMode(13, OUTPUT);
}

void loop()
{
  //Acende o led
  digitalWrite(13, HIGH);
  
  //Aguarda o intervalo especificado
  delay(1000);
  
  //Apaga o led
  digitalWrite(13, LOW);
  
  //Aguarda o intervalo especificado
  delay(1000);
}

Exemplo Pisca LED

Vimos acima um programa exemplo para piscar nosso LED, o famoso “Hello World” da eletrônica e um dos primeiros passos com arduino. O exemplo Blink LED.

A primeira coisa que fazemos no início do programa é colocar uma pequena observação sobre o nome do programa, sua função e quem o criou:

// Programa : Pisca Led Arduino
// Autor : MakerHero

Comece uma linha com barras duplas ( // ) e tudo o que vier depois dessa linha será tratado como um comentário. Uma das boas práticas de programação é documentar o seu código por meio das linhas de comentário. Com elas, você pode inserir observações sobre como determinada parte do programa funciona ou o que significa aquela variável xyz que você criou. Isso será útil não só para você, se precisar alterar o código depois de algum tempo, como também para outras pessoas que utilizarão o seu programa.

Após os comentários, vem a estrutura do setup(). É nela que definimos que o pino 13 do Arduino será utilizado como saída.

void setup()
{
  //Define a porta do led como saida
  pinMode(13, OUTPUT);
}

Por último, temos o loop(), que contém as instruções para acender e apagar o led, e também o intervalo entre essas ações:

void loop()
{
  //Acende o led
  digitalWrite(13, HIGH);
  
  //Aguarda o intervalo especificado
  delay(1000);
  
  //Apaga o led
  digitalWrite(13, LOW);
  
  //Aguarda o intervalo especificado
  delay(1000);
}

A linha do código contendo digitalWrite(13, HIGH) coloca a porta 13 em nível alto (HIGH, ou 1), acendendo o led embutido na placa. O comando delay(1000), especifica o intervalo, em milissegundos, no qual o programa fica parado antes de avançar para a próxima linha.

O comando digitalWrite(13, LOW), apaga o led, colocando a porta em nível baixo (LOW, ou 0), e depois ocorre uma nova parada no programa, e o processo é então reiniciado.

Quando o código estiver pronto para ser carregado na placa, conecte a placa Arduino no seu computador, entre no menu ferramentas, escolha o modelo da placa e a porta na qual a mesma está conectada:

Menus IDE Arduino

Menus IDE Arduino

Então clique no botão de compilação. Isso irá verificar se existe algum erro no código e gerar o arquivo de programa necessário para carregar na placa.

IDE Arduino

Se estiver tudo OK, clique no botão carregar. Isso irá gravar o programa na placa.

IDE Arduino

Caso não apareça nenhum erro, você deverá ver o LED piscando em um intervalo de 1 segundo.

Funcionamento exemplo pisca LED

É isso! Agora você já deu seus primeiros passos com Arduino! Não deixe de explorar nosso Blog. Já temos muitos projetos feitos com Arduino e toda semana temos novas dicas. Fique ligado!

Gostou? Ajude-nos a melhorar o Blog comentando abaixo sobre este tutorial. 

Faça seu comentário

Acesse sua conta e participe

81 Comentários

  1. Olá.

    Segui o passo a passo e consegui colocar pra funcionar. Não foi de primeira mas após inverter a posição do led, funcionou.

    Obrigado pelo tutorial!

  2. PESSOAL ESTOU TENTANDO FAZER O CONTROLE DO MOTOR PELO C.I L293D USANDO UMA STRING PARA CONTROLE DE SENTIDO DE ROTAÇÃO E CONTROLAR A VELOCIDADE DELE PELO SERIAL MONITOR POREM NÃO ESTA DANDO CERTO… ALGUEM PODERIA ME AJUDAR A CORRIGIR O CÓDIGO?? TRABALHO DE CURSO TÉCNICO

    String ctrl;

    void setup() {
    // PROJETO PARA CONTROLE DE VELOCIDADE E SENTIDO DE ROTAÇÃO 01 MOTOR DC COM C.I. (L293D)
    // HABLILTA O SERIAL MONITOR
    Serial.begin(9600);
    // CONFIGURAÇÃO DO SENTIDO DE ROTAÇÃO DO MOTOR
    pinMode(2, HIGH); // ATIVA A ENTRADA 02 DO C.I (L293D)
    // CONFIGURAÇÃO PORTA DE SAIDA
    pinMode(3, OUTPUT); // HABILITAR CONTROLE DE VELOCIDADE PWM CI (L293D)
    // CONFIGURAÇÃO DO CI (L293D)
    digitalWrite(4, HIGH); // ATIVA A ENTRADA 01 DO C.I. (L293D)
    // CONFIGURAÇÃO PORTA DE ENTRADA DIGITAL P/ BOTÃO (SENTIDO DE ROTAÇÃO)
    pinMode(5, INPUT);
    // LED DE INDICAÇÃO DO SENTIDO DE ROTAÇÃO
    pinMode(7, OUTPUT); // LED AMARELO (SENTIDO ANTI-HORÁRIO)
    }

    void loop() {

    int duty;
    int PWM;

    // CONFIGURAÇÃO DA VARIÁVEL:
    if (Serial.available()){
    ctrl = Serial.readString();

    int duty = Serial.parseInt();

    if (duty 100) {

    Serial.println(“VALORES DE 0 A 100”);
    }

    PWM = duty * 255 / 100;
    analogWrite(3, PWM);

    // CONDICIONAIS DAS VARIÁVEIS
    // SENTIDO DE ROTAÇÃO DO MOTOR A0
    if (ctrl == “R”){ // SE O BOTÃO ESTIVER PRECIONADO (SENTIDO ANTI-HORÁRIO)
    digitalWrite(2, HIGH); // ATIVA A ENTRADA 02 DO C.I (L293D)
    digitalWrite(4, LOW); // DESATIVA A ENTRADA 01 DO C.I (L293D)
    digitalWrite(7, HIGH); // ATIVA O LED AMARELO (SENTIDO ANTI-HÓRARIO)
    Serial.print(“”); // EXIBE NO SERIAL MONITOR A INDICAÇÃO DO SENTIDO DE ROTAÇÃO
    Serial.println(“SENTIDO HORARIO”); // EXIBE NO SERIAL MONITOR A INDICAÇÃO DO SENTIDO DE ROTAÇÃO
    delay(250);
    }
    }
    }

  3. Galera, como faço para controlar um motor digitando valores de 0% a 100% no serial monitor…qual comando usa? ou alguém já tenha um código parecido para enviar…

    1. Olá,

      Aqui tem um exemplo de uso: https://riptutorial.com/arduino/example/5360/control-a-dc-motor-through-the-serial-port-using-pwm

      Mas recebe direto valores entre 0 e 255, você pode utilizar a função map() para ajustar para receber de 0 a 100 e repassar para 0 a 255 que são os valores da função PWM.

      Abraços!
      Vinícius – Equipe MakerHero

      1. FIZ ESSE CODIGO POREM NÃO FUNCIONA POIS QUERO FAZER O SENTIDO DE ROTAÇÃO NA STRING E O CONTROLE DE VELOCIDADE POR SERIAL MONITOR DE 0-100% SERA QUE TEM COMO ME AJUDAR??? NENHUM LUGAR DA NET ACHEI COMO FAZ

        String ctrl;

        void setup() {
        // PROJETO PARA CONTROLE DE VELOCIDADE E SENTIDO DE ROTAÇÃO 01 MOTOR DC COM C.I. (L293D)
        // HABLILTA O SERIAL MONITOR
        Serial.begin(9600);
        // CONFIGURAÇÃO DO SENTIDO DE ROTAÇÃO DO MOTOR
        pinMode(2, HIGH); // ATIVA A ENTRADA 02 DO C.I (L293D)
        // CONFIGURAÇÃO PORTA DE SAIDA
        pinMode(3, OUTPUT); // HABILITAR CONTROLE DE VELOCIDADE PWM CI (L293D)
        // CONFIGURAÇÃO DO CI (L293D)
        digitalWrite(4, HIGH); // ATIVA A ENTRADA 01 DO C.I. (L293D)
        // LED DE INDICAÇÃO DO SENTIDO DE ROTAÇÃO
        pinMode(7, OUTPUT); // LED AMARELO (SENTIDO ANTI-HORÁRIO)
        }

        void loop() {

        // CONDICIONAIS DAS VARIÁVEIS
        // SENTIDO DE ROTAÇÃO DO MOTOR A0
        if (ctrl == “R”){ // SE O BOTÃO ESTIVER PRECIONADO (SENTIDO ANTI-HORÁRIO)
        digitalWrite(2, HIGH); // ATIVA A ENTRADA 02 DO C.I (L293D)
        digitalWrite(4, LOW); // DESATIVA A ENTRADA 01 DO C.I (L293D)
        digitalWrite(7, HIGH); // ATIVA O LED AMARELO (SENTIDO ANTI-HÓRARIO)
        Serial.print(“”); // EXIBE NO SERIAL MONITOR A INDICAÇÃO DO SENTIDO DE ROTAÇÃO
        Serial.println(“SENTIDO HORARIO”); // EXIBE NO SERIAL MONITOR A INDICAÇÃO DO SENTIDO DE ROTAÇÃO
        delay(250);
        }
        }

        1. Olá,

          Acredito que usando o L293D é mais fácil utilizar a biblioteca. Temos este post aqui com exemplo de funcionamento: https://www.makerhero.com/blog/motor-shield-l293d-motor-dc-arduino/
          Também temos este exemplo aqui de uso dele sem a biblioteca: https://www.makerhero.com/blog/video-motor-shield-l293d-sem-biblioteca/

          Abraços!
          Vinícius – Equipe MakerHero

  4. Olá, gostei do conteúdo. Parabéns.
    Tenho uma pergunta: Como faço pra carregar um programa no IDE? Qual arquivo devo abrir, estou com um programa com vários arquivos, tem alguns com extensão .uno dentre outros, tudo do mesmo projeto.

    Obrigado.

    1. Corrigindo extensão .ino

    2. Olá!

      Obrigado!

      Quanto a carregar o programa, você pode utilizar a opção Adicionar Arquivo no menu Sketch.
      Entretanto só pode haver um void setup() e um void loop(), os demais arquivos devem conter somente funções a serem chamadas.
      Todos os arquivos ficarão na mesma pasta do sketch principal ao serem adicionados.

      Também não necessariamente precisam ser todos arquivos .ino, também é possível trabalhar com arquivos .h, .c e .cpp.

      Abraços!
      Vinícius – Equipe MakerHero

      1. Obrigado! mas por exemplo como ficaria? teria que usar biblioteca do Servo??

  5. maravilha, obrigado pelas dicas

  6. muito bom o conteúdo , bem explicado. parabéns.

  7. Sempre gostei de fazer meus projetinhos, mas só agora descobri o arduino,estou começando,quero chegar la´sua aula e´muito boa,obrigado,bem claro e objetivo.

  8. Muito bom o conteúdo, gostei muito ,Parabéns!!!

    1. Alex,

      Que bom que curtiu!!

      Abraços!
      Diogo – Equipe MakerHero

  9. Muito obrigado por oportunizar o teu conhecimento a quem tem interresse em entrar nesse munto de programação. Continue compartilhando, pois tambem quero aprender!

    1. Ricardo,

      Então continua com a gente para aprender ainda mais!!

      Abraços!
      Diogo – Equipe MakerHero

  10. Boa tarde!
    Gostaria de tirar uma duvida contigo.
    Estou projetando um carregador de celulare e gostaria de fazê-lo, como um armario com várias gavetas (18); e gostaria de automatizar a abertura das portas, por biometria digital…com um único leitor digital um raspi e um arduino…com um programa capaz de memorizar o arquivo digital para abrir alguma porta disponível, após o fechamento trancar e reabrir reconhecendo a digital memorizada, logo depois descartando esse arquivo da memória…
    Seria possível, caso positivo, quais os equipamentos e modelos necessários? ??
    Serão, nesse prototipo,, 18 portas.
    Também sou aluno do Senai Dendezeiros em Salvador e curso o segundo semestre de Eletromecânica.
    Obrigado pela orientação.

    1. Alguém me ajude…

  11. boa noite estou precisando de ajuda. eu estou montando uma bobinadeira de transformador so que no esquema veio o codigo do arduino com um driver uln2003 e eu queria mudar para o driver a4988 e motor nema17 só que não sei como fazer isso. poderia me ajudar?

  12. Olá! Recebi o Kit agora em abril de 2020. No entanto veio a caixa completa com o cabo USB azul mas nao veio o CABO DE ALIMENTACAO PRETO, Dai eu pergunto ja montei o PROJETO 1 do PISCA mas nao posso liga-lo pois nao tenho o carregador. Caso eu ligue direto na USB do COmputador pode dar problema?

    1. Apolo,

      O Arduino é feito para ligar na USB do computador, afinal você precisa gravar o programa nele 🙂

      Abraços!
      Diogo – Equipe MakerHero

  13. Amei o conhecimento passado . e estou agora a ver aulas relacionadas.

  14. Saudações,

    Primeiramente, gostaria de parabenizar pela didática. Por outra, eu gostaria muito de aprender a programar e usar placas arduíno. Sempre achei isso super interessante, e depois de ler este post, me sinto mais motivado ainda. E é claro que já vou me inscrever no blog.
    Muito obrigado e um belíssimo trabalho.

  15. Não estou conseguindo carregar no computador.

    1. Isolda,

      Que erro ocorre?

      Abraços, e cuide-se com o COVID-19!
      Diogo – Equipe MakerHero

  16. Linda dissertação, tudo da dk certo… quando dá bug e tre o progama baixado e nnavegador e sistema operacional fico louco…, duas semanas tentando baixar nova IDE no Windows7 e só dá pau, já tinha várias IDE Arduino antes, versões diferentes. A útima que baixei foi a CREATE, começou beleza, funcionou, e compilou, agora deu um bug na tela da IDE e não consigo tirar, ficou mi úsculo o programa e quando do comando W+, aumeta até fora do desktop, mais obedece as setas e vejo várias escritas fora da área de digitação , ao lado , mas dentro desta IDE CREATO. Já tentei baixar ova mas vem acompanhada do bug. Não consigo baixar nenhuma outra versão de IDE Arrduino no sitio arduino.cc. Podem me ajudar…

  17. Muito bem explicado Geovanni, estou tentando iniciar este aprendizado, não sei programação, estou meio assombrado com isso, mais vc falou que não precisa saber programação, então vamos lá com calma pois já tenho 76 aninhos e deficiente físico. Quero saber como entrar em contato em seu site, na eletrônica eu mando bem sou formado a 58 anos.

    Antônio Gabriel Nunes Machado
  18. Conteúdo Top
    realmente legal estes primeiros passos

  19. Ola, eu tambem me chamo Giovanni tenho 14 anos e comecei a programar arduino esse ano, ja tenho muitos projetos feitos como, alarme, luz q liga sozinha, e automaçao do meu quarto, mas tenho uma duvida, programar arduino ira me ajudar no futuro???

    1. Giovanni,

      Como assim te ajudar no futuro? Depende do que você pretende ser no futuro 😀

      Abraços!
      Diogo – Equipe MakerHero

  20. Olá Giovanni Bauermeister, ótimo as informações dadas.
    Gostaria de estar fazendo algumas adaptações em casa e automatizar alguns pontos de elétrica, seria possível usar o Arduino?
    Agradeço.

    Claudio Pereira

    1. Claudio,

      É possível sim, continue conferindo nosso blog 😀

      Abraços!
      Diogo – Equipe MakerHero

  21. MEU BROTHER, NÃO FALTA NADA NESSE SITE, PARABÉNS MEU CONSAGRADO, CONTINUE ASSIM QUE VAIS LONGE!!! VOU COLAR NA TUA PARA PASSAR DE ANO, POSSO SENTAR-ME AO SEU LADO NO LANCHE, MEU CAMPEÃO, SE QUISER, FAÇO AQUELA FAXINA TAMBÉM, UM ABRAÇO E BEIJUNDA

    1. Gabriel,

      Hahahaa! Que bom que curte nosso conteúdo! Tô pensando em aceitar a faxina haha! Brincadeirinha 😛

      Abraços!
      Diogo – Equipe MakerHero

  22. Olá

    Sou praticante de Airsoft e gostaria de utilizar arduino para a criação de uma “bomba” fake, já vi centenas por ai, vcs tem algum tutorial que ajude nesse projeto. Lembrando que se trata de uma bomba FAKE para a pratica de airsoft, sou totalmente leigo em programação e gostaria muito de aprender para criar nossos próprios jogos.

    O artigo básico e fantástico e faz pessoas leigas como eu ter um intendimento e de fato sentir se capaz de iniciar nesse mundo, meus parabéns !!!

    1. Olá, Bruno!

      Ficamos extremamente feliz de que esteja sendo útil! Vou te mandar um link com um projeto em que todos os componentes você encontra com a gente: https://www.instructables.com/id/Arduino-defuseable-bomb-perfect-for-airsoft-games-/

      Abraços!
      Diogo – Equipe MakerHero

  23. Olá, é possivel conectar um controle de ps3 em arduino para controlar algo? do que precisa?
    sou novo em arduino e to tendo várias ideias sobre muitas coisas.

    1. Jocelino,

      Segue um link com algumas instruções sobre isso! 🙂
      https://github.com/felis/USB_Host_Shield_2.0#ps3-library

      Abraços!
      Diogo – Equipe MakerHero

  24. ESTOU MONTANDO UMA PROGRAMAÇÃO DE UMA ESTUFA COM ARDUÍNO UNO, MAS NÃO CONSIGO RODAR MINHA PROGRAMAÇÃO VOCÊ PODERIA MIM ORIENTA ONDE ESTA O ERRO
    ESTOU USANDO RELE 4 MODULOS
    DHT 11
    SENSOR DE SOLO
    BOMBA DE AQUÁRIO
    LCD 16X2

    #include /// inclui a funcionabilidade do circuito da biblioteca Wire.h

    #include //inclui a biblioteca DHT.h para o sensor DHT11
    #include
    #include // inclui a biblioteca para visualizacão em lcd 16×2
    #include
    #include
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    #define DHTPIN 2 /// a que o pino digitalesta conectado
    #define DHTTYPE DHT11 // define DHT11 como um tipo de sensor que é
    DHT dht (DHTPIN, DHTTYPE);/// inicializa o sensor DHT11
    byte degree [8] = /// cria um caractere (‘) antes da sua unidade de temperatura (“C”)
    {
    0b00011,
    0b00011,
    0b00000,
    0b00000,
    0b00000,
    0b00000,
    0b00000,
    0b00000,
    }
    LiquidCrystal lcd (12, 11, 5, 4, 3, 2); /// indica a quais pinos o LCD esta conectado

    int int_Pin0 = 3; // define a interrupção Pin_0 para o Pin_3 do Arduino
    int PumpOFFflag = 0; // define o valor da interrupção que liga e desliga a função da bomba
    unsigned long Timer_Off_Lights (“longo não assinado”) = 150000; /// mudou pump para lights
    unsigned long time_Pre = 0, time_new = 0, time_diff = 0, // configura parâmetros de valores matematicos para as luzes
    unsigned long time_Lightson = 0,
    time_diff_Lightson = 0; // indica valores matematicos para quanto as luzes acedem e apagam
    #define Relay1 //Relay 10 // Relay.1 10 conectado ao pino 10
    #define Relay2 //Relay 9 // Relay.2 9 conectado ao pino 9
    #define Relay3 //Relay 8 // Relay.3 8 conectado ao pino 8
    #define Relay4 //Relay 7 // Relay.4 7 conectado ao pino 7
    ///////////////////////////////////////////////////////////////////////////////////
    //Iniciando a programação

    //// incluir bibliotecas necessarias para a funcionabilidade do codigo define os parametros do sistema
    void setup() {
    // //Define o número de colunas e linhas do LCD
    lcd.begin(16, 2);
    lcd.createChar (1 grau);
    lcd.clear ();
    lcd.setCursor (0, 0);
    lcd.print (“Temp Humidity”);
    lcd.setCursor (0, 1);
    lcd.print (“C”);
    lcd.setCursor (9, 1);
    lcd.print (“H”);
    lcd.setCursor (0, 3);
    lcd.print (“fan”);
    dht.begin (); // Inicializar pinos para que os reles estejam deslifado na redefinição

    digitalWrite (Relay1 HIGH);
    digitalWrite (Relay2 HIGH);
    digitalWrite (Relay3 HIGH);
    digitalWrite (Relay4 HIGH);
    delay (1000);/// Inicializar od pinos do Arduino para OUTPUT e INPUT
    pinMode (Relay1, OUTPUT);
    pinMode (Relay2, OUTPUT);
    pinMode (Relay3, OUTPUT);
    pinMode (Relay4, OUTPUT);
    pinMode (13, SAÍDA);/// Declarado pin13 como saída para usar luz LED para testa partes do circuito individualmente
    pinMode (int_pin0, INPUT);
    attachInterrupt (digitalPinToInterrupt (int_pin0), StopPumps, RISING); //aumentar delay (1000);
    }
    /////*** funcionamento paralelo****
    void StopPumps()
    {
    digitalWrite (Relay1, LOW);// Informa à interrupção que a bomba de água deve estar desligada (quando os parâmetros forem atendidos)
    digitalWrite (Relay2, LOW);//Informa a interupção que o ventilado deve estar deligado (quando os parametros forem atendids)
    digitalWrite (13, HIGH);// foi usado para teta a funcinabilidade das interrupções com luzes led no protoboard
    digitalWrite (13, LOW);// foi usado para testar a funcinabilidade das interrupções com luzes led no protoboard
    }
    void loop ()
    {
    time_new = millis ();// declara o tempo em milisegundos
    time_diff = time_new – time_pre;//parametro matematico para medir o tempo da função do luzes
    Serial.print (“time_diff =”);// indica o que deve ser impresso no monitor serial
    Serial.println (time_diff); // imprimi as açoes do cicuito
    if (time_diff < Time_off_Lights);// se, time_diff no tempo medido e menor que Time_off_lights (15 segundos) as funcoues abaixo estão ativas
    digitalWrite (Relay4, LOW);// di ao relé para ligar as luzes
    }
    else
    {
    time_pre = time_new;
    PumpOFFflag = digitalRead (int_pin0);
    }
    if (PumpOFFflag == 0);
    {
    digitalWrite (Relay1, LOW);
    digitalWrite (Relay2, LOW);
    }

    int H = DHT.readHumidity()// define H para ler a umidadde como %
    int C = DHT.readTemperature();// define C read tempeature as Celsius

    if (C = 26);
    {
    lcd.setCursor (0,3);
    digitalWrite(Relay2, HIGH);
    lcd.print(“ON”);
    delay(100000);
    }

    1. Iago,

      Aconselho levar o seu problema para o nosso fórum, lá é mias fácil de prestar ajuda 🙂

      Abraços!
      Diogo – Equipe MakerHero

  25. Muito bom o comentário! Pois também é explicativo e nos ajuda a configurar de maneira prática e rápida.

    1. Obrigado, Hilton Alvez! Que bom que você curtiu 😀

      Abraços!
      Diogo – Equipe MakerHero

  26. Por que quando ligo no circuito o lado “negativo” fica no pino “GND” do arduino? nao deveria ser o contrario?

    1. Olá Pedro,

      Não é o contrário. O correto é como está descrito no post: negativo do LED ligado no GND.
      O Arduino fornece energia, enquanto que o circuito consome. Na parte em que o circuito fornece energia, a corrente flui do negativo para o positivo. Já na parte que consome energia, a corrente flui do positivo para o negativo.
      Fez sentido para você?

      Abraço!
      Rosana – Equipe MakerHero

  27. Olá boa noite, estou precisando fazer algumas alterações no meu projeto, um amigo meu que fez, eu não tenho muita noção nesses tipos de programação ainda, se possível entrar em contato via WhatsApp 966258557 ficarei no aguardo obrigado.

  28. MT bom. Venho tentando aprender esse tipo de programação. Tenho 42 anos e estou me formando em engenharia mecânica.

    1. Olá,

      Que legal Hélio! Boa sorte nos estudos 😀

      Abraço!
      Rosana – Equipe MakerHero

  29. Muito boa a aula ou explicação sou novo nessa área e estou montando um Tanque de guerra e tenho um Arduino uno e gostaria de saber como.o consigo fazer um controle de aeromodelo seis canais de comunicar com arduino e mover dois motores de de 12 v utilizando a ponte h parar acionar as correntes individualmente vcs pode me ajudar .

  30. Como aprender a mexer no arduino.

    LINDBERGSON GOMES GUIMARÃES
    1. Olá,

      Você já possui no Kit Maker Arduino Iniciante? Com ele você vai aprender muita coisa sobre o Arduino.
      Dá uma olhadinha na nossa loja: https://www.makerhero.com/produto/kit-maker-arduino-iniciante/

      Abraço!
      Rosana – Equipe MakerHero

  31. Puxa, muito bom, estou com o kit do arduino mas só consegui até agora ligar ele no pc e ver o led da própria placa piscar, pois tenho um certo receio de mexer com a eletrônica do arduino, sei-lá, dá um “medo” de mexer com a eletrônica no circuito e fazer uma bobagem e acabar queimando o circuito…..
    Mas quero muito aprender a programar o arduino

    1. Olá,

      Existem vários tutorias sobre Arduino no nosso blog. Seguindo eles direitinho, não haverá problemas!

      Abraço!
      Rosana – Equipe MakerHero

  32. Olá Geovanni, suas explicações são muito boas!
    Eu tenho um Arduíno UNO e queria fazer o seguinte com ele:
    Colocar um sensor de temperatura e ler a temperatura no LCD.
    Você poderia me ajudar com as ligações e comandos???
    Desde já, agradeço!

    1. Olá André,

      Acredito que esse tutorial pode te ajudar:
      https://www.makerhero.com/blog/mostrando-informacoes-de-temperatura-no-lcd-16×2-com-o-sensor-dht11/
      Boa sorte em seu projeto!

      Abraço!
      Rosana – Equipe MakerHero

  33. parabens, uma didatica maravilhosa, estou em duvidas onde comprar meu kit do arduino uno…vou dar um passeio até a sta.efigenia que fica proximo da minha casa….forte abraço.

    1. Olá Pedro,

      Você pelo comprar Kit Maker Arduino através da nossa loja: https://www.makerhero.com/produto/kit-maker-arduino-iniciante/

      Abraço!
      Rosana – Equipe MakerHero

  34. Olá Luciano!

    Acredito que não. Ele está feito para o ATmega que já possui um firmware próprio para receber esse programa.

    Abraços!

    André – Equipe MakerHero

  35. Bom dia.

    Uma vez feito o programa, tem como eu pegar esse programa e gravar em outro pic? Ou seja, gravar em vários pic pelo arduino?

  36. li as resposta valeu

  37. sou leigo e estou programando meu primeiro arduino uno não consegui sempre da um erro mas vou continuar até conseguir

  38. Gostaria de iniciar um trabalho para fazer uma bomba de piscina trabalhar, porem que eu possa controlar sua vazão através de um potenciometro como se estivesse usando um inversor e controlar a frequencia.
    grato.

    1. Olá José!

      Para o motor da piscina você ainda vai precisar de um inversor.

      Abraços!

      André – Equipe MakerHero

  39. Bom dia Giovanni,

    Preciso sua ajuda para me ensinar sobre como funciona a placa Arduino é
    para comandar os 4 MOSFETs do meu doutoramento, de um conversor em
    ponte completa, veja email abaixo do meu orientador e para ir buscar
    sinais das 2 correntes de entrada do conversor através de 2 sensores
    de corrente com o máximo de 4 A/cada um, que vão dar informação ao
    ARDUINO.
    ——————————————————————————————————————

    Tem mesmo que comprar? Não consegue fazer a parte experimental de outro modo?

    Se acha que é a melhor solução, por mim tudo bem.

    ————————————————————————————————————-

    Acho que é uma solução não cara Giovanni esta placa Arduino
    ATMega2560, respondendo ao meu orientador e se voçe tiver programas
    para programar o Arduino sobre como fazer o comando destes 4 Mosfets
    lhe agradecia imenso.
    E como se liga os sinais da placa do circuito de potência à placa do
    Arduino? acho que são jumpers?

    Sabe estou aqui sózinho no meu doutoramento.

    Se tiver a parte de circuito de potência alguma coisa lhe agradeço imenso.

    Meu email é:
    [email protected] e o meu CEL é: 00351967808636

    Bem bom trabalho para si hoje
    O seu colega José Armando
    Lisboa, 20.3.2019

    José Armando do Carmo Santos
  40. Olá estou com o seguinte erro, poderia me ajudar?
    O sketch usa 930 bytes (2%) de espaço de armazenamento para programas. O máximo são 32256 bytes.
    Variáveis globais usam 9 bytes (0%) de memória dinâmica, deixando 2039 bytes para variáveis locais. O máximo são 2048 bytes.

    1. Olá Wellington!

      Isso não é erro. É uma mensagem normal que sempre aparece para indicar o tamanho do seu programa.

      Abraço!

  41. olá amigo estou precisando de uma programação para arduino vc poderia fazer um conhece alguem que possa fazer a programação o e-mail: [email protected]

    1. Olá Robson!

      Infelizmente não desenvolvemos programação customizada para clientes.

  42. Bom Dia Pessoal, eu estou querendo fazer um leitor de amperagem e utilizando essa leitura quero que o arduino de alguns comandos quando o leitor atingir certa amperagem mais sou novato e estou tendo dificuldade algum de vocês pode me ajudar?

    1. Olá Janiedson!

      Sugiro você começar seu projeto por esse post:https://www.makerhero.com/blog/medidor-de-corrente-e-tensao-100a-com-display/

      Você já deu uma olhadinha no nosso fórum? Pode ser interessante tirar eventuais dúvidas por lá https://www.makerhero.com/forum/

      Abraços!

      André Rocha – Equipe MakerHero

  43. Seu exemplo ficou mais claro que as de outras,mas entender o básico me ajudou muito e gostei

    1. Olá Vagner!

      Obrigado pela leitura. Temos muitos outros exemplos sobre Arduino em nosso Blog.

      Qualquer dúvida que tiver pode perguntar aqui ou no fórum também.

      Abraço!

  44. muito obrigado gostei muito do curso

    1. Olá victor!

      Que bom que você gostou. 😀

      Temos muita coisa no nosso blog, fique à vontade para estudar mais e deixar perguntas sempre que precisar.

      Abraços!

       

       

      1. olá amigo estou precisando de uma programação para arduino vc poderia fazer um conhece alguem que possa fazer a programação

  45. Eu estou montando um carrinho 4×4 com arduino uno e drive ld293 com acionamento bluetooth com o aplicativo Bluetooth RC Controller gostaria de saber como fazer o código pois não tem nenhum exemplo na internet com esta placa e este aplicativo.

    1. Olá luiz!

      O app que vocẽ está usando é esse? https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller&hl=en

      Se for, na descrição do aplicativo tem um link para um tutorial completo de como montar o carrinho incluindo código de Arduino.

      https://sites.google.com/site/bluetoothrccar/home/3BluetoothModulesAndArduinoCode

      Se não for o mesmo app de qualquer maneira já dá pra ter uma base.

  46. Gostaria muito de iniciar nesse mundo, quero mostrar para meus filhos que podemos fazer muitas coisas legais com Raspberry e Arduíno, por onde devo começar meu nobre?

    1. Olá Junior!

      Que legal! Seus filhos irão gostar com certeza!

      Bom, eu diria começar com o exemplo mostrado aqui mesmo nesse post. Mostramos os primeiros passos com Arduino, mostrando os primeiros materiais necessários que vocẽ precisa ter e o software necessário para desenvolvimento.

      Depois navegue pelo nosso Blog. Temos vários tutoriais e ideias de projetos que você pode seguir e montar em casa.

      Se surgir qualquer dúvida temos nosso fórum. Lá o pessoal costuma se ajudar e também trocar ideias.

      Leia muito e pesquise muito no Google por ideias e tutoriais. Eu particularmente aprendo muito dessa forma. Também não pode deixar de colocar a mão na massa.

      Qualquer dúvida conte conosco!

      Abraço e bons projetos!

    2. cara também estou iniciando, tenho 14 anos e sempre fui apaixonado por robótica, acho legal voce fazer um projeto com eles, um exemplo pode ser uma ortinha num lugar vazio da casa de voces, dai com arduinos fazer um sistema de rega automática, ou fazerem um sistema com arduino para acender as luzes ou tocar musicas a ´partir de comandos de voz ou com sensores de movimento