Tutorial Arduino #38

Allarme laser

Allarme laser | Tutorial Arduino ITA #37
Tutorial Arduino #37: Motore passo-passo unipolare
Tutorial Arduino #37
Motore passo-passo unipolare

Descrizione

In questo video tutorial vedremo come utilizzare un laser per creare un semplice sistema di allarme fai-da-te. Imparerai a collegare correttamente tutti i componenti, configurando Arduino per rilevare l’interruzione del fascio laser.

Durante il video analizzeremo passo dopo passo lo schema, il codice Arduino e il funzionamento dell’intero circuito. È un progetto ideale per chi vuole imparare a usare sensori ottici e realizzare sistemi di sicurezza basilari con Arduino.

Alla fine del tutorial potrai personalizzare il progetto per rendere il tuo sistema di allarme ancora più completo ed efficace.

Scarica le risorse

Progetto: Accensione del laser

Schema

Componenti

Codice

#define LASER_PIN 4#define BUTTON_PIN 7 void setup() {  pinMode(LASER_PIN, OUTPUT);  pinMode(BUTTON_PIN, INPUT);} void loop() {  if (digitalRead(BUTTON_PIN)) {    digitalWrite(LASER_PIN, !digitalRead(LASER_PIN));    delay(200);  }}
scarica il file

Progetto: Rilevamento del raggio laser

Schema

Componenti

Codice

#define LASER_PIN 4#define SENSOR_PIN A0 void setup() {  Serial.begin(9600);  pinMode(LASER_PIN, OUTPUT);  digitalWrite(LASER_PIN, HIGH);} void loop() {  int value = analogRead(SENSOR_PIN);  Serial.println(value);  delay(200);}
scarica il file

Progetto: Sistema di allarme laser

Schema

Componenti

Codice

#define LASER_PIN 4#define BUTTON_PIN 7#define SENSOR_PIN A0#define RED_LED_PIN 9#define GREEN_LED_PIN 8#define BUZZER_PIN 2 #define THRESHOLD 980#define BLINK_INTERVAL 250#define BUZZER_INTERVAL 5#define BUZZER_MIN_FREQ 600#define BUZZER_MAX_FREQ 1800#define BUZZER_FREQ_STEP 5 void setup() {  pinMode(LASER_PIN, OUTPUT);  pinMode(RED_LED_PIN, OUTPUT);  pinMode(GREEN_LED_PIN, OUTPUT);  pinMode(BUZZER_PIN, OUTPUT);  pinMode(BUTTON_PIN, INPUT);} void loop() {  static bool enabled = false;  static bool alarm = false;   if (digitalRead(BUTTON_PIN)) {    enabled = !enabled;    alarm = false;    digitalWrite(RED_LED_PIN, LOW);    digitalWrite(LASER_PIN, enabled);    digitalWrite(GREEN_LED_PIN, enabled);    noTone(BUZZER_PIN);    delay(200);  }   if (!enabled) {    return;  }   if (alarm) {    unsigned long currentTime = millis();    updateLed(currentTime);    updateBuzzer(currentTime);    return;  }   if (analogRead(SENSOR_PIN) < THRESHOLD) {    digitalWrite(LASER_PIN, LOW);    digitalWrite(GREEN_LED_PIN, LOW);    alarm = true;  }} void updateLed(unsigned long time) {   static unsigned long lastTime = 0;   if (time - lastTime >= BLINK_INTERVAL) {    digitalWrite(RED_LED_PIN, !digitalRead(RED_LED_PIN));    lastTime = time;  }} void updateBuzzer(unsigned long time) {  static unsigned long lastTime = 0;  static int frequency = BUZZER_MIN_FREQ;  static int direction = 1;   if (time - lastTime >= BUZZER_INTERVAL) {    frequency += direction * BUZZER_FREQ_STEP;     if (frequency <= BUZZER_MIN_FREQ || frequency >= BUZZER_MAX_FREQ) {      direction *= -1;    }     tone(BUZZER_PIN, frequency);    lastTime = time;  }}
scarica il file

Arduino Software Hero

Vuoi imparare a programmare Arduino, ma non sai da dove cominciare?

Iscriviti al corso online

Libri consigliati

In qualità di Affiliato Amazon riceviamo un guadagno dagli acquisti idonei


Tutorial consigliati

E-commerce di elettronica

Sul nostro negozio online trovi tutti i componenti usati nei tutorial.
Inoltre hai un'ampia scelta di prodotti tra:

  • Arduino
  • Raspberry Pi
  • Sensori
  • Robotica
  • Componenti elettronici
  • Accessori

Compra online, ricevi comodamente a casa

Visita il negozio