TRABAJO GRUPAL”control a distancia por radiofrecuencia”
INTEGRANTES:
- Ayaque Cunyas Jose Miguel
Arduino mini pro
El Arduino Pro Mini es una placa de microcontrolador basada en el ATmega328 .
Tiene 14 pines de entrada / salida digital (de los cuales 6 se pueden usar como salidas
PWM), 6 entradas analógicas, un resonador integrado, un botón de reinicio y orificios para
montar encabezados de pines. Se puede conectar un encabezado de seis pines a un cable
FTDI o una placa de conexión Sparkfun para proporcionar alimentación USB y
comunicación a la placa.
El Arduino Pro Mini está diseñado para su instalación semipermanente en objetos o
exposiciones. La placa viene sin encabezados premontados, lo que permite el uso de
varios tipos de conectores o la soldadura directa de cables. El diseño del pin es compatible
con el Arduino Mini.
Hay dos versiones del Pro Mini. Uno corre a 3.3V y 8 MHz, el otro a 5V y 16 MHz.
Microcontrolador ATmega328 *
Fuente de alimentación de la 3,35-12 V (modelo de 3,3 V) o 5-12 V (modelo
placa de 5 V)
Voltaje de funcionamiento del 3.3V o 5V (dependiendo del modelo)
circuito
Pines de E / S digitales 14
Pines PWM 66
UART 1
SPI 1
I2C 1
Pines de entrada analógica 66
Interrupciones externas 2
Corriente CC por pin de E / S 40 mA
Memoria flash 32 KB de los cuales 2 KB utilizados por el
gestor de arranque *
SRAM 2 KB *
EEPROM 1 KB *
Velocidad de reloj 8 MHz (versiones de 3.3V) o 16 MHz
(versiones de 5V)
Módulo Apc220
El módulo de datos de radio APC220 es una solución de radio de alta potencia y muy
versátil, es fácil de configurar e integrar en cualquier proyecto que requiera un enlace de RF
inalámbrico. Es perfecto para aplicaciones robóticas si necesita control inalámbrico.
Puede conectar uno de estos Los módulos con su MCU a través de la interfaz TTL, y se
conectan a su PC con otro módulo APC220 a través de un convertidor TTL / USB.
Especificación
Frecuencia de trabajo: 420 MHz a 450 MHz
Potencia: 3.5-5.5V
Corriente: <25-35mA
Temperatura de trabajo: -20 ° C ~ + 70 ° C
Alcance: línea de visión de 1200 m (1200 bps)
Interfaz: UART / TTL
Velocidad de transmisión: 1200-19200 bps
Velocidad de transmisión (aire): 1200-19200 bps
Buffer de recepción: 256 bytes
Tamaño: 37mm × 17 mm × 6.6mm
Peso: 30 g
PinOut
Pi Definicion Detalle
n
1 SET Establecer parámetros (bajo)
2 AUX Señal UART- Transmisión (baja) Transmisión (alta)
3 TXD UART TX
4 RXD UART RX
5 ES Desactive el dispositivo cuando aplique <0,5 V. Habilite el dispositivo
cuando lo deje desconectado o aplique> 1,6 V
6 VCC 3.3V-5.5V de potencia
7 GND Tierra 0V
Modulo Relay rele de 8 canales
Voltaje de Operación: 5V DC
Señal de Control: TTL (3.3V o 5V)
Nº de Relays (canales): 8 CH
Capacidad máx: 10A/250VAC, 10A/30VDC
Corriente máx: 10A (NO), 5A (NC)
Tiempo de acción: 10 ms/5 ms
Para activar salida NO: 0 Voltios
2 Jumper
16 Led de 3 mm
16 Led de 1KOhm
Pines hembras
16 Pulsadores
Pines macho
2 zócalos para arduino mini pro
PCB
NUEVA PROPUESTA
MÓDULO NRF24L01 2.4 GHZ
// Incluir librerías NF24 y SPI.
#include <SPI.h>
#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>
// Declaración de pines CE y CSN.
const int CE = 9;
const int CSN = 10;
// Crear un objeto denominado radio.
RF24 radio (CE , CSN );
//Creamos un canal para la transmición y recepción de datos.
const uint64_t canal[2]= {0xE8E8F0F0E1LL,0xE8E8F0F0E2LL};
int pulsante = 4; //Pin para leer los valores de entrada del pulsante.
int lectura_actual = 0; //Variable que almacena los datos de lectura del pulsante.
int estado_anterior = 0; //Variables que almacena el estado anterior del pulsante.
int estado = 0; //Variable con valores de 1 y 0.
int LED = 6 ; //Pin led conexión de LED.
int brillo; //Variables con valores entre 0 y 255
void setup() {
radio.begin(); //Inicializar la comunicación RF
radio.setRetries(15,15); //Retardo y Número de reintentos de comunicación.
radio.openWritingPipe(canal[0]); //Abrir el canal 0 para escribir.
radio.openReadingPipe(1,canal[1]);//Abrir el canal 1 para leer.
void loop() {
//EMISOR:
radio.stopListening(); // Paro de escuchar por el canal 1.
lectura_actual=digitalRead(pulsante); //leer el valor del Pin conectado al pulsante.
if ((lectura_actual==HIGH) && (estado_anterior == LOW)) // Si pasa de Bajo a Alto
{estado = 1-estado; // Contador.
estado_anterior=lectura_actual; // Grabar el último valor.
radio.write(&estado,sizeof(estado)); // Escribir en el módulo los valores de la variable estado.
delay (50); // pausa de 50 ms
//RECEPTOR:
radio.startListening(); // Empezar a escuchar.
if (radio.available()) // Si esque la comunicación está disponible.
radio.read(&brillo,sizeof(brillo)); // Leer los datos y almacenar en la variable brillo.
analogWrite(LED,brillo); // Escribir valores entre 0-255 en el puerto del LED.
delay(20); // Pausa de 20 ms.
// Incluir librerías NF24 y SPI.
#include <SPI.h>
#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>
// Declaración de pines CE y CSN.
const int CE = 9;
const int CSN = 10;
// Crear un objeto denominado radio.
RF24 radio (CE , CSN );
//Creamos un canal para la transmición y recepción de datos.
const uint64_t canal[2] = {0xE8E8F0F0E1LL,0xE8E8F0F0E2LL};
int estado; //Variable con valores de 1 y 0.
int LED = 6; //Pin led conexión de LED.
int pot = A0; //Pin de conectado al Potencióetro.
int lectura_actual = 0; //Variable que almacena los datos de lectura del pulsante.
int estado_anterior = 0; //Variables que almacena el estado anterior del pulsante.
int brillo=0; //Variables con valores entre 0 y 255
void setup() {
radio.begin(); //Inicializar la comunicación RF
radio.setRetries(15,15);//Retardo y Número de reintentos de comunicación.
radio.openReadingPipe(1,canal[0]);//Abrir el canal 0 para leer.
radio.openWritingPipe(canal[1]); //Abrir el canal 1 para escribir.
void loop() {
// RECEPTOR:
radio.startListening(); // Empezar a escuchar.
if(radio.available()) // Si esque la comunicación está disponible.
radio.read(&estado,sizeof(estado)); // Leer los datos y almacenar en la variable estado.
if (estado == 1) // Si el valor de estado = 1 entonces encender LED
{digitalWrite(LED,HIGH);
if (estado == 0) // Si el valor de estado = 0 entonces apagar LED
{digitalWrite(LED,LOW);
delay(20); // ´pausa 20 ms
// EMISOR:
radio.stopListening(); // Paro de escuchar por el canal 1.
brillo=analogRead(pot)/4; // Almacenar el valor de brillo.
radio.write(&brillo,sizeof(brillo)); // Escribir en el módulo los valores de la variable brillo.
delay(50); // pausa 50 ms