#include <CD74HC4067.h>
#include <LiquidCrystal_I2C.h>
#include <Stepper.h>
CD74HC4067 mux(26, 25, 33, 32);
int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 18, 19, 5, 17);
LiquidCrystal_I2C lcd(0x27, 22, 21);
const float GAMMA = 0.7;
const float RL10 = 50;
void setup() {
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
pinMode(16, INPUT_PULLUP);
pinMode(4, OUTPUT);
pinMode(18,OUTPUT); pinMode(19,OUTPUT);
pinMode(5,OUTPUT); pinMode(17,OUTPUT);
lcd.init();
lcd.backlight();
}
void loop() {
digitalWrite(4,digitalRead(2));
for(int i = 0; i < 16; ++i)
{
mux.channel(i);
int analogValue = analogRead(27);
float voltage = analogValue / 1024. * 5;
float resistance = 2000 * voltage / (1 - voltage / 5);
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
lcd.setCursor(4, 2);
lcd.print(" ");
Serial.println(analogRead(27));
delay(1);
lcd.setCursor(4, 2);
lcd.print(analogRead(27));
//delay(1);
}
if (digitalRead(16)==1){
myStepper.setSpeed(analogRead(14));
myStepper.step(stepsPerRevolution);
delay(1);
}
lcd.setCursor(2, 0);
if(digitalRead(16)==1){
lcd.print("Engine ON ");
} else{
lcd.print("Engine OFF");
}
lcd.setCursor(2, 1);
if (digitalRead(4)==1){
lcd.print("Lasers ON ");
} else{
lcd.print("Lasers OFF");
}
delay(1);
}
ЛЗ
ДВ
Регулятор скорости
0
100
Loading
cd74hc4067
cd74hc4067