Dziś bardzo prosty schemat z fotorezystorem wykorzystujący dzielnik napięcia.
Schemat:
I prosty kod:
Typowy włącznik zmierzchowy.
int pomiarswiatla;
void setup() {
Serial.begin(9600);
pinMode(8, OUTPUT); //wskazanie wyjścia
digitalWrite(8, LOW);//wyłączenie diody
}
void loop() {
pomiarswiatla = analogRead(A0); // wskazanie pinu czytającego dane analogowe
Serial.print("Pomiar światła = ");
Serial.println(pomiarswiatla);
if (pomiarswiatla < 350) {
digitalWrite(8, HIGH);//włączenie diody
} else {
digitalWrite(8, LOW);//wyłączenie diody
}
delay(100);
}
MicroPython
Schemat dla ESP8266 z wyświetlaczem tm1637.
Ustawia jaskrawość 7SEGx4 w zależności od oświetlenia. Potrzebna biblioteka tm1637.py
Rezystor o wartości 10k, VCC 3.3V
import time
import lib.tm1637 as tm1637, sys
from machine import Pin, ADC
tm = tm1637.TM1637(clk=Pin(5), dio=Pin(4))
def clearDisplay():
tm.write(bytearray([0, 0, 0, 0]))
def mapRange(value, inMin, inMax, outMin, outMax):
return outMin + (((value - inMin) / (inMax - inMin)) * (outMax - outMin))
ldr = ADC(0) #creating ldr object, pin A0
while True:
ldr_value = ldr.read() #reading analog pin
bright = round(mapRange(ldr_value, 0, 1024, 0, 7))
print(ldr_value, bright) #printing the ADC value
tm.brightness(bright)
tm.numbers(00, bright, False)
time.sleep(5)