Conectando a Intel Galileo Gen2 na rede local

Olá a todos,
nesse post demonstraremos como podemos conectar a placa Intel Galileo na nossa rede local, permitindo a conexão da placa com outros computadores (incluindo o que você está utilizand agora) além de outros dispositivos que estejam expostos na sua rede local.

Com o IDE funcionando poderemos conectar nossa placa na rede e acessar seu terminal Linux remotamente. Para essa atividade você precisará de:

  • Um cartão micro SD de pelo menos 4GB e no máximo 32GB;
  • Programa Putty;
  • Programa 7ZIP instalado em seu computador;
  • Programa Win32 Disk Imager instalado em seu computador;
  • Um cabo de rede;
  • Um roteador;
  • Que o computador esteja conectado a esse roteador, seja por um cabo ou por Wifi.

O primeiro passo é instalar os programas 7ZIP e Win32 Disk Imager caso seu computador ainda não os possua. Em seguida baixe o arquivo com a imagem do Yocto (distribuição Linux para o Intel Galileo) do site da Intel no endereço http://iotdk.intel.com/images/iot-devkit-latest-mmcblkp0.direct.bz2. Utilize o 7ZIP para extrair o conteúdo do arquivo.

Antes de iniciar a gravação da imagem será necessário formatar o cartão micro SD. Concluída a formatação inicie o Win32 Disk Imager e clique no botão com a pasta azul para selecionar o arquivo com a imagem que extraímos do arquivo bz2. Note que você precisará alterar o filtro de arquivos para o arquivo com a imagem aparecer.

Tela do Win32 Disk Imager
Tela do Win32 Disk Imager

Em seguida selecione a unidade de disco que corresponde ao cartão micro SD na lista que está ao lado do botão com a pasta azul e clique no botão Write. Será iniciada a montagem da imagem no cartão. Aguarde o término do processo.

Com a imagem gravada no cartão desligue sua placa Intel Galileo Gen2 do computador e da energia e insira o cartão no slot. Em seguida conecte a placa na fonte de alimentação, no computador com o cabo USB e no cabo de rede que está conectado no roteador, nessa sequência.

Agora abra o IDE e carregue na placa o programa mostrado na imagem abaixo. Esse programa realiza duas ações:

  1. Inicializa a porta serial e escreve um texto até que você envie o caractere “a” para a placa;
  2. Executa comandos do sistema operacional Linux que inicia a placa de rede local e mostra o status das conexões de rede, além de exibir os resultados no monitor serial. Nesses resultados teremos o endereço IP da placa.
Código para iniciar a rede na Intel Galileo.
Código para iniciar a rede na Intel Galileo.

Compile e transfira o programa clicando no botão com a seta para a direita. Em seguida abra o monitor serial e envie o caractere ‘a’ para que sejam exibidos os dados das conexões de redes. Localize na resposta o endereço IP que o roteador atribuiu à placa e anote esse valor.

Mostrando o endereço IP da placa
Mostrando o endereço IP da placa

Para conectar no terminal do Yocto devemos utilizar um programa que realiza conexões do tipo SSH. Um desses programas é o putty. Insira o endereço IP da placa e clique no botão Open.

Será aberta uma janela terminal do Yocto solicitando um login. O login inicial da placa é o root. Portanto digite root e pressione a tecla enter. Na primeira conexão aparecerá uma mensagem perguntando se você deseja armazenar as chaves de acesso dessa conexão. Clique em Yes.

Será aberta uma sessão do terminal do Yocto. Execute alguns comandos Linux para explorar o ambiente.

Onde encontrar:

Obrigado a todos e até o próximo post!

Controlando motores DC com o Arduino

Olá a todos,

nesse post aprenderemos como utilizar motores DC em nossos projeto com Arduino. Os motores DC são utilizamos em robôs ou brinquedos de radiocontrole para movimentá-los. Porém esses motores consomem mais potência do que os pinos de controle do Arduino podem fornecer e por esse motivo não podemos conectar os motores diretamente nos pinos digitais do Arduino.

Para contornar esse problema utilizamos drivers de potência que são circuitos que permitem que um sinal de baixa potência controle o fluxo de energia de uma fonte de alta potência. Podemos construir esse tipo de circuito com o uso de transistores, mas existem circuitos integrados (CIs) que já possuem esses circuitos montados.

No nosso circuito utilizaremos um CI chamado L239D que é um circuito driver de potencia chamado de ponte H. Esse tipo de circuito permite controlarmos um motor DC nos dois sentidos (horário e anti-horário). A velocidade do motor poderá ser controlada pelo uso da técnica de PWM onde a velocidade do motor será proporcional a largura do pulso.

O CI L239D possui dois circuitos ponte H que suportam até 36V e 1A, portanto é possível controlarmos dois motores DC com até essa potência com apenas um L239D. Os pinos do L239D devem ser contados como na figura abaixo:

Pinagem do CI L293D
Pinagem do CI L293D

O primeiro passo é conectarmos os terminais 4, 5, 12 e 13 do L293D no terra (GND) do Arduino e em seguida os terminais 1, 8, 9 e 16 também do L293D no pino 5V do Arduino. Agora conecte os terminais 2 e 7 do CI nos pinos do Arduino que controlarão o giro do motor (horário e anti-horário). Para finalizar conecte os pinos do motor nos terminais 3 e 6 do L293D.

Circuito montado
Circuito montado

Abaixo temos o esquema elétrico e o desenho elaborado no simulador:

Diagrama do circuito
Diagrama do circuito
Modelo do circuito
Modelo do circuito

Passaremos agora para o código que controlará o motor DC.

O primeiro passo é declarar as constantes que indicarão os pinos do Arduino que controlarão o motor. Na sequência configure esses pinos como saída, com a função pinMode utilizando a constante OUTPUT. Deixe o motor parado deixando os dois pinos em estado LOW. Encerre a inicialização do programa configurando a porta serial:

Início do Programa
Início do Programa

Passaremos para o desenvolvimento da função loop, que fará a leitura da porta serial e controlará a rotação do motor DC. O primeiro passo é verificar com o método available se há caracteres para serem lidos da porta serial. Caso não exista caracteres na porta serial o programa deve aguardar 300 milissegundos e encerrar essa execução da função loop com o comando return.

Existindo caracteres para serem lidos, deveremos utilizar o método read para obtê-los. Caso tenha sido enviado o caractere A, deixaremos um dos pinos em estado LOW, e no outro pino utilizaremos o PWM com valor 128 para o motor girar em um sentido. Quando for enviado o caractere L faremos ação contrária e o motor girará no outro sentido. Ao enviarmos o caractere de espaço em branco deixaremos os dois pinos com valor LOW para parar o motor.

Código da função loop
Código da função loop

Compile o código, transfira o programa e acesse o monitor serial. Envie um caractere A ou L para fazer o motor girar em um sentido. Envie o caractere espaço para fazer o motor parar. Se desejar altere o valor do PWM de 128 para outro valor para alterar a velocidade do motor.

Onde encontrar alguns dos componentes:

Obrigado pela atenção e até o próximo post!

Controlando servo motores com o Arduino

Olá a todos,

neste post aprenderemos utilizar servos motores em nossos projetos. Servos motores são dispositivos que permitem controlarmos com precisão a posição do seu eixo. A posição do eixo de um servo é controlada com o uso do PWM, onde a largura do pulso HIGH informa a posição do servo. Existem servos que permitem a rotação de 90°, 180°e até 360°de seu eixo. Servos são muito utilizados em robôs e brinquedos de radio controle, como carrinhos e drones.

Controlaremos a posição do servo enviando comandos pela porta serial, assim quando enviarmos o caractere A o servido deslocará o eixo um grau no sentido anti-horário e ao enviarmos o caractere S o servo deslocará o eixo um grau no sentido horário.

Ao contrário dos post apresentados até o momento não será necessário a montagem de um circuito na protoboard, pois o servo utilizado nesse exemplo possui um conector que se encaixa no cabo macho-macho. Simplesmente conecte o fio do terra do servo em um pino terra (GND) do Arduino, o fio do VCC do servo no pino 5V do Arduino e o fio que sobrará em um pino digital do Arduino que suporte o uso de PMW.

Servo motor montado no Arduino
Servo motor montado no Arduino

Abaixo temos o esquema elétrico e o desenho elaborado no simulador:

Diagrama da montagem do Servo no Arduino
Diagrama da montagem do Servo no Arduino
Modelo da montagem do servo no Arduino
Modelo da montagem do servo no Arduino

Passaremos agora para o desenvolvimento do programa que controlará o servo. O primeiro passo é utilizarmos o comando #include para incluirmos a biblioteca Servo.h que possui o objeto e métodos para trabalharmos com servo motores. Essa biblioteca disponibiliza métodos mais simples para trabalhar com os servos, como o método write que recebe o grau que queremos o eixo do servo seja movido ao invés do comprimento do pulso.

Em seguida declare um objeto do tipo Servo para controlarmos o servo e uma variável do tipo inteiro para armazenar o ângulo que o eixo estará. Em seguida escreva na função setup a inicialização do objeto Servo com o método attach. Esse método recebe o pino que o servo está conectado. Os valores de comprimento mínimo e máximo do pulso devem ser obtidos na documentação do servo. Inicie também na função setup a porta serial.

Início do código para controlar o servo
Início do código para controlar o servo

Na função loop verifique se há caracteres para serem lidos na porta serial. Caso não exista caracteres para serem lidos o programa aguardará 300 milissegundos e terminará esse execução da função loop com o comando return.

Existindo caracteres na porta serial, estes deverão ser lidos. Quando o caractere enviado for A a variável com os graus da posição do eixo será incrementada em uma unidade e quando for enviado o caractere S essa variável será decrementada em uma unidade. Após o cálculo da nova posição ela será enviada e o eixo do servo será movimentado. Por fim a função aguarda 300 milissegundos para verificar novamente a porta serial.

Onde encontrar alguns dos componentes:

Obrigado pela atenção e até o próximo post!

Medindo a intensidade de luz

Olá a todos,

nesse post demonstraremos como podemos medir a intensidade de luz com o LDR que é um componente elétrico simples. Dessa forma poderemos disparar ações em nossos projetos a partir da variação de luz do ambiente ou de onde o sensor esteja localizado.

Primeiro monte o circuito colocando o LDR na protoboard e em seguida conecte um de seus terminais no pino 5V do Arduino. Conecte o outro terminal do LDR em um terminal de um resistor e em um pino analógico do Arduino. Finalmente conecte o outro terminal do resistor ao terra (GND). A imagem abaixo mostra o circuito montado:

Circuito utilizado no post
Circuito utilizado no post

Abaixo temos o esquema elétrico e o desenho elaborado no simulador:

Diagrama com o LDR
Diagrama com o LDR
Modelo do circuito utilizado no post
Modelo do circuito utilizado no post

Passaremos para o desenvolvimento do código desse post. Primeiro declare a variável que indica qual pino do Arduino está conectado ao LDR e em seguida configure a porta serial:

Início do código
Início do código

Na função loop faça a leitura do pino analógico em que o LDR está conectado e envie esse valor para a porta serial:

Código para leitura do LDR
Código para leitura do LDR

Compile e transfira o programa para o Arduino. Em seguida acesse o monitor serial e veja o valor da medida do LDR. Varie a luz do ambiente abrindo as cortinas da janela ou ligando/desligando a luz do local e veja o valor variar.

Onde encontrar alguns dos componentes:

Obrigado pela atenção e até o próximo post!

Utilizando o buzzer para emitir sons

Olá a todos,

nesse post demonstraremos como podemos emitir sons de diversas frequências utilizando o buzzer. Podemos utilizar sons em nossos projetos para indicar que algo está errado e deve ser verificado, que alguma ação teve inicio ou foi encerrada e o que mais nova imaginação criar.

Esse componente envia um sinal sonoro quando circula corrente por ele. Portanto podemos variar a frequência do som do buzzer variando o tempo que o pino fica no estado HIGH e no estado LOW.

Retire a etiqueta do buzzer, confira a polaridade dos terminais (terminal positivo e negativo) e coloque-o na protoboard. Em seguida coloque um resistor no terminal negativo e ligue esse resistor ao terra da placa e conecte o terminal positivo do buzzer a um pino digital do Arduino. A figura abaixo mostra o circuito montado:

Circuito utilizado no post
Circuito utilizado no post

Abaixo temos o esquema elétrico e o desenho elaborado no simulador:

Diagrama do circuito
Diagrama do circuito
Modelo do circuito do post
Modelo do circuito do post

Passaremos agora para o código do bloco. Declare uma constante para indicar em qual pino o buzzer está conectado e uma variável com escopo global para armazenar o valor da frequência emitida pelo buzzer. Em seguida configure o pino como um pino de saída na função setup e deixe esse pino com estado LOW como mostrado abaixo:

Código inicial
Código inicial

Na função loop escreva o código para alterar o valor do pino para HIGH e aguardar o tempo da frequência do som. Em seguida altere o valor do pino para LOW e aguarde novamente o tempo:

Código para emitir o som
Código para emitir o som

Com o código pronto compile e transfira o programa clicando no botão com a seta para a direita e escute o buzzer emitir o som. Altere o valor da variável frequencia e carregue o programa novamente e perceba que a frequência do som variou. Você pode alterar o programa para a frequência do som variar a cada execução da função loop.

Onde encontrar alguns dos componentes:

Obrigado pela atenção e até o próximo post!

 

Utilizando a função PWM dos pinos digitais do Arduino

Olá a todos,

nesse post demonstraremos como utilizar a funcionalidade de PWM presente em algum dos pinos digitais do Arduino. Note que não existe na linguagem de programação do Arduino uma função para escrevermos valores nos pinos analógicos. Conseguimos um efeito semelhante  através de uma técnica chamada PWM (pulse modulation width – modulação de comprimento de pulso).

Essa técnica consiste em criar pulsos em um pino digital que durem um determinado período de tempo. Em diversos circuitos a proporção de tempo em que o pino digital possui o estado LOW ou HIGH funciona como um sinal analógico. Utilizamos essa técnica para controlar a velocidade de motores ou a posição de um servo motor, por exemplo.

Ao contrário dos pinos analógicos, os pinos digitais de PWM possuem resolução de 256 níveis. Portanto o valor 0 significa que o pino ficará sempre em LOW, como um pino desligado. A medida que aumentamos o valor que passamos para a função aumentamos a quantidade de tempo que o pino ficará em HIGH, resultando no efeito de maior tensão no circuito e maior intensidade de luz do LED.

Para demonstrar o uso da técnica de PWM vamos variar a intensidade da luz de um led, mas dessa vez utilizaremos o led de alto brilho. Monte o circuito semelhante ao post Utilizando pinos digitais do Arduino para enviar sinais, porém tome cuidado para conectar o led em um pino digital que possua uma barra ao lado do seu nome. Essa barra indica que o pino possui a função PWM.

Circuito com led de alto brilho.
Circuito com led de alto brilho.

Abaixo temos o esquema elétrico e o desenho elaborado no simulador:

Esquema elétrico do projeto
Esquema elétrico do projeto
Modelo do circuito do projeto
Modelo do circuito do projeto

O primeiro passo no desenvolvimento do programa é a declaração da constante que indica em qual pino o resistor está ligado. Em seguida configure o pino para que ele envie sinais, utilizando a função pinMode.

Código inicial
Código inicial

O último passo é escrever a função loop para variar a intensidade de luz do led através da quantidade de tempo que o pino fica no estado HIGH. Controlamos essa quantidade de tempo pela função analogWrite que recebe como parâmetros o número do pino e o valor proporcional ao tempo que a pino ficará em HIGH.

Código função loop
Código função loop

Para variar o valor que passamos para a função digitalWrite utilizamos um laço do tipo for. Essa instrução incrementa ou decrementa o valor de uma variável automaticamente e executa um código passando esse valor até que um valor limite seja atingido. Nesse ponto é encerrada a execução desse trecho de código. Note que utilizamos duas vezes essa instrução: uma para acender o led e outra para apagá-lo.

Ligue o a placa na energia e em seguida no computador com o cabo USB. Execute o programa e veja a intensidade do led variar.

Onde encontrar alguns dos componentes:

Obrigado pela atenção e até o próximo post!

Utilizando os pinos digitais do Arduino para ler sinais

Olá a todos,

nesse post descreveremos como realizar a leitura de sinais nos pinos digitais do Arduino. Como os pinos são digitais conseguiremos apenas ler sinais do tipo ligado/desligado. Sinais do tipo analógico devem ser lidos pelos pinos analógicos  do Arduino que veremos em outro post.

No exemplo desse post faremos o Arduino ler o valor de um botão identificando quando o mesmo está ou não pressionado. Porém esse código pode ser utilizado para fazer a leitura de outros componentes do circuito ou sensores dos nossos projetos.

O primeiro passo é a montagem do circuito: Coloque um botão na protoboard e ligue um de seus terminais ao pino 5V do Arduino conforme indicado pela imagem. Em seguida conecte outro terminal do botão a um resistor e esse resistor ao terra da placa. Finalmente conecte o outro terminal do botão ao pino digital que utilizaremos para ler o valor do botão.

Eventualmente você precisará trocar algum dos terminais para acertar qual terminal do botão deve estar conectado a cada componente.

Circuito para demonstrar a leitura do botão pelo Arduino
Circuito para demonstrar a leitura do botão pelo Arduino

As imagens abaixo descrevem o circuito através de um diagrama elétrico e um modelo de feito em simulador 123d.circuit.oi:

Diagrama elétrico do circuito
Diagrama elétrico do circuito
Modelo do circuito para letra do botão
Modelo do circuito para letra do botão

O próximo passo é escrevermos o programa que fará a leitura do estado do botão, para isso crie um novo arquivo no IDE. Começamos nosso programa indicando em qual pino o nosso botão está ligado através de uma constante:

Indicando o pino que o botão está ligado
Indicando o pino que o botão está ligado

Em seguida configure o pino para leitura utilizando a constante INPUT. Utilizaremos a comunicação serial através do cabo USB para mostrar o estado do botão, dessa forma saberemos que o circuito está funcionando e a placa lendo corretamente o botão.

Portanto precisamos configurar a porta serial com o uso do método begin objeto Serial. Esse método recebe o valor da velocidade de envio de dados em bits por segundos. Utilize a velocidade de 9600.

Configurando o pino de leitura e a porta serial
Configurando o pino de leitura e a porta serial

Agora deveremos escrever a função loop. O primeiro passo é a leitura do estado do pino com a função digitalRead. Quando o botão é pressionado o circuito entre o pino e o 5V da placa é fechado, circulando corrente. Nessa situação o pino estará com o estado HIGH. Quando o botão é solto o circuito é interrompido e o pino volta para o estado LOW.

Em seguida enviamos o estado do pino para o nosso computador através da comunicação serial. Para isso utilize o método println do objeto Serial. Utilizamos o controle de fluxo IF/ELSE para verificar em qual estado o pino está e enviar o texto correto. O controle IF faz uma comparação entre dois valores e executa o código entre chaves quando essa comparação é verdadeira. Já a cláusula ELSE tem seu código executado quando a comparação do operador IF é falsa.

Terminamos o programa adicionando uma chamada à função delay para podemos ver o resultado no computador.

Código da função Loop
Código da função Loop

Ligue a placa ao computador com o cabo USB e execute o programa. Em seguida abra o monitor serial para ver o resultado da execução. Pressione e solte algumas vezes o botão para ver o programa funcionando.

Testando o projeto
Testando o projeto

Onde encontrar alguns doscomponentes:

Obrigado pela atenção e até o próximo post!

Utilizando pinos digitais do Arduino para enviar sinais

Olá a todos,

nesse post mostraremos o uso dos pinos digitais do Arduino para enviar sinais para nossos circuitos. Montaremos o circuito na protoboard e escreveremos um código semelhante ao exemplo blink que acompanha o IDE do Arduino. Ou seja esse pequeno projeto acenderá ou apagará um led a cada um segundo.

O primeiro passo é montarmos o circuito, portanto coloque o led na protoboard. Note que um dos terminais (também chamados perninhas) é maior que o outro, indicando o lado correto que o componente deve ser ligado. O terminal menor deverá ser ligado no terra que é um dos pinos da placa com o nome GND (ground) com o uso de um cabo macho-macho como na imagem abaixo:

Iniciando circuito com led e terra
Iniciando circuito com led e terra

Em seguida precisamos ligar um resistor no led, como na figura abaixo. O resistor evita que ocorra um curto-circuito na placa e a queime inutilizando permanentemente, pois o led não apresenta resistência substancial. Em seguida ligue o resistor a um pino digital da placa (os pinos com nomes que vão de 0 a 13). Nesse ponto temos nosso circuito montado.

Circuito montado
Circuito montado

As imagens abaixo descrevem o circuito através de um diagrama elétrico e de um modelo de feito no 123d.circuit.io:

Diagrama elétrico do projeto
Diagrama elétrico do projeto
Modelo do circuito
Modelo do circuito

O próximo passo é escrevermos o sketch (código que roda no Arduino): acesse seu IDE, selecione o menu File -> New para criar um novo arquivo com o modelo de um sketch vazio.

No sketch vazio declare uma constante que indique qual pino da placa o nosso circuito está ligado. Constantes são valores que não podem ser alterados durante a execução do código e são declaradas com a palavra-chave const. Indicamos um pino do Arduino em nossos programas através de números do tipo inteiro (int). A imagem abaixo mostra a declaração da constante que indica em qual pino o led está conectado:

Iniciando o código
Iniciando o código

O próximo passo é configurarmos o pino utilizado através da função pinMode para o pino para enviar sinais. Indicamos o pino que o pino enviará sinais para nosso circuito utilizando a constante OUTPUT.

Agora escreveremos a função loop que conterá o que o programa deve fazer, nesse caso faremos o led acender e apagar a cada 1 segundo.

Para acender o led devemos fazer com que o pino conectado a ele esteja no estado conhecido como HIGH. Nesse estado o pino apresenta 5V (em relação ao terra), circulando corrente pelo resistor e pelo led. Para deixarmos o pino conectado ao led como HIGH utilizamos a função digitalWrite. Essa função recebe como parâmetros o pino que terá o valor alterado e o novo valor do pino. Para aguardar um segundo utilizaremos a função delay.

Em seguida alteraremos o estado do pino para o estado LOW também com a função digitalWrite. Nesse estado o pino apresenta 0V (sempre em relação ao terra) e a corrente para de circular pelos componentes eletrônicos apagando o led.

Chamaremos novamente a função delay para esperar mais um segundo. Caso não coloquemos essa linha o led apagará e a função loop será encerrada. Porém como a mesma função será chamada novamente o led acenderá e tudo ocorrerá tão rápido que não veremos o led apagar.

Código completo do projeto.
Código completo do projeto.

Nesse ponto temos nosso programa pronto e podemos transferi-lo para a placa. Recomendo ligar a placa na porta USB somente quando terminar de montar o circuito para evitar acidentes que gerem curto-circuito que podem danificar sua placa.

Aguarde a placa ser reconhecida pelo IDE e envie o programa para ela. O led deverá começar a acender e apagar a cada um segundo.

Onde encontrar alguns componentes:

Obrigado pela atenção e até o próximo post!

Simulando o Arduino

Olá a todos,

nesse post veremos o funcionamento básico do site 123dcircuits.io que simula tanto o Arduino como os circuitos que ele pode controlar. Além da simulação é possível desenhar e solicitar a placa de circuito impresso para montarmos nosso circuito em definitivo.

O primeiro passo é realizarmos o registro no site que é bem simples. Em seguida podemos iniciar os nossos projetos. Uma característica interessante do site é que podemos utilizá-lo de forma grátis, mas os nossos projetos serão públicos. Para montar um projeto e deixá-lo privado é necessário o pagamento de um taxa.

Para iniciar um novo projeto, clique no botão + New, será aberto um menu lateral na direita. Em seguida clique no botão New Eletronics Lab.

Criando um novo projeto no 123d.circuits.io
Criando um novo projeto no 123d.circuits.io

Será aberta uma tela semelhante à abaixo onde é possível criarmos nosso circuito e simularmos seu funcionamento. Para adicionar os componentes a protoboard virtual clique no botão + Components, aparecerá um o painel na parte inferior da tela com os componentes.

Tela inicial da simulação de circuitos no 123d.circuits.io
Tela inicial da simulação de circuitos no 123d.circuits.io

Adicione um resistor e um led como na imagem abaixo. Se precisar utilize o botão na parte superior esquerda da tela para girar algum componente.

Componentes adicionados na protoboard virtual
Componentes adicionados na protoboard virtual

Agora role o menu de componentes para baixo e adicione um Arduino. Talvez você precise clicar no terceiro botão do menu superior esquerdo (figura do retângulo dentro de uma mira) para acertar o zoom e aparecer todos os componentes da tela. Em seguida faça as conexões para ligar o resistor e o led à placa. Para realizar as conexões basta clicar no furo da protoboard e arrastar o mouse até o pino do Arduino.

Para trocar a cor dos cabos de ligação basta clique no cabo desejado, será aberto um menu suspenso na tela. Em seguida abra a lista de opções e selecione uma cor.

Arduino adicionado ao circuito
Arduino adicionado ao circuito

Com o circuito virtual montado vamos adicionar na simulação o código para o Arduino. O código utilizado será o blink, que é o equivalente ao Hello World em outras linguagens de programação.

Para abrir a tela de desenvolvimento do sketch clique no botão Code Editor. Será aberta uma tela semelhante ao IDE que instalamos em nosso computador.

Editor de código para o Arduino no 123d.Circuits.io
Editor de código para o Arduino no 123d.Circuits.io

No código exibido apenas troque o valor da variável chamada led de 13 para 9 ou o número do pino onde você conectou o led no circuito virtual. Em seguida clique no botão Upload & Run para iniciar a simulação.

Simulação em execução.
Simulação em execução.

Para encerrar a simulação basta clicar no botão Stop Simulation.

O site possui outras funcionalidades como a possibilidade de desenharmos a placa PCB (placa de circuito impresso) e solicitá-la. Dedique um tempo para explorar essa funcionalidade e outras, além de utilizar outros componentes e códigos na simulação.

Como sempre, fiquem a vontade para enviar comentários com dicas, sugestões, dúvidas e críticas.

Um grande abraço e até o próximo post.

Alguns componentes elétricos básicos

Olá a todos,

nesse post será descrito alguns componentes elétricos básicos para montarmos os circuitos dos nossos projetos. Alguns desses componentes serão utilizados somente durante a prototipagem enquanto outros farão parte permanente das nossas soluções.

Protoboard

Protoboard e as conexões entre os furos
Protoboard e as conexões entre os furos

O primeiro componente, normalmente utilizado somente durante a prototipagem, é a protoboard.

A protoboard é uma placa de prototipagem que possui diversos furos para encaixarmos os componentes eletrônicos e conectá-los com o uso dos cabos de ligação. Os furos em linha são interligados para conectarmos diversos componentes sem o uso de cabos simplificando a montagem dos circuitos. Essas interligações estão mostradas na figura acima pelas linhas vermelhas.

Cabos jumper

Cabo jumper do tipo macho-macho
Cabo jumper do tipo macho-macho

 

Utilizamos os cabos de ligação do tipo jumper para montarmos nossos circuitos com o auxilio da protoboard. Esses cabos permitem montarmos os circuitos conectando os pinos dos componentes e das placas ao protoboard. Existem três tipos de cabos cumpres, com diferentes comprimentos:

  • macho-macho: cabo que possuí pinos de conexão nas duas pontas;
  • macho-femea: cabo que possuí pino de conexão em uma das pontas e um orifício para conexão da outra ponta;
  • femea-femea: cabo que possuí orifício de conexão nas duas pontas.

Led

Leds
Leds

Led é um componente elétrico que emite luz quando circula corrente por ele. Note que um dos terminais (também chamados perninhas) é maior que o outro, indicando o lado correto que o componente deve ser ligado. Utilizamos leds nos circuitos para sinalizarmos que o circuito está energizado ou que algo está acontecendo.

Resistores

Resistors
Resistors

Resistor é um componente que apresenta resistência para a passagem de corrente elétrica limitando essa corrente no circuito. Utilizamos os resistores para evitarmos curto-circuito que podem danificar nossa placa e outros componentes ou para controlar a corrente elétrica. Existem resistores com diversos valores de resistência.

Você pode conferir o valor de um resistor a partir das faixas coloridas que estão no corpo do componente. A tabela abaixo fornece os valores de cada faixa:

Cor Valor
Preto 0
Marrom 1
Vermelho 2
Laranja 3
Amarelo 4
Verde 5
Azul 6
Violeta 7
Cinza 8
Branco 9

O valor do resistor pode ser calculado pela segunda fórmula:

[(10 x F1) + F2] x 10F3

Onde:

  • F1 = valor da primeira faixa;
  • F2 = valor da segunda faixa;
  • F3 = valor da terceira faixa.

A quarta faixa é a margem de erro do resistor, onde a faixa dourada significa +/-5% e a faixa prateada +/-10%.

Potenciômetro

 

Potenciômetro
Potenciômetro

Um potenciômetro é um resistor que podemos variar o valor de sua resistência. Esse componente possui três terminais, porém apenas o terminal central possui resistência variável. A resistência é variada ao giramos a haste que movimenta um cursor ligado ao terminal central sobre um resistor que está conectado aos outros dois pinos.

Buzzer

Buzzer
Buzzer

Buzzer é um componente que emite som quando é atravessado por uma corrente elétrica. Assim como os leds esse componente tem um terminal positivo e outro negativo, ou seja, devemos tomar cuidado para não invertermos os pinos. Podemos utilizar buzzer para emitir indicadores sonoros como alarmes.

Micro botões (microswitch)

Micro Botão
Micro Botão

Um micro botão é um botão que ao pressionarmos um circuito interno é fechado e outro é aberto. Utilizamos esse componente para disparar um evento que pode iniciar ou interromper uma ação em nossos projetos.

Ao utilizar um micro botão deve-se conferir se estamos utilizando os terminais corretos, pois existem terminais que são fechados com o botão não pressionado mas que serão abertos quando pressionarmos o botão e outros terminais que possuem o comportamento contrário.

Sensor de luminosidade LDR

Sensor de luminosidade do tipo LDR
Sensor de luminosidade do tipo LDR

O sensor de luminosidade também é conhecido como fotoresistor. Ele apresenta resistência variável de acordo com a luminosidade que incide sobre ele, ou seja, quanto mais claro menor será a resistência do componente, consumindo menos tensão. Portanto esse componente pode ser utilizado para disparamos ações baseados na intensidade de luz do ambiente ou que está direcionado para ele.

Sensor de temperatura

Sensor de temperatura LM35
Sensor de temperatura LM35

Sensores de temperatura são utilizados para disparar algum evento em nossos projetos. Esse tipo de componentes apresenta resistência variável de acordo com a temperatura que está exposto.

Podemos utilizar shields prontos, tanto para Arduino como para Raspberry PI ou componentes elétricos, como o sensor LM35. O sensor de temperatura LM35 normalmente é mais barato que shields e possuí a vantagem que ele varia a resistência do terminal central de forma proporcional à temperatura em graus Celsius (°C).

Finalizamos aqui o conteúdo desse post. Deixem comentários caso tenham dúvidas ou quiserem que seja adicionado outros componentes no post.

Um abraço e até o próximo post.