Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

nRF24L01 + con ATtiny85 3 pines

Componentes y suministros

nRF24L01 +
× 2
ATtiny85
× 1
Arduino UNO
× 1
Condensador de cerámica - 10nF
× 1
Resistencia de película de carbono - 22kΩ
× 1
Diodo de conmutación - 1n4148
× 1
Fuente de energía - 3v3
× 1
nRF24L01 + Adaptador de enchufe
Opcional
× 1

Acerca de este proyecto

Esta sería la continuación de mi proyecto anterior Programando ATtiny85 con Arduino Uno. Ahora, con un ATtiny85 más barato, estaba buscando formas más económicas de transmitir los datos del sensor. Lo que me llevó a nRF24L01 +, un transceptor de RF barato y de baja potencia. Esta parecía ser la mejor solución para mí. Pero había un problema, la limitación en el número de pines en ATtiny85. No puedo conectar el nRF24L01 + y el sensor que contiene. Así que estaba buscando soluciones y encontré "nrf24l01 + control con 3 pines ATtiny85". Aquí hablo de cómo lo implementé.


Módulos

Habrá dos módulos aquí transmisor y receptor. El transmisor sería un ATtiny85 enviando algunos datos y el receptor sería Arduino Uno recibiendo los datos vía nRF25L01 +. Utilizo la biblioteca RF24 (http://tmrh20.github.io/RF24/). Siga las instrucciones que se dan allí y agréguelo a Arduino IDE antes de comenzar con esto. No explicaré mucho sobre RF24 ya que hay una muy buena documentación al respecto.


Transmisor

El transmisor transmite un número creciente cada segundo. El ATtiny85 enviará los datos a través de nRF24L01 + usando solo 3 pines. Sigo las instrucciones dadas por Ralph Doncaster para implementarlo.

Los componentes necesarios serían

  • ATtiny85
  • nRF24L01 +
  • Condensador cerámico - 10nF
  • Resistencia de película de carbono - 22kΩ
  • Diodo de conmutación - 1n4148

Sube el siguiente código a ATtiny85 (consulta mi proyecto anterior Programando ATtiny85 con Arduino Uno si quieres saber cómo)

sender.ino

Conecte los componentes como se muestra a continuación

Cuando la fuente de alimentación está conectada, el transmisor comenzará a enviar una secuencia de números cada 1 segundo.

Receptor

El receptor recibe los datos enviados por el transmisor y los datos recibidos se pueden ver en el Monitor de serie.

Los componentes necesarios serían

  • Arduino Uno
  • nRF24L01 +
  • nRF24L01 + Adaptador de enchufe (opcional)

Sube el siguiente código a Uno

receptor.ino

Conecte los componentes como se muestra a continuación


Si esto no está claro, consulte el archivo de fritzing adjunto con este proyecto. Tenga en cuenta que Vcc debe ser siempre 3v3. En algunos clones de Arduino Uno, es posible que la potencia 3v3 no tenga suficiente corriente, lo que hace que nRF24L01 + no funcione. Se recomienda cualquiera de los métodos siguientes para resolver este problema.

  1. Utilice una fuente de alimentación 3v3 separada
  2. Agregue un capacitor de 10uF entre Vcc y Gnd en el módulo mismo.
  3. Utilice un adaptador de enchufe nRF24L01 +


Con el transmisor y el receptor listos, ahora es el momento de probar. Asegúrese de que la fuente de alimentación del transmisor esté encendida. Conecte el Arduino Uno a la PC y abra el monitor serial en arduino ide. Debería funcionar como se muestra a continuación

Haciéndolo permanente

Con mi poco conocimiento en soldadura, lo hice permanente usando perfboard.

Este es un módulo más simple para demostrar cómo el nRF24L01 + y cómo podemos utilizar solo 3 pines de ATtiny85 para conectarlo de modo que el resto de los pines estén disponibles para leer los datos del sensor. Los comentarios / sugerencias son bienvenidos.

Código

  • Transmisor
  • Receptor
Transmisor C / C ++
 #define CE_PIN 3 # define CSN_PIN 3 // Como estamos usando una configuración de 3 pines, usaremos el mismo pin para CE y CSN # incluye "RF24.h" Radio RF24 (CE_PIN, CSN_PIN); dirección de byte [11] ="SimpleNode"; carga útil larga sin firmar =0; configuración vacía () {radio.begin (); // Inicie la radio radio.setAutoAck (1); // Asegúrese de que autoACK esté habilitado radio.setRetries (15,15); // Retraso máximo entre reintentos y número de reintentos radio.openWritingPipe (address); // Escribe en la dirección del dispositivo 'SimpleNode'} void loop (void) {payload ++; radio.write (&payload, sizeof (unsigned long)); // Enviar datos a 'Receiver' cada segundo de retraso (1000);} 
Receptor C / C ++
 #define CE_PIN 7 # define CSN_PIN 8 # include  #include "RF24.h" RF24 radio (CE_PIN, CSN_PIN); byte address [11] ="SimpleNode"; unsigned long payload =0; void setup () {Serial.begin (115200); radio.begin (); // Inicie la radio radio.setAutoAck (1); // Asegúrese de que autoACK esté habilitado radio.setRetries (15,15); // Retraso máximo entre reintentos y número de reintentos radio.openReadingPipe (1, address); // Escribe en la dirección del dispositivo 'SimpleNode' radio.startListening ();} void loop (void) {radio.stopListening (); radio.startListening (); radio.read (&payload, sizeof (unsigned long)); if (payload! =0) {Serial.print ("Got Payload"); Serial.println (carga útil); } retraso (1000);} 

Esquemas

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

Proceso de manufactura

  1. Circuito con un interruptor
  2. Rodillo
  3. Pin de bolos
  4. Leer temperatura con DS18B20 | Raspberry Pi 2
  5. Medición de temperatura con RASPBERRY PI
  6. Supervisión de la temperatura con Raspberry Pi
  7. Posture Pal con Walabot
  8. Reconocimiento de dígitos AI con PiCamera
  9. Introducción a TJBot
  10. Construyendo un segway con Raspberry Pi
  11. GoPiGo v2 con Windows IoT