Soluții
How to Turn Off annoying AI Features on your Google Pixel Phone
The Google Pixel phone comes with a plethora of AI features, and not all of them are bad. Magic Editor, Add Me, and Live Translate are some of the AI features that I use frequently on my Pixel 10 smartphone. Similarly, there may be some AI features on your Pixel smartphone that you’re using regularly.Since everyone has a different set of features they find helpful, disabling the AICore and all AI services on your Pixel smartphone is not the ideal decision. Doing so completely turns off AI on your Pixel device, meaning you will no longer be able to use even the AI features you enjoy.The better approach would be to manually disable only the AI features you find annoying, one by one.
Below, I have highlighted the steps to disable the AI features that I personally find unnecessary on my Pixel smartphone.
[mai mult...]The Coolest Tech Gadgets released in 2025
From AI-powered smart glasses to portable holographic displays, 2025 is packed with innovative gadgets. Major tech events like CES 2025 showcased breakthroughs such as wearable health sensors, transparent laptops, and solar-charging smartphones.
Sustainability remains at the forefront, with eco-friendly materials and energy-efficient designs becoming the new standard. Smart home devices are now more interoperable, allowing users to control everything from lighting to security through unified AI assistants.
In short, 2025’s gadgets aren’t just impressive—they’re smarter, greener, and designed to simplify everyday life.
[mai mult...]The Future of Cloud Computing: 2025 and beyond
Cloud computing has evolved from a cost-saving solution to the backbone of digital transformation. In 2025, companies are embracing multi-cloud strategies, mixing AWS, Azure, and Google Cloud to maximize resilience and flexibility.
Edge computing also plays a major role—processing data closer to where it’s generated, reducing latency for IoT and AI applications. Security remains a concern, but advancements in confidential computing and zero-trust models are mitigating risks.
As organizations shift toward hybrid work, the cloud isn’t just about infrastructure—it’s about empowering collaboration and innovation across borders.
[mai mult...]RFID Door Lock with Arduino
In this detailed guide, you’ll learn how to build an RFID door lock system using an Arduino Uno and an MFRC522 RFID reader. The system reads RFID cards or keyfobs, checks authorization, and controls a solenoid lock or servo latch to grant access. It’s perfect for home automation, maker projects, or educational demonstrations.
Solenoid Lock Wiring
Arduino D7 → Gate of MOSFET (via 100Ω resistor)
MOSFET Source → GND (common)
MOSFET Drain → Solenoid negative terminal
Solenoid positive → +12V
12V supply GND → Arduino GND
Flyback diode across solenoid (1N4007, cathode to +12V)
Optional Servo Connection
Servo Signal → D7 (PWM)
Servo V+ → 5V external supply
Servo GND → Common GND
Arduino Code — Basic Version
This version uses a hard-coded list of authorized RFID tags.
/* RFID Door Lock - Basic Version */
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#define RST_PIN 9
#define SDA_PIN 10
MFRC522 rfid(SDA_PIN, RST_PIN);
#define ACTUATOR_TYPE 0 // 0=Solenoid/Relay, 1=Servo
const int RELAY_PIN = 7;
const int LED_PIN = 4;
const int BUZZER_PIN = 5;
const int SERVO_PIN = 7;
const unsigned long UNLOCK_MS = 3000;
Servo lockServo;
void setup() {
Serial.begin(115200);
SPI.begin();
rfid.PCD_Init();
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
if (ACTUATOR_TYPE == 0) {
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
} else {
lockServo.attach(SERVO_PIN);
lockServo.write(0);
}
Serial.println("RFID door lock ready");
}
// Replace these with your own card UIDs
byte allowedUIDs[][4] = {
{0xDE, 0xAD, 0xBE, 0xEF},
{0x11, 0x22, 0x33, 0x44}
};
const int allowedCount = sizeof(allowedUIDs)/4;
bool uidAllowed(byte *uid, byte uidSize) {
if (uidSize != 4) return false;
for (int i=0;i<allowedCount;i++) {
bool match = true;
for (int j=0;j<4;j++) if (allowedUIDs[i][j] != uid[j]) { match = false; break; }
if (match) return true;
}
return false;
}
void unlockAction() {
Serial.println("UNLOCK!");
digitalWrite(LED_PIN, HIGH);
tone(BUZZER_PIN, 1000, 150);
if (ACTUATOR_TYPE == 0) {
digitalWrite(RELAY_PIN, HIGH);
delay(UNLOCK_MS);
digitalWrite(RELAY_PIN, LOW);
} else {
lockServo.write(90);
delay(UNLOCK_MS);
lockServo.write(0);
}
digitalWrite(LED_PIN, LOW);
}
void loop() {
if (!rfid.PICC_IsNewCardPresent()) return;
if (!rfid.PICC_ReadCardSerial()) return;
Serial.print("Card UID:");
for (byte i=0;i<rfid.uid.size;i++) {
Serial.print(" ");
Serial.print(rfid.uid.uidByte[i], HEX);
}
Serial.println();
if (uidAllowed(rfid.uid.uidByte, rfid.uid.size)) {
Serial.println("Access granted");
unlockAction();
} else {
Serial.println("Access denied");
for (int i=0;i<2;i++) {
tone(BUZZER_PIN, 600, 150);
digitalWrite(LED_PIN, HIGH);
delay(200);
digitalWrite(LED_PIN, LOW);
delay(100);
}
}
rfid.PICC_HaltA();
rfid.PCD_StopCrypto1();
}
Advanced Version — Store Tags in EEPROM
This version allows adding and removing authorized cards dynamically through the Serial Monitor.
/* RFID Door Lock - EEPROM Version */
#include <SPI.h>
#include <MFRC522.h>
#include <EEPROM.h>
#define RST_PIN 9
#define SDA_PIN 10
MFRC522 rfid(SDA_PIN, RST_PIN);
#define RELAY_PIN 7
#define LED_PIN 4
#define BUZZER_PIN 5
#define UNLOCK_MS 3000
#define MAX_TAGS 20
#define UID_SIZE 4
#define EEPROM_START 0
void setup() {
Serial.begin(115200);
SPI.begin();
rfid.PCD_Init();
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
Serial.println("RFID lock with EEPROM ready");
}
/* Helper functions omitted for brevity in this preview — see full code in guide */
Serial commands:
l— List stored tagsa— Add a new tag (scan after command)r— Remove a tagc— Clear all stored tags
Power Considerations
- Use a separate 12V supply for the solenoid; common the grounds.
- Add a large capacitor (470µF–2200µF) across the solenoid supply.
- Always include a flyback diode to protect electronics.
- If using a servo, power it from an external 5V supply.
Mechanical Installation
- Ensure alignment between lock and strike plate.
- Provide a manual override or emergency key.
- Mount RFID reader within 5–10 cm of tag presentation area.
- Keep metal objects away from the RC522 antenna.
Testing Steps
- Upload code and open Serial Monitor (115200 baud).
- Scan a card — its UID should appear.
- Add card to allowed list or EEPROM memory.
- Test actuator operation and timing.
- Confirm power supply stability under load.
Troubleshooting
| Issue | Possible Cause | Fix |
|---|---|---|
| No response from reader | Wrong wiring or 5V used | Use 3.3V and correct SPI pins |
| Actuator not moving | Power supply too weak or wrong driver | Use proper MOSFET/relay and check GND |
| UIDs print gibberish | Wrong Serial baud rate | Match Serial.begin(115200) |
| Unstable lock | Power noise | Add capacitor or separate supply |
Security Enhancements
- Use MIFARE DESFire or NTAG cards for better encryption.
- Add a keypad for two-factor access (RFID + PIN).
- Implement attempt-limit lockout for brute-force protection.
- Use metal enclosure and tamper switch for extra security.
Optional Upgrades
- OLED/LCD display for user feedback
- Wi-Fi / MQTT integration (ESP8266 or ESP32)
- RTC + SD card logging for audit trail
- Battery backup for power loss protection
- Cloud dashboard or mobile control app.
Arduino Temperature Sensor
You’ll build a simple digital thermometer that measures ambient temperature using a temperature sensor (like the LM35, TMP36, or DHT11) and displays the reading via the Serial Monitor or LCD screen.
We’ll cover two main versions:
-
Basic Version — Using an analog temperature sensor (LM35 or TMP36).
-
Advanced Version — Using a digital sensor (DHT11 or DHT22) with humidity support.
Materials Needed
| Component | Quantity | Description |
|---|---|---|
| Arduino Uno (or Nano/Mega) | 1 | The main microcontroller board |
| LM35 or TMP36 sensor | 1 | Analog temperature sensor |
| Breadboard | 1 | For easy circuit assembly |
| Jumper wires | ~6 | Male-to-male wires |
| USB cable | 1 | To connect Arduino to your computer |
| (Optional) 16×2 LCD Display | 1 | For local display |
| (Optional) 10kΩ Potentiometer | 1 | LCD contrast control |
Step 1: Understand the Sensor
LM35 Pinout
| Pin | Label | Function |
|---|---|---|
| 1 | VCC | +5V from Arduino |
| 2 | VOUT | Analog output (connect to Arduino analog input) |
| 3 | GND | Ground |
The LM35 outputs 10 mV per °C.
So if the output voltage = 250 mV → temperature = 25°C.
Step 2: Wiring the LM35 to Arduino
Connections
| LM35 Pin | Connects To |
|---|---|
| VCC | 5V on Arduino |
| GND | GND on Arduino |
| VOUT | A0 on Arduino |
Circuit Diagram (Text Form)
Step 3: Arduino Code (LM35 Version)
Explanation
-
analogRead(A0): reads 0–1023 corresponding to 0–5V.
-
Voltage calculation:
(value * 5.0) / 1023.0. -
LM35 output scaling: 10 mV = 1°C → multiply voltage by 100.
Step 4: Viewing Data
-
Open Arduino IDE → Tools → Serial Monitor.
-
Set baud rate = 9600.
-
You’ll see continuous readings like:
Step 5: Calibration (Optional)
Real sensors may have small offsets.
You can adjust the output manually:
Compare readings with a known thermometer and tweak the offset until accurate.
Advanced: Using DHT11 / DHT22 (Digital Sensor)
Required Library
-
Install “DHT sensor library” by Adafruit from Arduino Library Manager.
Wiring (DHT11)
| DHT11 Pin | Connects To |
|---|---|
| VCC | 5V |
| GND | GND |
| DATA | Digital Pin 2 |
Code (DHT11)
Step 6: (Optional) Display on LCD
If using a 16×2 LCD (I2C):
-
Install “LiquidCrystal_I2C” library.
-
Connect SDA → A4, SCL → A5.
-
Example snippet:
Troubleshooting Guide
| Issue | Possible Cause | Solution |
|---|---|---|
| No readings / 0°C | Wrong wiring or pin | Check sensor pins |
| Negative readings | Wrong sensor type (TMP36 needs offset) | Adjust formula |
| Unstable readings | Noisy analog signal | Add capacitor (0.1 µF) between VOUT & GND |
| “nan” or “Failed to read” | DHT library issue | Check sensor type & connections |
Next Steps & Enhancements
-
Add OLED / LCD display for portable thermometer
-
Store data using SD card module
-
Upload readings to the cloud via ESP8266 / WiFi module
-
Use RGB LED to indicate temperature range (blue/cool, red/hot)
-
Build an IoT dashboard (ThingSpeak, Blynk, etc.).