kodlar derlenıyo fakat millis bir turlü ıstedım gıbı calısmadı out ve h2 tanımlı millisler hersey dogru gıbı hdt bır buzzera baglı 100ms sınyal vercek out ıse 500ms acık tutacak ve kapatcak cıkısı unsigned long currentTime ; // millis tanımlama : unsigned long h2,out = 0; // millis tanımlama: #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; // flas 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; // out cıkış : void setup(void) { 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(); 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 > 100 ) {digitalWrite(hdt, 1); } else {digitalWrite(hdt, 0); h2=currentTime ; } // flaş out on to mıllıs of : { 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 && currentTime - out > 500 ) {digitalWrite(trp, 1); digitalWrite(trn, 1);digitalWrite(npoutled, 1); out =currentTime; } else {digitalWrite(trp, 0); digitalWrite(trn, 0); digitalWrite(npoutled, 0); delay (1);} } } } } } |
Bildirim