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ść 7SEG 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)