I am not hiding anything, I will share what I have done openly.
In addition, the eeprom I added provides gain control. but my codes are in an old and messy way again (gcjr) you're right, I added a lot of unnecessary parentheses, your arrangement is better, I'll upload a picture, I couldn't upload it somehow. But I have to succeed
#include <EEPROM.h> // kayıt:
unsigned int kayit_adress,kaydelicek_veri; // kayıt:
unsigned int okunacak_adress,okunacak_veri; // kayıt :
unsigned long currentTime ; // millis tanımlama :
unsigned long k1,k2,k3,k4,k5,k6,k7,k8,h2,out = 0; // millis tanımlama:
unsigned int sayac ; // sayıcı buton :
const byte ButtonPin = 7; // buton gırıs :
#include "ADS1X15.h"
ADS1115 ADS(0x48);
int rdtx=0;
int rdtmax=900;
const byte trp=2; // pnp tr out:
const byte trn=3; // npn tr cıkış :
const byte kazancled=4; // led flosör output:
const byte npoutled=5; // led pnp / npn cıkısı:
const byte pwrled=6; // led gırıs :
const byte hdt = 13; // hdt gırış:
const byte outcompv=8; // ao-a1 karsılastırma cıkış :
const byte inptpp = 9; // 8 out koprusu 1-0 gırış:
const byte setswic=10; // pwm cıkısı:
const byte incompz = 12; // buton 0 pot gırış:
const byte outcompb=11; // lazer cıkış :
const byte a1=A0; // kazanc :
const byte a2 =A1; // kazanc :
const byte a3=A2; // kazanc :
const byte a4 =A3; // kazanc :
void setup(void) {
pinMode ( a1, OUTPUT ); // GAİN :
pinMode ( a2, OUTPUT ); // GAİN :
pinMode ( a3, OUTPUT ); // GAİN :
pinMode ( a4, OUTPUT ); // GAİN :
pinMode ( kazancled , OUTPUT ); // s cıkıs :
pinMode (rdtx , INPUT);
pinMode ( trp, OUTPUT ); // s :
pinMode ( trn , OUTPUT ); // s cıkıs :
pinMode (npoutled,OUTPUT); // sinyal cıkış NPN ve PNP out :
pinMode (pwrled,OUTPUT); // power ve rdt flaşör :
pinMode(hdt, OUTPUT); // modlar :
pinMode(incompz, INPUT); // 0 gırıs pot :
pinMode ( outcompb , OUTPUT ); // s :
pinMode ( outcompv , OUTPUT ); // s :
pinMode( inptpp, INPUT); // modlar :
pinMode ( setswic, OUTPUT ); // s :
digitalWrite(setswic,LOW);
// ADS1115
ADS.begin();
ADS.setGain(0);
ADS.setMode(1);
ADS.setDataRate(6);
ADS.readADC(0);
ADS.readADC(1);
}
void loop(void) {
unsigned long currentTime = millis();
static boolean buttonWasPressed = false; // son düğme durumunu hatırlamak için değişken:
boolean buttonIsPressed = digitalRead(ButtonPin) == HIGH;
static unsigned long lastStateChangeTime = 0;
if (buttonIsPressed != buttonWasPressed && currentTime - lastStateChangeTime > 25)
{
buttonWasPressed = buttonIsPressed;
lastStateChangeTime = currentTime;
if (buttonIsPressed)
sayac++;
delay (2);
if (sayac>7)
{
sayac= 0; // set modları kayıt:
}
kayit_adress = 10;
kaydelicek_veri= sayac ;
EEPROM.write (kayit_adress,kaydelicek_veri);
delay(10);
}
okunacak_adress =10 ;
okunacak_veri= EEPROM.read (okunacak_adress); sayac = okunacak_veri ;
delay (10);
if (okunacak_veri==0) {
if ( (okunacak_veri==0)&& (currentTime - k1 > 200) )
{ digitalWrite(4, !digitalRead(4)); k1 =currentTime ;} // flasör led gain sellector time :
digitalWrite(a1,HIGH); // 1000//: gain // 128 //
digitalWrite(a2,LOW);
digitalWrite(a3,LOW); // 0 //:
digitalWrite(a4,LOW);
}
else if (okunacak_veri==1) {
if ( (okunacak_veri==1)&& (currentTime - k2 > 500) )
{ digitalWrite(4, !digitalRead(4)); k2 = currentTime ;} // flasör led gain sellector time :
digitalWrite(a1,LOW); // 0100 //: gain // 256 //
digitalWrite(a2,HIGH);
digitalWrite(a3,LOW); // 1 // :
digitalWrite(a4,LOW);
}
else if (okunacak_veri==2) {
if ( (okunacak_veri==2)&& (currentTime - k3 > 700) )
{ digitalWrite(4, !digitalRead(4)); k3 = currentTime ;} // flasör led gain sellector time :
digitalWrite(a1,HIGH); // 1100//: gain 512 //
digitalWrite(a2,HIGH);
digitalWrite(a3,LOW); // 2 //:
digitalWrite(a4,LOW);
}
else if (okunacak_veri==3) {
if ( (okunacak_veri==3)&& (currentTime - k4 > 950) )
{ digitalWrite(4, !digitalRead(4)); k4 = currentTime ;} // flasör led gain sellector time :
digitalWrite(a1,LOW); // 0010//: gain 1024 //
digitalWrite(a2,LOW);
digitalWrite(a3,HIGH); // 3 //:
digitalWrite(a4,LOW);
}
else if (okunacak_veri==4) {
if ( (okunacak_veri==4)&& (currentTime - k5 > 1050) )
{ digitalWrite(4, !digitalRead(4)); k5 = currentTime ;} // flasör led gain sellector time :
digitalWrite(a1,HIGH); // 1010 //: gain 2048 //
digitalWrite(a2,LOW);
digitalWrite(a3,HIGH); // 4 //:
digitalWrite(a4,LOW);
}
else if (okunacak_veri==5) {
if ( (okunacak_veri==5)&& (currentTime - k6 > 1550) )
{ digitalWrite(4, !digitalRead(4)); k6 = currentTime ;} // flasör led gain sellector time :
digitalWrite(a1,LOW); // 0110 //: gain 2048 //
digitalWrite(a2,HIGH);
digitalWrite(a3,HIGH); // 5 //:
digitalWrite(a4,LOW);
}
else if (okunacak_veri==6) {
if ( (okunacak_veri==6)&& (currentTime - k7 > 2550) )
{ digitalWrite(4, !digitalRead(4)); k7 = currentTime ;} // flasör led gain sellector time :
digitalWrite(a1,HIGH); // 1110 //: gain 2048 //
digitalWrite(a2,HIGH);
digitalWrite(a3,HIGH); // 6 //:
digitalWrite(a4,LOW);
}
else
{
if ( (currentTime - k8 > 3150) )
{ digitalWrite(4, !digitalRead(4)); k8 = currentTime ;} // flasör led gain sellector time :
digitalWrite(a1,LOW); // 0000 // gain 12 //
digitalWrite(a2,LOW);
digitalWrite(a3,LOW); // son 7//:
digitalWrite(a4,LOW);
}
{ EEPROM.update( kayit_adress , kaydelicek_veri );}
{ int16_t tension_A0 = ADS.readADC(0);
int16_t tension_A1 = ADS.readADC(1);
byte val0 = map(tension_A0, 0, 32767, 0, 255);
analogWrite(setswic, val0);
{ int rdtx = analogRead(A6);
if (rdtx <= rdtmax )
{analogWrite(pwrled, 200);}
else
{analogWrite(pwrled, 0);}
{ int incompz = digitalRead(12);
if (digitalRead(12) == 0)
{digitalWrite(outcompb, 1);}
else
{digitalWrite(outcompb, 0);}
{ int incompz = digitalRead(12);
if (digitalRead(12) == 1 && currentTime - h2 > 200 )
{digitalWrite(hdt, 0); }
else
{digitalWrite(hdt, 1); h2=currentTime ; }
{
int16_t tension_A0 = ADS.readADC(0);
int16_t tension_A1 = ADS.readADC(1);
ADS.setGain(0);
ADS.setMode(1);
ADS.setDataRate(6);
if (tension_A0 <= tension_A1 && incompz ==0 )
{digitalWrite (outcompv ,0); }
else
{digitalWrite (outcompv ,1);}
bool inptpp = digitalRead(9); bool incompz = digitalRead(12);
if (inptpp == 1 && incompz ==0 )
{digitalWrite(trp, 1); digitalWrite(trn, 1);digitalWrite(npoutled, 1); delay (400); }
else
{digitalWrite(trp, 0); digitalWrite(trn, 0); digitalWrite(npoutled, 0); delay (1);}
}
}
}
}
}
}