Senzor oxidu uhelnatého MQ-9
Senzor reaguje nejvíce na oxid uhelnatý (CO) ale i na hořlavé plyny metan a propan. Aktivním prvkem tohoto senzoru je tenká vrstva SnO2, jejíž odpor se mění s koncentrací zmíněných plynů.
Tento projekt ukazuje, jak vytvořit jednoduchý přístupový systém pomocí RFID čtečky, LCD displeje, bzučáku a servomotoru. Systém umožňuje kontrolu přístupu pomocí RFID tagů – při správném tagu se servo otočí, zobrazí se zpráva, a systém se resetuje. Při špatném tagu bzučák vydá zvuk a zobrazí se zamítnutí přístupu.
Pro RFID-RC522:
Pro I2C LCD displej:
#include <Wire.h> // Knihovna pro I2C komunikaci #include <LiquidCrystal_I2C.h> // Knihovna pro I2C displej #include <SPI.h> // Knihovna pro SPI komunikaci #include <MFRC522.h> // Knihovna pro RFID čtečku MFRC522 #include <Servo.h> // Knihovna pro Servo motor #define BUZZER_PIN 4 // Pin pro bzučák #define SS_PIN 10 // Pin pro slave select (SS) #define RST_PIN 9 // Pin pro reset (RST) #define SERVO_PIN 6 // Pin pro Servo LiquidCrystal_I2C lcd(0x27, 16, 2); MFRC522 rfid(SS_PIN, RST_PIN); Servo myServo; byte correctUID[] = {0xC3, 0xDB, 0x3B, 0x14}; void setup() { Serial.begin(9600); lcd.init(); lcd.backlight(); SPI.begin(); rfid.PCD_Init(); pinMode(BUZZER_PIN, OUTPUT); myServo.attach(SERVO_PIN); lcd.setCursor(0, 0); lcd.print("Naskenuj RFID"); } void loop() { if (rfid.PICC_IsNewCardPresent() & rfid.PICC_ReadCardSerial()) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("UID: "); byte uid[rfid.uid.size]; for (byte i = 0; i < rfid.uid.size; i++) { uid[i] = rfid.uid.uidByte[i]; lcd.print(uid[i], HEX); lcd.print(" "); } if (jeSpravnyTag(uid)) { lcd.clear(); lcd.print("Pristup povolen"); digitalWrite(BUZZER_PIN, HIGH); delay(100); digitalWrite(BUZZER_PIN, LOW); myServo.write(25); delay(10000); asm volatile ("jmp 0"); } else { lcd.clear(); lcd.print("Pristup zamitnut"); zapipBuzzerChyba(); delay(3000); asm volatile ("jmp 0"); } rfid.PICC_HaltA(); rfid.PCD_StopCrypto1(); } } bool jeSpravnyTag(byte* uid) { for (byte i = 0; i < 4; i++) { if (uid[i] != correctUID[i]) { return false; } } return true; } void zapipBuzzerChyba() { for (int i = 0; i < 3; i++) { digitalWrite(BUZZER_PIN, HIGH); delay(200); digitalWrite(BUZZER_PIN, LOW); delay(200); } }
Senzor reaguje nejvíce na oxid uhelnatý (CO) ale i na hořlavé plyny metan a propan. Aktivním prvkem tohoto senzoru je tenká vrstva SnO2, jejíž odpor se mění s koncentrací zmíněných plynů.
Tento projekt demonstruje vytvoření jednoduché kalkulačky s LCD displejem a 4x4 maticovou klávesnicí. Kalkulačka umožňuje základní aritmetické operace jako sčítání, odčítání, násobení a dělení.