Conexões de sensores e dispositivos do Arduino

Às vezes, conectar um sensor ou um componente eletrônico corretamente no Arduino faz a diferença de que nosso hardware funciona corretamente ou infelizmente mal ou queima.

Abaixo está uma lista de conexões simples e mais usadas ao executar um projeto com o Arduino:

Eu tenho que esclarecer que o Arduino tem saídas polares negativas, então você sempre precisa conectar o oposto a 5 volts

Conecte o Led ao Arduino

Para conectar um Led, é necessário proteger a saída com uma resistência de 220 ohms

código de teste:

configuração nula () {pinMode (13, OUTPUT); } void loop () {digitalWrite (13, HIGH); atraso (1000); // Aguarde 1000 milissegundos (s) digitalWrite (13, LOW); atraso (1000); // Aguarde 1000 milissegundos (s)}

Nesse caso, estamos tratando a saída 13 como Digital pelo comando digitalWrite

Com o mesmo circuito que podemos fazer através do código, tratar a saída como analógica enviando um pulso PWM com o comando analogWrite:

led int = 13; void setup () {/ * Não configuramos nada * /} void loop () {for (int i = 0; i <= 255; i ++) // aumenta o valor de i para 255 {analogWrite (led, i); // escreve o valor de i delay (100); // Aguarde 1000 milissegundos (s)} delay (500); }

o que este programa de exemplo faz é aumentar a velocidade com o valor i até atingir 255 em um loop por (não sai do loop até atingir 255).

Conecte o motor ao Arduino

Com esses dois métodos anteriores, podemos controlar um motor DC, deve-se notar que, se usarmos o método digital, faremos um controle ON / OFF, enquanto se o fizermos de maneira analógica como PWM, teremos um controle da velocidade do motor alterando o entidade de valor variável 2 (parada) em 0 (velocidade máxima)

Mosfet irf44n + motor com caixa de engrenagens + diodo 1N4001

materiais:

Mosfet irf44n

Motor com redutor

diodo 1N4001

Outra maneira de trabalhar o PWM Pulse é através do pulseWidth com a biblioteca Servo.h, se fizermos a seguinte conexão

Conecte o servo motor ao Arduino

com pulseWidth, podemos controlar um servo motor, como visto na imagem, para proteger a saída UNO do Arduino (saída 13). 220 ohms de resistênciaE o servo Possui regulador de tensão de 5 volts LM7805

#include  // incluímos a biblioteca Servo.h int i = 0; // Variável que usaremos para aumentar o valor de 0 para 1023 Servo servo_13; // atribuímos a saída 13 como Servo motor void setup () {servo_13.attach (13); // configuramos a saída 13 como servo} void loop () {for (i = 0; i <= 1023; i + = 1) {// este é um loop que até atingir 1023 não o deixa incrementando 1 em 1 cada vez que o atraso (50) é lido; // aguarde 50 milissegundos servo_13.write (map (i, 0, 1023, 0, 180)); // escreve o valor atual no intervalo de 0 a 180 graus} // quando atinge o valor, sai do loop for // retorna ao início do loop}

Com este exemplo, o que fazemos é aumentar de 0 para 1023 os graus de um servo escalado em 180 graus

Controle conduzido RGB

Para controlar uma faixa de LED RGB, usamos a biblioteca NeoPixel da Adafruit

Matriais:

Faixa de LED circular 2812 LED BOARD-SW1240 / AN

código Exemplo:

#include  // chamamos a biblioteca NeoPixel #define PIN 2 // pino de controle para os LEDs. #define NUMPIXELS 12 // Número de LEDs aos quais os valores devem ser atribuídos. Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); valor de atraso interno = 100; // fornece o valor de 100 milissegundos para a variável de espera. int redColor = 0; // define o valor da cor vermelha para 0. int greenColor = 0; // define o valor da cor verde para 0. int blueColor = 0; // define o valor da cor azul para 0. void setup () {// Iniciar a biblioteca NeoPixel. pixels.begin (); } void loop () {setColor (); // chama a cor do conjunto de funções. for (int i = 0; i <NUMPIXELS; i ++) {// envie o valor de cada um dos LEDs vermelho, verde e azul 1 para 1. pixels.setPixelColor (i, pixels.Color (redColor, greenColor, blueColor)); // envia os dados de cor para os LEDs. pixels.show (); // tempo limite em milissegundos. atraso (delayval); }} // setColor () void setColor () {// atribui um valor aleatório para vermelho, verde e azul. redColor = aleatório (0, 255); // atribui um valor aleatório entre 0 e 255. greenColor = random (0,255); // atribui um valor aleatório entre 0 e 255. blueColor = random (0, 255); // atribui um valor aleatório entre 0 e 255. // retorna para uma linha abaixo de onde a função foi chamada. }

Com este pequeno exemplo de código, podemos ver que aleatoriamente a cor de cada LED muda uma por uma

bilhetes

conectar um switch ou botão ao Arduino

O Arduino definiu com rigor quais tipos de entrada são aqueles que podemos usar como digital (PWM digital) e analógico (entrada analógica)

Desta vez, usaremos a conexão 2 como entrada digital, seguindo o esquema da imagem anterior

materiais:

Botão / interruptor

Resistência de 10K ohms

código de exemplo:

const botão int = 2; // atribui o botão constante ao pino 2 const int led = 13; // atribui o arquivo constante ao pino 13 int state = 0; // definimos a variável de status como 0 void setup () {pinMode (led, OUTPUT); // configura led como saída pinMode (button, INPUT); // define o botão como entrada} void loop () {// combina o estado da variável com o valor da leitura do botão state = digitalRead (button); // com se verificarmos qual é o estado if (state == HIGH) {// se o valor do botão for alto digitalWrite (led, HIGH); // ligue o led} else {// se o valor do botão estiver em digitalWrite (led, LOW); }}

O que esse pequeno programa faz é corresponder a saída 13 com o status da entrada 2, demonstrando que o led integrado do Arduino UNO, marcado com L, liga ou desliga

Conecte um potenciômetro ou resistência variável ao Arduino

materiais:

Potenciômetro de linha de 200K ohms

código de exemplo:

int pot = 0; // equaliza a variável para 0 int led = A0; // atribui o pino A0 void setup () {pinMode (A0, INPUT) ao led; // configura como entrada analógica A0 pinMode (13, OUTPUT); // definido como saída 13} void loop () {pot = analogRead (A0); // combina o valor do pote com a leitura A0 digitalWrite (13, HIGH); // liga o atraso do led (pot); // aguarde em milissegundos o valor do potenciômetro digital Write (13, LOW); // desativa o atraso do led (pot); // aguarde em milissegundos o valor do potenciômetro // releia o loop desde o início}

Com este código de exemplo, é usado o valor do potenciômetro (A0) para aumentar ou reduzir o tempo de espera em milissegundos para que o LED se apague ou acenda

pós share:

Comentários

Trackbacks e Pingbacks

  1. […] Bibliotecas Arduino Sensor Arduino e conexões de dispositivos → Español English Français Deutsch Italiano Português […]

Comentários estão fechados.

Uso de cookies

Este site usa cookies para que você tenha a melhor experiência do usuário. Se você continuar a navegar você está dando seu consentimento para a aceitação dos cookies acima mencionadas e aceitação do nosso política de biscoitos, clique no link para mais informações. ok

Aviso de cookies