domingo, 4 de fevereiro de 2018

Como usar sensor DS18B20


Em muitos projetos necessitamos de sensores com um minimo de sensibilidade e precisão, o DS18B20 com certeza supri várias necessidades, além da sensibilidade podemos fazer projetos com vários sensores em uma unica porta, isso veremos em uma matéria posterior.


Veremos aqui algumas características desse sensor e um teste feito com ele, no final caso tenha alguma dúvida é só colocar nos comentários.


Algumas Características desse sensor:


  • Interface exclusiva 1-Wire® (1 conector) necessita de apenas 1 pino para comunicação
  • Cada sensor tem um número de série de 64 bits armazenados em memória ROM
  • Não requer peças externas
  • Pode ser alimentado pela linha de dados. Uma faixa de alimentação de 3,0 a 5,5V
  • Mede temperaturas de -55 a + 125 ° C (-67 ° F a + 257 ° F)
  • precisão de ± 0.5 ° C na faixa de -10 a + 85 ° C
  • resolução selecionável pelo Usuário de 9 a 12 bits
  • Converte a temperatura para uma palavra digital de 12 bits em no máximo 750ms
  • Não há dados para definir por usuário.
  • comando de busca de alarmes identifica e localiza os sensores que marcam temperaturas para os limites programados (condição de alarme de temperatura)
  • Aplicações diretas termostáticas, sistemas industriais, produtos de consumo, termômetros ou qualquer sistema com sensibilidade térmica




No video abaixo é possível ver o sensor em funcionamento.





Para o uso desse sensor se faz necessário algumas bibliotecas, utilizando a IDE Arduíno basta seguir os passos abaixo.




Clicar em sketch>incluir biblioteca>gerenciar bibliotecas




No campo de busca digite o nome do sensor, nesse caso DS18B30, irá aparecer duas bibliotecas, instale as duas.





Escolha a versão atual e click em instalar.



Código


/ * Modificado por Projeto Básico
    www.rpsilva100.blogspot.com
    www.youtube.com/c/projetobasicos
   fevereiro de 2018
   Com base no exemplo em: http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html

* /

/ * ----- (Importar bibliotecas necessárias) ----- * /
// Obter biblioteca de 1 fio aqui: http://www.pjrc.com/teensy/td_libs_OneWire.html
#include <OneWire.h>

// Obter a DallasTemperature Library aqui: http://milesburton.com/Main_Page?title=Dallas_Temperature_Control_Library
#include <DallasTemperature.h>

/ * ----- (Declare Constants and Pin Numbers) ----- * /
#define ONE_WIRE_BUS_PIN 2

/ * ----- (Declare objects) ----- * /
// Configurar uma instância oneWire para se comunicar com qualquer dispositivo OneWire
OneWire oneWire (ONE_WIRE_BUS_PIN);

// Passe nossa referência oneWire para Dallas Temperature.
Sensores DallasTemperature (& oneWire);

/ * ----- (Declare Variables) ----- * /
// Atribua os endereços dos seus sensores de temperatura de 1 fio.
// Veja o tutorial sobre como obter esses endereços:
// http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html

DeviceAddress Probe01 = {0x28, 0xFF, 0x35, 0xD7, 0x82, 0x15, 0x02, 0x1B};


void setup () / ****** CONFIGURAÇÃO: FUNCIONA UMA VEZ ****** /
{
  Serial.begin (9600);
  Serial.println ();
  Serial.println ("www.youtube.com/c/projetobasicos");
  Serial.println ();
  // Inicialize a biblioteca de medição de temperatura
  sensores.begin ();

  // configura a resolução para 10 bits (pode ser de 9 a 12 bits ... menor é mais rápido)
  sensores.setResolução (Probe01, 10);

} // - (configuração final) ---

loop vazio () / ****** LOOP: FUNCIONA CONSTANTEMENTE ****** /
{
  atraso (1000);

  // Comando todos os dispositivos no ônibus para ler a temperatura
  sensores.requestTemperatures ();

  // Serial.print ("Probe 01 temperature is:");
  printTemperature (Probe01);


} // - (loop principal final) ---

/ * ----- (Declare User-written Functions) ----- * /
void printTemperature (DeviceAddress deviceAddress)
{

  float tempC = sensores.getTempC (deviceAddress);

  se (tempC == -127.00)
  {
    Serial.print ("Erro ao obter temperatura");
  }
  outro
  {
    Serial.print (tempC);

    Serial.println ("C:");
  }
}


Obrigado!

quinta-feira, 25 de janeiro de 2018

Calibração de sensor de PH com Arduíno

Em todas as soluções que utilizamos em nosso dia a dia desde produtos alimentícios até produtos de limpeza ou cosméticos possui um valor de PH que vai de 0 que é muito ácido até 14 que é muito alcalino, o vinagre por exemplo de P.H. em torno de 2,9.

Existe alguns equipamentos para realizar leituras desses valores de P.H. para em seguida fazermos as correções, o P.H. neutro é 7, sendo este o ideal para utilizarmos em produtos de limpeza sem agredir as mãos ou na água potável que utilizamos para nós hidratar.

Veremos aqui uma das melhores formas de calibrar módulos de P.H. chineses, esses módulos ou sensores de P.H. são utilizados com o Arduíno e nos primeiros testes se mostraram bastante eficientes.


No vídeo abaixo podemos ver como é feita a calibração.      



O código logo abaixo foi encontrado no foram do Arduíno, caso queira acompanhar a discussão é só clicar nesse link. 


/*
 * Modificado por Projeto Básico
 * www.youtube.com/c/projetobasicos
 * www.rpsilva100.blogspot.com
 * codigo original disponivél em
 * https://forum.arduino.cc/index.php?topic=336012.0
 *
 */

int ph_pin = A0; //This is the pin number connected to Po

void setup() {
  Serial.begin(9600);
  Serial.println("         Projeto basico");
  Serial.println("www.youtube.com/c/projetobasicos");
  }

void loop() {
  int measure = analogRead(ph_pin);
  Serial.print("Measure: ");
  Serial.print(measure);

  double voltage = 5 / 1024.0 * measure; //classic digital to voltage conversion
  Serial.print("\tVoltage: ");
  Serial.print(voltage, 3);

  // PH_step = (voltage@PH7 - voltage@PH4) / (PH7 - PH4)
  // PH_probe = PH7 - ((voltage@PH7 - voltage@probe) / PH_step)
  float Po = 7 + ((2.5 - voltage) / 0.18);
  Serial.print("\tPH: ");
  Serial.print(Po, 3);

  Serial.println("");
  delay(2000);
}


Quando o P.H. estiver em 7 o pino Po do módulo P.H. deverá estar com 2.5 voltes, no código quando Po for 7 a variável Po deve estar em 0 voltes, nesta linha 

* float Po = 7 + ((2.5 - voltage) / 0.18);*


A variável possui 2,5 voltes constantes e tem uma redução da porta Po, sendo assim, quando o valor do pino for 2,5 voltes- a constante de 2,5 V o resultado vai ser 0, se a tenção do pino resultar em valores negativos o P.H. será ácidos, caso contrário o valor sera alcalino. 

Caso tenham alguma duvida perguntem nos comentários.


Obrigado.  

domingo, 14 de janeiro de 2018

COMO FAZER UM SENSOR DE GÁS MQ-4

COMO FAZER UM SENSOR DE GÁS MQ-4



    O gás de cozinha é essencial para nosso cotidiano, afinal muitas das coisas que consumimos para se alimentar passa pelo fogão. Mas a utilização do gás é muito mais ampla, afinal temos carros movidos a gás, industrias que são tocadas por gases entre outros produtos, eventualmente pode ocorrer acidentes com vazamentos de gases inflamáveis, uma solução para prevenir esses acidentes é a utilização do sensor MQ-4 juntamente com um Arduíno Uno e solenoides.

     Nosso projeto propõe a criação simples de um sistema para evitar tais acidentes.




Na imagem abaixo temos o diagrama do circuito





O vídeo com mais detalhes é visto abaixo





O código fonte pode ser conferido abaixo


/*
          PROJETO BASICO

  www.youtube.com/c/projetobasicos
  www.rpsilva100.blogspot.com

*/
int pinSensor = A1; //Pino Sensor
int valor = 0;
int leitura = 0;
int rele = 13;

void setup()
{
  Serial.begin(9600); //Inicia porta Serial em 9600
  Serial.println("         PROJETO BASICO");
  Serial.println("www.youtube.com/c/projetobasicos");
  Serial.println();
  pinMode(rele, OUTPUT);
  digitalWrite(rele, LOW);

}

void loop()
{ delay(1000);
  valor = analogRead(pinSensor); //Faz a leitura da entrada do sensor
  leitura = map(valor, 0, 1023, 0, 100);
  Serial.println(leitura);
  if (leitura >= 30) {
    digitalWrite(rele, HIGH);
  }

  else {

    digitalWrite(rele, LOW);
  }
}


Espero que tenham gostado.

Obrigado!

domingo, 7 de janeiro de 2018

Motor shield L293D (Robótica, motor de passo e motor dc)

     Em muitos projetos em especial os que envolvem movimentos com motores DC necessitamos de uma ponte H para movimentar as rodas nos dois sentidos. O moto shield é ideal para esses projetos, possui 2 pontes H que controla até 4 motores DC ou 2 motores passo, além disso este shield ainda pode controlar 2 servos motores.
    Sua alimentação é feita pelo Arduíno ou por alimentação externa, essa é mais recomendado pela não gerar sobre carga no Arduíno, utilizando o Jumper a alimentação é feita pelo Arduíno, caso for utilizar  a alimentação externa basta retirar o Jumper.

    A imagem imagem o local onde é feita a seleção de alimentação interna ou externa.





     Temos todos os pinos analógicos disponíveis para uso, esses pinos também podem ser utilizados na forma digital, nesse caso serão os pinos que vão do 14 até 19, os pinos 2 e 13 também estão disponíveis para a utilização  



Neste vídeo é possível ver mais informações sobre este escudo. 




    Para robótica está plaquinha se mostra bastante eficiente, já para a utilização como controladora de mini CNC seu uso já não é muito recomendado pois existem outras placas mais dedicadas para isso..

segunda-feira, 18 de dezembro de 2017

O Arduíno nas escolas

A tecnologia caminha com passos largos em direção a um futuro onde as pessoas estarão cada vez mais conectados, seja através de Smartphone, computadores ou até mesmo com a geladeira. Estamos em uma geração que consome muita tecnologia e tem muito potencial para aumentar e produzir novidades. Uma forma para se produzir tais produtos é investir em ferramentas na escola base, onde crianças poderão ter contato desde de cedo e ir progredindo conforme elas crescem. O Arduíno é uma das plataformas perfeitas para isso, existe muitos materiais na internet, livros e toda uma comunidade para dar suporte, logo de cara as crianças conseguem interagir com a plaquinha fazendo piscar um LED, e para quem pensa que isso é muito simples, o mesmo comando para acionar um LED pode ligar um motor elétrico e quem sabe até um carro como pode ser vistos em vídeos no youtube.
Investir em tecnologia, não somente em consumo mais em produção nas escolas é alavancar nosso pais para a independência tecnológica, visto que os brasileiros são bem criativos, muitas das vezes faltam base para melhorar as coisas que são desenvolvidas.
O Arduíno não tem um preço muito elevado e seus sensores mais simples também são acessíveis para sua aquisição, hoje no momento o empasse maior seria nas quebras de paradigmas sobre a utilização deste equipamento, bem como na capacitação de professores ou técnicos para transmitir esses conhecimentos.
A plataforma Arduíno favorece ao desenvolvimento de crianças e adultos que a queiram utilizar, projetos incríveis são desenvolvidos diariamente com o Arduíno e muitos outros podem ser desenvolvidos se ocorrer uma maior divulgação do Arduíno e implantação nas escolas com ensino base.
Rodrigo

sexta-feira, 6 de outubro de 2017

COMO FAZER UMA PANELA PARA BANHO MARIA

Utilizamos o banho Maria em diversas tarefas do dia a dia, como em um pudim, derreter chocolate ou na depilação. É muito fácil de fazer o banho Maria utilizando uma panela no fogo com água dentro e uma outra com o que se quer cozinhar ou derreter. No entanto alguns produtos como o chocolate não pode ter o mínimo de contato com a água, dessa forma é desaconselhado fazer o banho Maria diretamente no fogão, uma vez que o mesmo irá ultrapassar a temperatura de ebulição e ferver a água, o vapor gerado pode "desandar" o chocolate.

O que fazer então?

A proposta do Projeto Básico é uma panela para banho Maria com controle de temperatura, deixando em uma faixa de temperatura ideal para o derretimento. Utilizaremos poucos componentes, a lista esta logo abaixo.

Lista
Arduíno Uno
Relé de 5 voltes
BC548
Resistor 1K
Resistor 470r
Led
Ebulidor (Rabo quente)
Sensor lm35
outros
Cabos, ferro de solda, estanho, placa de circuito impresso....

O vídeo abaixo tem mais detalhes sobre a panela de banho Maria.




O código fonte utilizado para este projeto

int lm35;
float temperatura;

void setup() {

Serial.begin(9600);

Serial.println("www.rpsilva100.blogspot.com");
Serial.println("www.youtube.com/c/projetobasicos");
Serial.println("");
temperatura=0;
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
}

void loop() {
lm35=analogRead(A0);
temperatura=((lm35*0.0048)*100);
Serial.println(temperatura);
delay(1000);

if (temperatura<=60){
digitalWrite(3,HIGH);
digitalWrite(2,HIGH);

}

if (temperatura>=65){
digitalWrite(3,LOW);
digitalWrite(2,LOW);
}
}



A montagem do módulo rele pode ser visto nesse vídeo.




Neste link tem mais detalhes sobre o módulo
http://rpsilva100.blogspot.com.br/2016/12/rele-arduino.html



A utilização do LM35 nesse vídeo


E mais informações sobre o LM neste link.

http://rpsilva100.blogspot.com.br/2017/01/lm25.html


Ficamos por aqui!

Qualquer dúvida poste nos comentários.

Se inscreva em nosso canal do youtube www.youtube.com/c/projetobasico

https://goo.gl/McyKDe

Se gostou deixa um like!

Obrigado!

quarta-feira, 5 de julho de 2017

LOGO PROJETO BÁSICO


logo do canal do Youtube projeto básico.

https://www.youtube.com/c/projetobasicos