Soluții

How to check what graphics card (GPU) is in your PC

Why does your GPU matter?

All computers have graphics hardware that handles everything from displaying your desktop and decoding videos to rendering demanding PC games. Most modern PCs have graphics processing units (GPUs) made by Intel, NVIDIA, or AMD, but remembering which model you have installed can be difficult.While your computer’s CPU and RAM are also important, the GPU is usually the most critical component when it comes to playing PC games.

If you don’t have a powerful enough GPU, you can’t play newer PC games—or you may have to play them with lower graphical settings.Some computers have low-power “onboard” or “integrated” graphics, while others have powerful “dedicated” or “discrete” graphics cards (sometimes called video cards).

[mai mult...]

Arduino Fingerprint Sensor

Required Components

Component Quantity Description
Arduino Uno / Nano / Mega 1 Main controller
Fingerprint Sensor (R307 / ZFM-20 / Adafruit) 1 Biometric identification
16×2 LCD with I2C Module 1 Display user messages
12V Solenoid Lock 1 Door/box locking mechanism
5V Relay Module 1 Controls solenoid lock
12V Power Supply 1 Powers solenoid
Jumper Wires Connections

The fingerprint sensor scans the user’s finger. Arduino checks if the fingerprint matches a stored ID. If it matches, the relay is activated and unlocks the solenoid lock. The LCD shows:

  • Scanning
  • Access Granted
  • Access Denied

Fingerprint Sensor → Arduino

VCC → 5V
GND → GND
TX  → D2
RX  → D3

I2C LCD → Arduino

VCC → 5V
GND → GND
SDA → A4
SCL → A5

Relay Module → Arduino

IN  → D8
VCC → 5V
GND → GND

Solenoid Lock Power Wiring

12V+ → COM on Relay
NO   → Solenoid +
Solenoid - → 12V -

IMPORTANT: Use a diode (1N4007) across solenoid terminals to prevent voltage spikes.

Arduino Code (Copy & Paste)

This code controls the fingerprint module, LCD display, and solenoid lock.


#include <Adafruit_Fingerprint.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>

SoftwareSerial fingerSerial(2, 3); // RX, TX
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&fingerSerial);
LiquidCrystal_I2C lcd(0x27, 16, 2);

int relayPin = 8;

void setup() {
lcd.init();
lcd.backlight();

pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW); // lock OFF at start

lcd.setCursor(0, 0);
lcd.print("Fingerprint");
lcd.setCursor(0, 1);
lcd.print("Access System");

delay(2000);
lcd.clear();

finger.begin(57600);
if (finger.verifyPassword()) {
lcd.print("Sensor Ready");
} else {
lcd.print("Sensor Error");
while (1);
}
delay(2000);
lcd.clear();
}

void loop() {
lcd.setCursor(0, 0);
lcd.print("Place Finger...");
lcd.setCursor(0, 1);
lcd.print(" ");

int result = getFingerprintID();

if (result >= 0) {
lcd.clear();
lcd.print("Access Granted");
unlockDoor();
} else if (result == -1) {
lcd.clear();
lcd.print("Access Denied");
delay(1500);
}

lcd.clear();
}

int getFingerprintID() {
finger.getImage();
if (finger.image2Tz() != FINGERPRINT_OK) return -1;
if (finger.fingerSearch() != FINGERPRINT_OK) return -1;

return finger.fingerID; // valid ID returned
}

void unlockDoor() {
digitalWrite(relayPin, HIGH); // open lock
delay(3000); // unlock duration
digitalWrite(relayPin, LOW); // lock again
}

You must add fingerprints before using the system.

  1. In Arduino IDE, go to File → Examples → Adafruit Fingerprint Sensor Library → Enroll
  2. Upload the sketch
  3. Open Serial Monitor
  4. Type the fingerprint ID number (1–127)
  5. Place finger twice when instructed

Fingerprint is now stored.

LCD Display Messages

Event Message
Startup Fingerprint Access System
Ready Sensor Ready
Waiting Place Finger…
Match Access Granted
No Match Access Denied

Troubleshooting

  • Fingerprint not detected: TX/RX wiring reversed
  • LCD not showing text: Wrong I2C address (try 0x3F)
  • Solenoid not activating: Check relay NO/COM wiring
  • Machine resets: Solenoid drawing current — use separate 12V supply.
[mai mult...]

Arduino Air Quality Monitoring System

Build your own Arduino-based Air Quality Monitor using sensors like the MQ-135, MQ-7, and DHT11/DHT22. This guide explains how the sensors work, how to wire them, and includes a fully commented Arduino code example.

Components Needed

Component Qty Description
Arduino Uno / Nano / Mega 1 Main microcontroller
MQ-135 Gas Sensor 1 Detects VOCs, NH₃, CO₂, smoke, pollution
DHT11 or DHT22 1 Temperature & Humidity
MQ-7 (optional) 1 Carbon Monoxide sensor
0.96″ OLED (optional) 1 Displays readings
Breadboard & Jumper Wires Wiring
USB Cable 1 Power + programming

How the Sensors Work

MQ-135 (Air Quality Sensor)

Detects harmful gases such as CO₂, NH₃, NOx, benzene, and VOCs. The analog output value increases when the air becomes more polluted. Requires a short preheat time for accuracy.

MQ-7 (Carbon Monoxide)

Detects CO gas. Optional component for advanced monitoring.

DHT11 / DHT22

Reads temperature and humidity. These values help interpret gas sensor readings more accurately.

MQ-135 Wiring

MQ135 → Arduino
VCC   → 5V
GND   → GND
A0    → A0

DHT11 / DHT22

DHT Sensor → Arduino
VCC        → 5V
GND        → GND
DATA       → D2

OLED (I2C)

OLED → Arduino
VCC  → 5V
GND  → GND
SDA  → A4
SCL  → A5

Arduino Code (Copy & Paste)


#include <DHT.h>

#define DHTPIN 2
#define DHTTYPE DHT22 // change to DHT11 if needed
DHT dht(DHTPIN, DHTTYPE);

int mq135Pin = A0;

void setup() {
Serial.begin(9600);
dht.begin();
}

void loop() {

// --- Read MQ135 Sensor ---
int mqValue = analogRead(mq135Pin);
float airQuality = map(mqValue, 0, 1023, 0, 500);
// 0 = clean air, 500 = very polluted

// --- Read Temperature & Humidity ---
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();

// --- Output Data ---
Serial.println("----------- AIR QUALITY MONITOR -----------");
Serial.print("MQ135 Raw Value: ");
Serial.println(mqValue);

Serial.print("Air Quality Index (approx): ");
Serial.print(airQuality);
Serial.println(" / 500");

Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" *C");

Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");

Serial.println("-------------------------------------------\\n");

delay(1000);
}

Understanding the Readings

MQ135 Reading Air Quality Description
0–80 Excellent Very clean air
80–150 Good Normal indoor air
150–250 Moderate Needs ventilation
250–350 Poor Polluted environment
350–500+ Hazardous High VOCs or smoke detected

Troubleshooting

  • Sensor always reads high: MQ-135 needs 1–5 minutes warm-up time.
  • No DHT readings: Check DATA pin and DHT type in code.
  • Unstable values: Add a 100nF decoupling capacitor to MQ sensor.
  • OLED not showing: Wrong I2C address — run an I2C scanner.
[mai mult...]