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

Transmisión Inalámbrica Eficiente de 3 Pines con nRF24L01+ y ATtiny85

Componentes y materiales

nRF24L01+ (módulo RF) × 2
ATtiny85 × 1
Arduino UNO (para programar el ATtiny85 y como receptor) × 1
Condensador cerámico 10 nF × 1
Resistencia de carbón 22 kΩ × 1
Diodo de conmutación 1N4148 × 1
Fuente de alimentación 3.3V × 1
Zócalo adaptador para nRF24L01+ (opcional) × 1

Sobre el proyecto

Este proyecto continúa el anterior Programar ATtiny85 con Arduino Uno. Buscaba una forma económica de transmitir datos de sensores y encontré el nRF24L01+, un transceptor RF de bajo coste y consumo. El problema: el ATtiny85 tiene pocos pines y no permite conectar simultáneamente el nRF24L01+ y un sensor. La solución: controlar el nRF24L01+ con solo 3 pines del ATtiny85.

Módulos

Dos módulos: Transmisor (ATtiny85 + nRF24L01+) envía datos; Receptor (Arduino UNO + nRF24L01+) los recibe y muestra en el Monitor Serie. Se usa la librería RF24 (tmrh20.github.io/RF24/), instálala en el IDE de Arduino antes de empezar.

Transmisor

El ATtiny85 envía un número incremental cada segundo usando solo 3 pines para el nRF24L01+. La técnica sigue las indicaciones de Ralph Doncaster.

Componentes del transmisor

Carga el código en el ATtiny85

(Consulta el proyecto anterior para ver cómo programar el ATtiny85 con Arduino UNO).

#define CE_PIN 3
#define CSN_PIN 3  // Mismo pin para CE y CSN en configuración de 3 pines
#include "RF24.h"
RF24 radio(CE_PIN, CSN_PIN);
byte address[11] = "SimpleNode";
unsigned long payload = 0;

void setup() {
  radio.begin();
  radio.setAutoAck(1);
  radio.setRetries(15,15);
  radio.openWritingPipe(address);
}

void loop(void){
  payload++;
  radio.write(&payload, sizeof(unsigned long));
  delay(1000);
}

Conexiones del transmisor

Transmisión Inalámbrica Eficiente de 3 Pines con nRF24L01+ y ATtiny85
Transmisión Inalámbrica Eficiente de 3 Pines con nRF24L01+ y ATtiny85
Transmisión Inalámbrica Eficiente de 3 Pines con nRF24L01+ y ATtiny85

Al alimentar, el transmisor comienza a enviar la secuencia cada segundo.

Receptor

El Arduino UNO recibe los datos y los muestra en el Monitor Serie (115200 baudios).

Componentes del receptor

Código del receptor

#define CE_PIN 7
#define CSN_PIN 8
#include <SPI.h>
#include "RF24.h"
RF24 radio(CE_PIN, CSN_PIN);
byte address[11] = "SimpleNode";
unsigned long payload = 0;

void setup() {
  Serial.begin(115200);
  radio.begin();
  radio.setAutoAck(1);
  radio.setRetries(15,15);
  radio.openReadingPipe(1, address);
  radio.startListening();
}

void loop(void){
  radio.stopListening();
  radio.startListening();
  radio.read(&payload, sizeof(unsigned long));
  if(payload != 0){
    Serial.print("Got Payload ");
    Serial.println(payload);
  }
  delay(1000);
}

Conexiones del receptor

Transmisión Inalámbrica Eficiente de 3 Pines con nRF24L01+ y ATtiny85
Transmisión Inalámbrica Eficiente de 3 Pines con nRF24L01+ y ATtiny85

Importante: El nRF24L01+ debe alimentarse **siempre a 3.3V**. En algunos clones de Arduino UNO el pin 3.3V no entrega suficiente corriente. Soluciones:

  1. Usar una fuente 3.3V externa.
  2. Añadir un condensador de 10 µF entre VCC y GND del módulo.
  3. Usar el zócalo adaptador (que suele incluir regulador y condensador).

Prueba del sistema

  1. Alimenta el transmisor.
  2. Conecta el Arduino UNO al PC y abre el Monitor Serie (115200 baudios).
  3. Deberías ver "Got Payload X" cada segundo.

Hacerlo permanente

Se montó en placa perforada (perfboard) para una versión definitiva.

Transmisión Inalámbrica Eficiente de 3 Pines con nRF24L01+ y ATtiny85
Transmisión Inalámbrica Eficiente de 3 Pines con nRF24L01+ y ATtiny85
Transmisión Inalámbrica Eficiente de 3 Pines con nRF24L01+ y ATtiny85

Este módulo demuestra cómo usar el nRF24L01+ con solo 3 pines del ATtiny85, dejando el resto libres para sensores. ¡Comentarios y sugerencias son bienvenidos!

Código

Los archivos de código están incluidos en las secciones anteriores (Transmisor y Receptor).

Esquemáticos

Proceso de manufactura

  1. El rodillo de cocina: de los orígenes etruscos a la artesanía moderna
  2. La Evolución y la Artesanía de los Bolos de Bolera Modernos
  3. Cómo leer temperatura con un DS18B20 en Raspberry Pi 2
  4. Medición de temperatura en Raspberry Pi con sensores 1-Wire Maxim y puente I2C DS2482
  5. Monitorización precisa de temperatura en armario de servidores con Raspberry Pi
  6. Posture Pal con Walabot: monitor distancia tiempo real para evitar dolor cuello y espalda
  7. Construye un Reconocedor de Dígitos con Raspberry Pi, TensorFlow y OpenCV
  8. Primeros Pasos con TJBot: Construye, Configura y Controla por Voz tu Robot IA
  9. Construye un Segway Autoequilibrado con Raspberry Pi
  10. Extensión de GoPiGo v2 en Windows 10 IoT Core para Raspberry Pi 3
  11. Circuito con interruptor: guía práctica de circuitos eléctricos básicos