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

nRF24L01 + com ATtiny85 3 pinos

Componentes e suprimentos

nRF24L01 +
× 2
ATtiny85
× 1
Arduino UNO
× 1
Capacitor de cerâmica - 10nF
× 1
Resistor de filme de carbono - 22kΩ
× 1
Diodo de comutação - 1n4148
× 1
Fonte de alimentação - 3v3
× 1
nRF24L01 + Adaptador de soquete
Opcional
× 1

Sobre este projeto


Esta seria a continuação do meu projeto anterior de Programação ATtiny85 com Arduino Uno. Agora, com o ATtiny85 mais barato instalado, eu estava procurando maneiras mais baratas de transmitir os dados do sensor. O que me trouxe ao nRF24L01 + um transceptor RF barato e de baixa potência. Esta parecia ser a melhor solução para mim. Mas havia um problema, a limitação do número de pinos no ATtiny85. Não consigo conectar o nRF24L01 + e o sensor nele. Eu estava procurando por soluções e me deparei com "controle nrf24l01 + com 3 pinos ATtiny85". Aqui, discuto como o implementei.



Módulos


Haverá dois módulos aqui, transmissor e receptor. O transmissor seria um ATtiny85 enviando alguns dados e o receptor seria o Arduino Uno recebendo os dados via nRF25L01 +. Eu utilizo a biblioteca RF24 (http://tmrh20.github.io/RF24/). Siga as instruções fornecidas e adicione-o ao Arduino IDE antes de começar. Não vou explicar muito sobre o RF24, pois há uma documentação muito boa sobre ele.



Transmissor


O transmissor transmite um número crescente a cada segundo. O ATtiny85 enviará os dados via nRF24L01 + usando apenas 3 pinos. Sigo as instruções dadas por Ralph Doncaster para implementá-lo.

Os componentes necessários seriam
  • ATtiny85
  • nRF24L01 +
  • Capacitor de cerâmica - 10nF
  • Resistor de filme de carbono - 22kΩ
  • Diodo de comutação - 1n4148

Carregue o código abaixo para ATtiny85 (consulte meu projeto anterior Programando ATtiny85 com Arduino Uno se quiser saber como)
sender.ino
Conecte os componentes conforme mostrado abaixo

Quando a fonte de alimentação for conectada, o transmissor começará a enviar sequência de números a cada 1 segundo.

Receptor


O receptor recebe os dados enviados pelo transmissor e os dados recebidos podem ser vistos no Monitor Serial.

Os componentes necessários seriam
  • Arduino Uno
  • nRF24L01 +
  • nRF24L01 + Adaptador de soquete (opcional)

Faça upload do código abaixo para o Uno
receiver.ino
Conecte os componentes conforme mostrado abaixo




Se isso não estiver claro, consulte o arquivo fritzing anexado a este projeto. Observe que o Vcc deve ser sempre 3v3. Em alguns clones do Arduino Uno, a potência 3v3 pode não ter corrente suficiente, o que faz com que o nRF24L01 + não funcione. Qualquer um dos métodos abaixo são recomendados para resolver este

  1. Use uma fonte de alimentação 3v3 separada
  2. Adicione um capacitor de 10uF entre Vcc e Gnd no próprio módulo.
  3. Use um adaptador de soquete nRF24L01 +




Com o transmissor e o receptor prontos, agora é hora de testar. Certifique-se de que a fonte de alimentação do transmissor esteja LIGADA. Conecte o Arduino Uno ao PC e abra o monitor serial no arduino ide. Deve funcionar como abaixo

Tornando-o permanente


Com meu pouco conhecimento em soldagem, tornei-o permanente usando perfboard.

Este é um módulo mais simples para demonstrar como o nRF24L01 + e como podemos utilizar apenas 3 pinos do ATtiny85 para conectá-lo de forma que o resto dos pinos fiquem disponíveis para leitura dos dados do sensor. Feedbacks / sugestões são bem-vindos.

Código

  • Transmissor
  • Destinatário
Transmissor C / C ++
 #define CE_PIN 3 # define CSN_PIN 3 // Como estamos usando a configuração de 3 pinos, usaremos o mesmo pino para CE e CSN # include "RF24.h" rádio RF24 (CE_PIN, CSN_PIN); endereço de byte [11] ="SimpleNode"; carga útil longa sem sinal =0; configuração void () {radio.begin (); // Inicie o rádio radio.setAutoAck (1); // Certifique-se de que o autoACK esteja ativado radio.setRetries (15,15); // Atraso máximo entre novas tentativas e número de tentativas radio.openWritingPipe (endereço); // Grava no endereço do dispositivo 'SimpleNode'} void loop (void) {payload ++; radio.write (&payload, sizeof (unsigned long)); // Envia dados para 'Receptor' a cada segundo de atraso (1000);} 
Receptor C / C ++
 #define CE_PIN 7 # define CSN_PIN 8 # inclui  #include "RF24.h" rádio RF24 (CE_PIN, CSN_PIN); endereço de byte [11] ="SimpleNode"; carga útil longa sem sinal =0; vazio setup () {Serial.begin (115200); radio.begin (); // Inicie o rádio radio.setAutoAck (1); // Certifique-se de que o autoACK esteja ativado radio.setRetries (15,15); // Atraso máximo entre novas tentativas e número de tentativas radio.openReadingPipe (1, endereço); // Grava no endereço do dispositivo 'SimpleNode' radio.startListening ();} void loop (void) {radio.stopListening (); radio.startListening (); radio.read (&payload, sizeof (unsigned long)); if (carga útil! =0) {Serial.print ("Carga obtida"); Serial.println (carga útil); } atraso (1000);} 

Esquemas

nRF24L01% 2B (com% 20Socket)% 20Attiny85.fzz nRF24L01% 2B% 20Arduino% 20Uno.fzz

Processo de manufatura

  1. Circuito com interruptor
  2. Rolling Pin
  3. Ler a temperatura com DS18B20 | Raspberry Pi 2
  4. Medindo a temperatura com RASPBERRY PI
  5. Monitorando a temperatura com Raspberry Pi
  6. Postura Pal com Walabot
  7. Reconhecimento de dígitos AI com PiCamera
  8. Introdução ao TJBot
  9. Construindo um segway com Raspberry Pi
  10. GoPiGo v2 com Windows IoT