Pentru a detecta prezenta sau absenta luminii cu ajutorul placii de dezvoltare STM32F103C8 BluePill putem folosi un modul LDR.

    Acest modul este cel din poza de mai jos:

    Modulul contine un fotorezistor, un circuit integrat LM393, un rezistor semireglabil pentru a regla sensibilitatea senzorului si cateva componente pasive. Alimentarea modulului se poate face cu o tensiune cuprinsa intre 3.3V si 5V iar iesirea modulului este de tip digital, adica in prezenta luminii la iesire vom avea un zero logic (LOW) iar in absenta luminii la iesire vom avea un unu logic (HIGH).

    Pretul acestui modul este de 5 lei si se poate achizitiona de aici.

    Conectarea modulului cu placa de dezvoltare este foarte simpla, iesirea digitala a modulului fiind conectata la pinul PB3 al STM32.

    Pentru a afisa daca detectam sau nu lumina putem folosi un led sau, in acest exemplu, vom afisa aceste informatii pe un display LCD 1602 cu adaptor I2C. Acest display se va conecta conform informatiilor din acest articol.

    Sketchul folosit pentru a testa functionarea montajului este cel de mai jos:

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int LDR = PB3;

void setup() {
  lcd.begin();
  pinMode(LDR, INPUT);
  lcd.setCursor(0, 0);
  lcd.print("electronicstore");
  lcd.setCursor(13, 1);
  lcd.print(".ro");
  delay(1000);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Senzor lumina");
  lcd.setCursor(0, 1);
  lcd.print("cu fotorezistor");
  delay(1000);
}

void loop() {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Status:");
  lcd.setCursor(0, 1);
  int val = digitalRead(LDR);
  if(val == LOW ){
    lcd.print("Lumina");
  }
  else{
    lcd.print("Intuneric");
  }
  delay(1000);
}

 

Nu sunt comentarii

Acest website foloseste cookie-uri pentru o experienta placuta in timpul navigarii.