Sprawdź szczegółowe informacje wybranego zlecenia i zgłoś swoją ofertę.
Zlecę napisanie programu
Program ma na celu włączenie pulsowania lampy led gdy w szklarni zrobi się za gorąco.
aby zmniejszyć wydzielanie się ciepła a nie zmniejszać na stałe jasności oprawy załączane jest pulsowanie oprawy. działa to tak ze gdy zostanie osiągnięta temperatura 30C oprawa przez np. 40sek świeci z pełną mocą po czym przez kolejne 20sek świeci z mocą 20% a gdy temperatura nadal narasta załączana jest bardziej restrykcyjna procedura np pełna moc 30sek a potem 20sek 15%
Dane i algorytm programu:
Hardware:
Arduino Uno Rev3
DFRobot LCD Keypad Shield v1.1- wyświetlacz
Czujnik temperatury DS18B20 - cyfrowy 1-wire THT
Obudowa do Arduino Uno z LCD Keypad Shield v1.1
Driver lampy led PWM 1-10V meanwell
zadanie programu:
Pomiar temp. i wyświetlanie jej na ekranie
Gdy temperatura przekroczy wartość X włącz pulsowanie PWM1
Gdy temperatura przekroczy wartość Y włącz pulsowanie PWM2
Pulsowanie PWM 1 :
składa się z 4 parametrów
PWM1_temp temperatura zadziałania zakres od 20 do 50C co 1C
1t1 czas trwania pwm 100% zakres 1 do 60sek rozdzielczość 1sek
1t2 czas trwania PWM_low1 zakres 1 do 60sek rozdzielczość 1sek
PWM_low1 wartość do jakiej ma być zmniejszone PWM 0-90% rozdzielczość 5%
Pulsowanie PWM 2:
składa się z 4 parametrów
PWM2_temp temperatura zadziałania zakres od 20 do 50C co 1C
2t1 czas trwania pwm 100% zakres 1 do 60sek rozdzielczość 1sek
2t2 czas trwania PWM_low2 zakres 1 do 60sek rozdzielczość 1sek
PWM_low2 wartość do jakiej ma być zmniejszone PWM zakres 10-90% rozdzielczość 5%
Wyświetlacz powinien zawierać następujące informacje odświeżane co 1s:
PWM1 xxC xx/xx/xx Temp z czujnika 1wire
PWM2 xxC xx/xx/xx aktualne wypełnienie pwm
gdzie
xxC to temp przy jakiej zadziałe PWM1
xx/xx/xx to czas t1/t2/ile procent spadnie pwm w czasie t2
Menu:
w setupie korzystając z klawiatury wprowadzamy dane :
PWM1_temp = wartość progu zadziałania procedury od 20 do 40C co 1C
1t1= czas trwania pełnego wypełnienia PWM =100%
1t2= czas trwania zmniejszonego PWM do wartość PWM_low1
PWM_low1 wartość do jakiej zmniejszamy PWM wyjściowe
PWM2_temp = wartość progu zadziałania procedury od 20 do 40C co 1C
2t1= czas trwania pełnego wypełnienia PWM =100%
2t2= czas trwania zmniejszonego PWM do wartość PWM_low2
PWM_low2 wartość do jakiej zmniejszamy PWM wyjściowe