Stap 5: LED, LCD 1602 en BH1750
code:
/*
Dit is een eenvoudige code om te testen BH1750FVI licht senosr
communiceren met behulp van de I2C Protocol
deze bibliotheek inschakelen 2 slaaf apparaatadres
Hoofdadres 0x23
adres van de secundaire 0x5C
Deze sensor als volgt aansluiten:
VCC >>> 3,3 v
SDA >>> A4
SCL >>> A5
addr >> A3
GND >>> Gnd
Geschreven door: Mohannad-Rawashdeh
*/
Definieer eerst de bibliotheek:
#include < BH1750FVI.h > / / Sensor bibliotheek
#include < Wire.h > / / I2C bibliotheek
uint16_t Light_Intensity = 0;
De functie aanroepen
#define LedPin 9 / / led verbinden met pin D9
BH1750FVI LightSensor;
int SensorValue = 0;
VOID Setup {}
Zet uw setup-code hier, om het eenmalig uit te voeren:
Serial.begin(9600);
oproep functie beginnen dus de sensor inschakelen.
LightSensor.begin();
/*
Het adres voor deze sensor instellen
u kunt 2 verschillende adres
Device_Address_H "0x5C"
Device_Address_L "0x23"
Addr pin moet u verbinden met A3.
*/
LightSensor.SetAddress(Device_Address_H); Adres 0x5C
Om aan te passen de slaaf op ander adres, uncomment deze regel
lightMeter.SetAddress(Device_Address_L); Adres 0x5C
//-----------------------------------------------
/*
Stel de modus werken voor deze sensor
De volgende modus selecteren:
Continuous_H_resolution_Mode
Continuous_H_resolution_Mode2
Continuous_L_resolution_Mode
OneTime_H_resolution_Mode
OneTime_H_resolution_Mode2
OneTime_L_resolution_Mode
Het veiligheidsinformatieblad aanbevolen te gebruiken Continuous_H_resolution_Mode
*/
LightSensor.SetMode(Continuous_H_resolution_Mode);
pinMode(9,OUTPUT) / / Connect LED met een weerstand van 100 ohm
tot en met pin D9
}
void loop {}
Zet uw belangrijkste code hier, om het herhaaldelijk uitvoeren:
Bel GetLightIntensity() functie, zodat de sensor lezen
de waarde van intensiteit en stuur het
Light_Intensity=LightSensor.GetLightIntensity();
delay(50);
SensorValue=map(Light_Intensity,0,2000,255,0);
SensorValue=constrain(SensorValue,255,0);
digitalWrite(LedPin,SensorValue);
klaar om een andere lezing.
}
Op de bibliotheek bijlage u LCD _BH1750 Code vindt, een LCD1602 en BH1750 met elkaar verbinden
code:
/*
Dit is een eenvoudige code om te testen BH1750FVI licht senosr
communiceren met behulp van de I2C Protocol
deze bibliotheek inschakelen 2 slaaf apparaatadres
Hoofdadres 0x23
adres van de secundaire 0x5C
Deze sensor als volgt aansluiten:
VCC >>> 3,3 v
SDA >>> A4
SCL >>> A5
addr >> A3
GND >>> Gnd
Geschreven door: Mohannad-Rawashdeh
*/
Definieer eerst de bibliotheek:
#include < BH1750FVI.h > / / Sensor bibliotheek
#include < Wire.h > / / I2C bibliotheek
#include < LiquidCrystal.h >
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
uint16_t Light_Intensity = 0;
De functie aanroepen
BH1750FVI LightSensor;
VOID Setup {}
Zet uw setup-code hier, om het eenmalig uit te voeren:
Serial.begin(9600);
LCD.begin (16, 2);
oproep functie beginnen dus de sensor inschakelen.
LightSensor.begin();
LightSensor.SetAddress(Device_Address_H); Adres 0x5C
LightSensor.SetMode(Continuous_H_resolution_Mode);
lcd.setCursor (0, 0);
LCD.Print ("BH1750-Sensor");
lcd.setCursor (1, 1);
LCD.Print ("Please wait...");
delay(3000);
LCD.Clear();
}
void loop {}
Zet uw belangrijkste code hier, om het herhaaldelijk uitvoeren:
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print ("intensiteit =");
lcd.setCursor (5, 1);
Light_Intensity = LightSensor.GetLightIntensity();
LCD.Print(Light_Intensity);
LCD.Print ("Lux");
delay(2000);
}
Deze Video voor het