Arduino Nano
El Arduino Nano es una placa pequeña, completa y compatible con la placa de pruebas basada en el ATmega328 (Arduino Nano 3.x). Tiene más o menos la misma funcionalidad del Arduino Duemilanove, pero en un paquete diferente. Solo carece de un conector de alimentación de CC y funciona con un cable USB Mini-B en lugar de uno estándar.
Microcontrolador | ATmega328 |
Arquitectura | AVR |
Tensión de funcionamiento | 5 V |
Memoria flash | 32 KB de los cuales 2 KB utiliza el gestor de arranque |
SRAM | 2 KB |
Velocidad de reloj | 16 MHz |
Pines analógicos IN | 8 |
EEPROM | 1 KB |
Corriente CC por pines de E / S | 40 mA (pines de E / S) |
Voltaje de entrada | 7-12 V |
Pines de E / S digitales | 22 (6 de los cuales son PWM) |
Salida PWM | 6 |
El consumo de energía | 19 mA |
Tamaño de PCB | 18 x 45 mm |
Peso | 7 g |
Diagrama de pines
Un Zócalo para arduino
Pines hembra
Cables dupont hembra macho
Módulo Laser ky-008
Este módulo especialmente diseñado para Arduino emitir de forma fácil, rápida y precisa un haz laser producido por este componente
Es un Diodo Emisor de Laser que funciona a 5V y que emite a una longitud de onda de 650nm.
Características Técnicas:
Voltaje de funcionamiento: 5V
Longitud de onda: 650nm
Potencia 5 mW
Color: Rojo
Material: PCB
Dimensiones: 2.3×1.5×0.9cm
Módulo Receptor Laser
Descripción
Detectar el haz de luz de un puntero laser será ahora más sencillo con la ayuda de este sensor.
Cuando la luz es enfocada sobre el sensor, este cambia el voltaje en su salida.
Puede ser utilizado junto al módulo láser para construir sistemas de conteo, detección de intrusos, transmisión de datos a distancia.
ESPECIFICACIONES TÉCNICAS
- Voltaje de operación: 5V DC
- Salida digital TTL
- Salida de nivel alto (5V) cuando recibe señal de láser
- Salida de nivel bajo (0V) cuando no recibe señal de láser
Módulo RFID RC522
Módulo Rfid Rc522 13.56mhz Tarjeta Y Llavero Arduino
El módulo utiliza 3.3V como voltaje de alimentación y se controla a través del protocolo SPI, por lo que es compatible con casi cualquier microcontrolador, Arduino o tarjeta de desarrollo.
El RC522 utiliza un sistema avanzado de modulación y demodulación para todo tipo de dispositivos pasivos de 13.56Mhz. El dispositivo maneja el ISO14443A y soporta el algoritmo de encriptación Quick CRYPTO1 y MIFARE.
El circuito MF RC522 es utilizado para comunicación inalámbrica a 13.56Mhz para escribir o leer datos de aplicaciones de bajo consumo de energía, bajo costo y tamaño reducido. Ideal para dispositivos portátiles o tarjetas.
Características Modelo: MF522-ED
Corriente de operación: 13-26mA a 3.3V
Corriente de standby: 10-13mA a 3.3V
Corriente de sleep-mode: <80µA
Corriente máxima: 30mA
Frecuencia de operación: 13.56Mhz
Distancia de lectura: 0 a 60mm
Protocolo de comunicación: SPI
Velocidad de datos máxima: 10Mbit/s
Dimensiones: 40 x 60 mm
Temperatura de operación: -20 a 80ºC
Humedad de operación: 5%-95%
Máxima velocidad de SPI: 10Mbit/s
Descargar PCB –> pcb ardunano
Circuito
Código Fuente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
#include <SPI.h> #include <MFRC522.h> //SDA (SS) a Pin 10 del Arduino //SCK a Pin 13 del Arduino //MOSI a Pin 11 del Arduino //MISO a Pin 12 del Arduino //IRQ a N/C (no conectado) //GND a GND del Arduino //RST a Pin 9 del Arduino //3.3V a 3.3V del Arduino const int pinReceptorLaser = 8; // Pin digital donde está conectado el receptor láser const int pinBuzzer = A4; // Pin digital donde está conectado el buzzer const int pinRST = 9; // Pin RST del módulo RFID-RC522 const int pinSS = 10; // Pin SDA del módulo RFID-RC522 int estadoReceptorLaser = 0; // Variable para almacenar el estado del receptor láser bool alarmaArmada = false; // Variable para controlar si la alarma está armada bool alarmaActiva = false; // Variable para controlar el estado de la alarma const int pinLED = 2; // Pin digital donde está conectado el LED MFRC522 lectorRFID(pinSS, pinRST); // Crear instancia del objeto MFRC522 // UID de la tarjeta autorizada byte UIDAutorizado[] = {0xC5, 0x81, 0xB6, 0x35}; void setup() { pinMode(pinReceptorLaser, INPUT); pinMode(pinLED, OUTPUT); // Configurar el pin del emisor Laser como salida pinMode(pinBuzzer, OUTPUT); Serial.begin(9600); // Iniciar comunicación serial para debug SPI.begin(); // Iniciar bus SPI lectorRFID.PCD_Init(); // Iniciar módulo MFRC522 Serial.println("Coloca la tarjeta RFID..."); } void loop() { estadoReceptorLaser = digitalRead(pinReceptorLaser); // Leer el estado del receptor láser Serial.print("Estado del receptor láser: "); Serial.println(estadoReceptorLaser); // Verificar si hay una tarjeta RFID if (lectorRFID.PICC_IsNewCardPresent() && lectorRFID.PICC_ReadCardSerial()) { digitalWrite(pinLED, HIGH); // Encender el LED cuando la alarma esté armada if (esAutorizada(lectorRFID.uid.uidByte, lectorRFID.uid.size)) { alarmaArmada = !alarmaArmada; // Alternar el estado de armado de la alarma alarmaActiva = false; // Resetear el estado de la alarma if (alarmaArmada) { Serial.println("Tarjeta RFID autorizada detectada, alarma armada."); } else { Serial.println("Tarjeta RFID autorizada detectada, alarma desarmada."); digitalWrite(pinLED, LOW); // Apagar el LED cuando la alarma esté desarmada } } else { Serial.println("Tarjeta RFID no autorizada detectada."); } lectorRFID.PICC_HaltA(); // Detener lectura de la tarjeta } // Activar la alarma si está armada y el receptor láser está en LOW if (alarmaArmada) { alarmaActiva = true; } // Controlar el buzzer basado en el estado de la alarma if (alarmaActiva) { estadoReceptorLaser = digitalRead(pinReceptorLaser); // Leer el estado del receptor láser if (estadoReceptorLaser == 0) { digitalWrite(pinBuzzer, HIGH); // Encender el buzzer si la alarma está activa } } else { digitalWrite(pinBuzzer, LOW); // Apagar el buzzer si la alarma no está activa } delay(100); // Pequeña pausa para evitar lecturas erráticas } bool esAutorizada(byte *uid, byte tamanoUID) { // Verificar si el UID leído coincide con el UID autorizado if (tamanoUID != sizeof(UIDAutorizado)) { return false; } for (byte i = 0; i < tamanoUID; i++) { if (uid[i] != UIDAutorizado[i]) { return false; } } return true; } |
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas
PROYECTO RECOMENDADO