Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

DHT Tiny Breakout para Raspberry Pi

Componentes de hardware: Atmel ATTiny85 × 1DHT22 Sensor de temperatura × 1DHT11 Sensor de temperatura e umidade × 1SparkFun Tiny AVR Programmer × 1Adafruit 4.7K Ω Resistor × 3Adafruit 10K Ω Resistor × 1Adafruit 100 Ω Resistor × 1Adafruit difundido Blue 3mm LED × 1Adafruit Botão tátil de distância 1 × 1AdafruitA ″ Cabeçalho macho de tira de 36 pinos 1 peça @ comprimento 6, 1 peça @ comprimento 2 (total de 8 pinos) × 1Jumper genérico (0,1 ″) × 1Arduino UNO e UNOpcional genuíno - usado para depuração e teste. × 1 Aplicativos de software e serviços online: Microsoft Visual Studio 2015 IDE do Microsoft Windows 10 IoT CoreArduino



HISTÓRIA

Introdução


O DHT11 e o DHT22 são sensores de temperatura e umidade populares devido à sua precisão a um custo muito baixo. Um problema com eles, no entanto, é que funcionam com um protocolo proprietário de um fio que requer temporização precisa. Esses sensores têm se mostrado difíceis de ler em placas com sistemas operacionais em tempo não real.

Há algum tempo, postei um artigo intitulado “ Sensor de temperatura DHT11 / DHT22 ”Demonstrando como usar o código de exemplo Microsoft C ++ de C # para ler esses sensores. A biblioteca conseguiu fazer uma leitura, mas tive que adicionar uma nova lógica de tentativa para torná-la mais confiável. Isso provou ser um sucesso para a maioria, mas algumas pessoas tiveram problemas para fazer isso funcionar de forma consistente.

Dado o nível de interesse em usar esses sensores no Raspberry Pi durante a execução do Windows 10 IoT Core, decidi criar uma segunda opção que fornece um método muito confiável de leitura desses sensores, mantendo um custo baixo.

Visão geral


A abordagem apresentada aqui é conectar o sensor DHT a um ATtiny85 barato e configurá-lo como um dispositivo escravo I2C. Isso é feito usando a biblioteca TinyWireS e criando um conjunto de registros que podem ser lidos e gravados para interagir com o dispositivo.

O dispositivo suporta as seguintes funções:

O código-fonte


Existem três conjuntos de código neste projeto. O firmware principal da placa é um esboço mestre do Arduino usado para testar e demonstrar a placa enquanto ela está conectada a um Arduino Uno e ao aplicativo Window 10 IoT Code que demonstra como usar o dispositivo do Raspberry Pi. Todo o código está disponível no repositório GitHub vinculado.

O dispositivo / circuito


O circuito é pequeno e usa apenas alguns componentes baratos. O ATtiny85 pode ser adquirido de vários fornecedores. Eu recomendo escolher alguns deles, pois eles têm muitos propósitos úteis.

O circuito tem um conector de seis pinos que permite que ele seja conectado a outro circuito ou diretamente ao Raspberry Pi. Os pinos são definidos da seguinte forma:

Há também um conector de dois pinos onde um jumper pode ser adicionado para habilitar ou removido para desabilitar o LED integrado.

Ao utilizar isso em um projeto maior, o circuito para o DHT Tiny pode ser fundido ou incorporado ao circuito existente do projeto. Nesse caso, os pinos do cabeçalho e o LED são opcionais.

O circuito também pode ser construído em uma placa separada e conectado ao seu Raspberry Pi com alguns fios ou um cabo de conexão.

Programando o ATtiny85


Carregue o esboço chamado DHT_Tiny_Breakout.ino no ATtiny85 usando seu programador AVR. Se você não tiver um programador, pode usar um Arduino Uno (ou placa semelhante). Dê uma olhada em um ou mais dos artigos listados abaixo para obter ajuda.

Eu uso o SparkFun Tiny AVR Programmer para carregar meu ATtiny85.

Estou executando meu chip a 16 MHz. Veja meu artigo intitulado “ ATtiny @ 16MHz ”Para obter instruções sobre como fazer isso.

Ao usar o ATtiny85, o esboço escravo requer o TinyWireS biblioteca a ser instalada na sua pasta de bibliotecas. Esta biblioteca pode ser baixada de https://github.com/rambo/TinyWire.

Controle o circuito


A primeira etapa é colocar o DHT Tiny instalado e funcionando em uma placa de ensaio. Usando uma placa de ensaio com metade do tamanho, construa o circuito seguindo os diagramas esquemáticos e de placa de ensaio incluídos no projeto.

Aqui estão algumas dicas para ajudar a tornar mais fácil:

Abaixo estão algumas imagens da versão breadboard do meu DHT Tiny.

Conectando o Arduino Uno


Se você está interessado em um teste rápido, uma demonstração ou está tendo problemas para fazer isso funcionar com o seu Raspberry Pi, você pode conectar o DHT Tiny a um Arduino Uno (ou dispositivo semelhante).

Carregue e execute o esboço denominado DHT_Tiny_Master.ino . Este esboço exibirá a saída no Monitor serial .

Ao conectar o I2C entre as duas placas, é importante ter resistores pull-up nas linhas SDA e SCL. Neste circuito, existem dois 4,7 K Ω conectados entre os pinos e 5V.

Abaixo estão algumas imagens da placa de ensaio DHT Tiny conectada ao Arduino Uno.

Conectando-se ao Raspberry Pi


Se você está interessado em um teste rápido, uma demonstração ou está tendo problemas para fazer isso funcionar com o seu Raspberry Pi, você pode conectar o DHT Tiny a um Arduino Uno (ou dispositivo semelhante).

Ao conectar o I2C entre as duas placas, é importante ter resistores pull-up nas linhas SDA e SCL. Neste circuito, há dois 4,7 K Ω conectados entre os pinos e 3V3.

MUITO IMPORTANTE! A placa DHT Tiny será alimentada pelo pino 5V no Raspberry Pi, mas os resistores pull-up devem ser conectados ao pino 3V3 no Raspberry Pi (3V3 está nos pinos 1 e 17).

Abaixo estão algumas imagens da placa de ensaio DHT Tiny conectada ao Raspberry Pi 3.

Executando o aplicativo Windows 10


Obtenha o código do link do repositório GitHub na parte inferior do projeto e descompacte-o em seu computador. Abra o código-fonte do aplicativo universal no Visual Studio 2015 e implante-o no Raspberry Pi e inicie-o no console de administração ou execute-o no modo de depuração no Visual Studio.

Se esta é a primeira vez que você está executando o código do Visual Studio para um aplicativo Windows 10 IoT Core, dê uma olhada nestes artigos da Microsoft:

Dê uma olhada no vídeo de demonstração abaixo para ver o aplicativo em execução em um Raspberry Pi 3 enquanto conectado ao DHT Tiny.

Destaques do aplicativo


O aplicativo UWP do Windows 10 é um aplicativo de demonstração que mostra todos os recursos do DHT Tiny. O código exibirá a temperatura atual, umidade e outros valores de registros do dispositivo. A IU também fornece uma maneira de alterar a configuração do dispositivo, incluindo o endereço do dispositivo.

Biblioteca DHT Tiny


O código de amostra usa uma biblioteca escrita para interagir com o DHT Tiny. Esta biblioteca está pronta para uso e pode ser incluída diretamente em todos os seus aplicativos.

Obtenha a biblioteca do NuGet


Se você não quiser incluir o projeto diretamente em seu aplicativo, basta baixar a biblioteca DHT Tiny do NuGet usando o comando mostrado abaixo. Abra o console do gerenciador de pacotes no Visual Studio e digite o comando.
  PM> Pacote de instalação IoT.DhtTiny  

Varredura do barramento i2c para o dispositivo


A biblioteca DHT Tiny inclui um método que pesquisa o barramento i2c para qualquer dispositivo DHT Tiny e retorna uma lista de endereços. Esta lista pode ser usada para inicializar um ou mais dos dispositivos encontrados. Isso é especialmente útil quando você altera o endereço do dispositivo, mas não consegue se lembrar de como definiu o endereço. Observe que o método de retorno de chamada é opcional.
  // *** // *** Enumere os dispositivos DHT Tiny no barramento i2c.// *** IEnumerable  address =await DhtTiny.FindAllDhtTinyAsync (this. FindAllDhtTinyCallback); // *** // *** Método de retorno de chamada // *** private void FindAllDhtTinyCallback (I2cScanEventArgs e) {int percentComplete =(int) ((double) e.CurrentIndex / (double) e.Total * 100,0d); this.Status =string.Format ("Localizando dispositivos [0x {0:X2}] [{1}%] [Found ={2:## 0}] ...", e.CurrentAddress, percentComplete, e.Items .Count ());}  

Esquemas de DHT Tiny Breakout para Raspberry Pi



Demonstração de software


Este vídeo demonstra o aplicativo universal em execução em um Raspberry Pi 3 conectado ao DHT Tiny em uma placa de ensaio.

[VÍDEO EM BREVE]

Criação do dispositivo final


A maneira mais fácil e econômica de criar a placa é usar um protótipo de placa PCB, como a placa de pão de tamanho Trimestre Perma-Proto da Adafruit. A imagem abaixo mostra o breakout usando esta placa protótipo. Nota Usei uma dremel para retirar as seções do barramento de alimentação da placa.

Veja mais:DHT Tiny Breakout para Raspberry Pi

Processo de manufatura

  1. Monitoramento de temperatura no Raspberry Pi
  2. Estação meteorológica Raspberry Pi 2
  3. Sensores analógicos sem entradas analógicas no Raspberry Pi
  4. Sensor de alcance ultrassônico HC-SR04 no Raspberry Pi
  5. Os melhores acessórios para o seu Raspberry Pi
  6. Sensores analógicos no Raspberry Pi usando um MCP3008
  7. VISÃO:Para cegos
  8. Qwiic HAT para Raspberry Pi Hookup Guide
  9. Windows 10 IoT Core para Raspberry Pi 3 Modelo B +
  10. Construindo o Kit do Robô MonkMakes Raspberry Pi