Neste tutorial, vamos projetar um sistema de medição de pressão barométrica usando BMP180 e ARDUINO. Em primeiro lugar, para fazer a interface do BMP180 com o ARDUINO, precisamos baixar uma biblioteca projetada especificamente para o BMP180. Esta biblioteca está disponível em: https://github.com/adafruit/Adafruit-BMP085-Library Depois de anexar essa biblioteca, podemos chamar funções especiais que irão facilitar o trabalho com o sensor BMP180.
Componentes necessários
Hardware: placa Arduino uno, pinos de conexão, resistor 220Ω, sensor de pressão barométrica BMP180, LCD 16x2, placa de pão.
Software: Arduino noturno
Diagrama de circuito e explicação de trabalho
Depois de chamar o cabeçalho, não precisamos nos preocupar em estabelecer a comunicação entre o Arduino Uno e o sensor BMP180. Podemos simplesmente chamar funções especiais que farão isso por nós. Precisamos apenas inicializar um LCD e mostrar os valores chamados do SENSOR nele.
No LCD 16x2 existem 16 pinos ao todo, se houver uma luz de fundo, se não houver luz de fundo, haverá um total de 14 pinos. Pode-se ligar ou deixar os pinos da luz de fundo. Agora, nos 14 pinos, há 8 pinos de dados (7-14 ou D0-D7), 2 pinos de fonte de alimentação (1 e 2 ou VSS e VDD ou GND e + 5v), 3º pino para controle de contraste (VEE-controla a espessura dos caracteres mostrado) e 3 pinos de controle (RS & RW e E).
No circuito, você pode observar que eu peguei apenas dois pinos de controle, o bit de contraste e READ / WRITE não são usados com frequência, então eles podem estar em curto com o aterramento. Isso coloca o LCD em maior contraste e modo de leitura. Precisamos apenas controlar os pinos ENABLE e RS para enviar caracteres e dados de acordo.
As conexões que são feitas para LCD são fornecidas abaixo:
PIN1 ou VSS para aterrar
PIN2 ou VDD ou VCC para alimentação de + 5v
PIN3 ou VEE para aterrar (oferece contraste máximo, melhor para um iniciante)
PIN4 ou RS (Registrar Seleção) para PIN8 de ARDUINO UNO
PIN5 ou RW (leitura / gravação) para aterrar (coloca o LCD no modo de leitura facilita a comunicação para o usuário)
PIN6 ou E (habilitar) para PIN9 de ARDUINO UNO
PIN11 ou D4 a PIN10 de ARDUINO UNO
PIN12 ou D5 a PIN11 de ARDUINO UNO
PIN13 ou D6 a PIN12 de ARDUINO UNO
PIN14 ou D7 a PIN13 de ARDUINO UNO
O ARDUINO IDE permite ao usuário usar o LCD no modo de 4 bits. Este tipo de comunicação permite ao usuário diminuir o uso de pin no ARDUINO, ao contrário de outros o ARDUINO não precisa ser programado separadamente para ser usado no modo 4 it porque por padrão o ARDUINO está configurado para se comunicar no modo 4 bits. No circuito você pode ver que usamos comunicação de 4 bits (D4-D7).
Portanto, pela mera observação da tabela acima, estamos conectando 6 pinos do LCD ao controlador, em que 4 pinos são pinos de dados e 2 pinos para controle.
Para conectar o BMP180 ao Arduino Uno, precisamos fazer o seguinte:
|
Primeiro, precisamos chamar o arquivo de cabeçalho para habilitar funções especiais “#include”.
Com este arquivo de cabeçalho, podemos chamar funções que podem ler valores do Sensor diretamente, sem qualquer difusão.
Agora precisamos habilitar a comunicação C, isso é feito chamando “#include
Podemos ler a pressão chamando ”String PRESSUREVALUE = String (bmp.readPressure ());”. Aqui, o valor da pressão será lido do sensor e armazenado na string “PRESSUREVALUE”.
Podemos ler a temperatura chamando ”String TEMPARATUREVALUE = String (bmp.readTemperature ());”. Aqui, o valor da pressão será lido do sensor e armazenado na string “TEMPARATUREVALUE”.
Primeiro, precisamos habilitar o arquivo de cabeçalho ('#include
Em segundo lugar, precisamos dizer à placa que tipo de LCD estamos usando aqui. Uma vez que temos tantos tipos diferentes de LCD (como 20 * 4, 16 * 2, 16 * 1 etc.). Aqui, faremos a interface de um LCD 16 * 2 com o UNO, então obteremos 'lcd.begin (16,2);'. Para 16 * 1, obtemos 'lcd.begin (16,1);'.
Nesta instrução vamos dizer à placa onde conectamos os pinos. Os pinos que estão conectados devem ser representados na ordem como “RS, En, D4, D5, D6, D7”. Esses pinos devem ser representados corretamente. Uma vez que conectamos RS ao PIN0 e assim por diante, conforme mostrado no diagrama do circuito, representamos o número do pino à placa como “LiquidCrystallcd (0,1,8,9,10,11);”.
Depois de acima tudo que resta é enviar dados, os dados que precisam ser exibidos no LCD devem ser escritos como “cd.print (" hello, world! ");”. Com este comando, o LCD exibe 'hello, world!'.
Como você pode ver, não precisamos nos preocupar com mais nada, apenas temos que inicializar e o UNO estará pronto para exibir os dados. Não precisamos escrever um loop de programa para enviar os dados BYTE por BYTE aqui. Depois de ler o valor do sensor, vamos exibi-los no LCD 16x2.