03-02-2025, 11:50 AM
Now, this terrible code is my first prototype. Remove the controller I made and connect the ESP32 to the blue wire at pin 17. Then, power on the ESP32. When you send the command '1' via the serial monitor, the heater will start working. If you send '2', the heating level will increase. If you try to increase it at the maximum level, you will see that it resets back to the minimum level. Today, I will be working on error codes. My receiving logic is also terrible, but I hope to come back with better examples. Wishing you all a good forum experience!
/*Code Begin*/
//Esp wroom32
#include <Arduino.h>
#include "HardwareSerial.h"
#define TX_RX_PIN 17 // Tek hatlı UART için kullanılacak pin
int oldValue = 0;
int newValue = 0;
unsigned long timeNow;
unsigned long timeOld;
unsigned long elapsedTime;
int counter = 0;
bool rxActive = 0;
int bool_array[128] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int ilk_yolla[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int ikinci_yollanan[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int ucuncu_yollanan[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int dorduncu_yollanan[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int besinci_yollanan[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int start_stop1[] = {
1, // 1H -> 1 adet 1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 30L -> 30 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1 // 1H -> 1 adet 1
};
int start_stop2[] = {
1, // 1H -> 1 adet 1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 30L -> 30 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1 // 1H -> 1 adet 1
};
int devamli[] = {
1, // 1H -> 1 adet 1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 30L -> 30 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1 // 1H -> 1 adet 1
};
int yeni1[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
//8H, 4L, 4H, 8L, 8H, 4L, 4H, 8L, 8H, 4L, 8H, 4L, 8H, 4L, 8H, 4L
int kazan_sorgu[] = {
1, // 1H -> 1 adet 1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 30L -> 30 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1 // 1H -> 1 adet 1
};
int yeni2[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int pompaTetikle[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
void yollama()
{
while(1)
{
digitalWrite(TX_RX_PIN, ilk_yolla[counter]);
counter++;
vTaskDelay(1);
if (counter == 128)
{
counter = 0;
digitalWrite(TX_RX_PIN, LOW);
break;
//pinMode(TX_RX_PIN, INPUT_PULLUP);
}
vTaskDelay(1);
}
}
void cevabiBekle()
{
while (1)
{
Serial.println("whileDa");
timeNow = millis();
newValue = digitalRead(TX_RX_PIN);
if (newValue != oldValue){
elapsedTime = timeNow - timeOld;
timeOld = timeNow;
}
if (elapsedTime > 25 && elapsedTime < 35)
break;
oldValue = newValue;
}
pinMode(TX_RX_PIN, OUTPUT);
}
volatile bool sendData = false;
void setup() {
Serial.begin(115200); // Seri monitör başlat
timeOld = 0;
timeNow = millis();
pinMode(TX_RX_PIN, OUTPUT);
/*
pinMode(TX_RX_PIN, INPUT);
while (1)
{
timeNow = millis();
newValue = digitalRead(TX_RX_PIN);
if (newValue != oldValue){
elapsedTime = timeNow - timeOld;
timeOld = timeNow;
}
if (elapsedTime > 25 && elapsedTime < 35)
break;
oldValue = newValue;
}
*/
}
void takeFeedback()
{
bool bits[16];
int bitsCounter = 0;
int arrayCounter = 0;
int feedBackTx[192];
vTaskDelay(1);
while(1)
{
if (digitalRead(TX_RX_PIN))
break;
vTaskDelay(1);
}
bitsCounter = 0;
feedBackTx[0] = 1;
int feedCounter = 0;
while (feedCounter < 192){
feedBackTx[feedCounter] = digitalRead(TX_RX_PIN);
//Serial.printf("%d, ", feedBackTx[feedCounter]);
feedCounter++;
vTaskDelay(1);
}
feedCounter = 0;
while (feedCounter < 192)
{
bitsCounter = 0;
while(bitsCounter < 4)
{
if (feedBackTx[feedCounter] != 1)
{
//Serial.println("4 high error!");
return;
}
bitsCounter++;
feedCounter++;
}
bits[arrayCounter] = feedBackTx[feedCounter];
arrayCounter++;
feedCounter+= 4;
bitsCounter = 0;
while(bitsCounter < 4)
{
if (feedBackTx[feedCounter] != 0)
{
//Serial.println("4 low error!");
return;
}
bitsCounter++;
feedCounter++;
}
}
Serial.println();
feedCounter = 0;
while (feedCounter < 16)
{
Serial.printf("%d, ", bits[feedCounter]);
feedCounter++;
}
Serial.println();
}
int highCounter = 1;
int lowCounter = 1;
bool sendData1 = false;
bool sendData2 = false;
bool sendData3 = false;
bool sendData4 = false;
int process = 0;
int process1 = 0;
void loop() {
/*
if (newValue == LOW)
lowCounter++;
else if (newValue == HIGH)
highCounter++;
if (newValue == LOW && oldValue == HIGH)
{
if (highCounter == 3 || highCounter == 5)
highCounter = 4;
else if (highCounter == 2)
highCounter = 1;
else if (highCounter == 7 || highCounter == 9)
highCounter = 8;
else if (highCounter == 649 || highCounter == 651 || highCounter == 652)
highCounter = 650;
Serial.printf("%dH, ", highCounter);
if (highCounter == 650)
Serial.println("");
highCounter = 1;
lowCounter = 1;
} else if (newValue == HIGH && oldValue == LOW)
{
if (lowCounter == 3 || lowCounter == 5)
lowCounter = 4;
else if (lowCounter == 29 || lowCounter == 31)
lowCounter = 30;
else if (lowCounter == 7 || lowCounter == 9)
lowCounter = 8;
Serial.printf("%dL, ", lowCounter);
if (lowCounter == 30)
Serial.println("");
highCounter = 1;
lowCounter = 1;
}
oldValue = newValue;
///Serial.printf("%d, ", newValue);
timeNow = millis();
newValue = digitalRead(TX_RX_PIN);
vTaskDelay(1);
*/
if (Serial.available()) {
char receivedChar = Serial.read();
if (receivedChar == '1') {
//pinMode(TX_RX_PIN, OUTPUT);
process = 1;
Serial.println("Veri gönderiliyor...");
} else if (receivedChar == '2') {
//pinMode(TX_RX_PIN, OUTPUT);
process = 2;
Serial.println("Veri gönderiliyor...");
} else if (receivedChar == '3') {
//pinMode(TX_RX_PIN, OUTPUT);
process = 3;
Serial.println("Veri gönderiliyor...");
} else if (receivedChar == '4') {
//pinMode(TX_RX_PIN, OUTPUT);
sendData3 = true;
Serial.println("Veri gönderiliyor...");
}
}
// 4 low 8 high 4 low = 4080
// 4 low 4 high 8 low = 3840
// 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
// 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
//
if (process1 == 0)
{
digitalWrite(TX_RX_PIN, devamli[counter]);
counter++;
vTaskDelay(1);
if (counter == 128)
{
Serial.println("PRocess1 send!");
digitalWrite(TX_RX_PIN, LOW);
pinMode(TX_RX_PIN, INPUT_PULLUP);
counter = 0;
while(1)
{
if (digitalRead(TX_RX_PIN))
{
takeFeedback();
break;
}
}
counter = 0;
pinMode(TX_RX_PIN, OUTPUT);
//cevabiBekle();
if (process1 == process)
{
process1 = 0;
process = 0;
}
else
process1 = process;
}
} else if (process1 == 1)
{
digitalWrite(TX_RX_PIN, start_stop1[counter]);
counter++;
vTaskDelay(1);
if (counter == 128)
{
Serial.println("PRocess2 send!");
digitalWrite(TX_RX_PIN, LOW);
pinMode(TX_RX_PIN, INPUT_PULLUP);
counter = 0;
while(counter < 1000)
{
if (digitalRead(TX_RX_PIN))
counter++;
vTaskDelay(1);
}
counter = 0;
pinMode(TX_RX_PIN, OUTPUT);
//cevabiBekle();
if (process1 == process)
{
process1 = 0;
process = 0;
}
else
process1 = process;
}
} else if (process1 == 2)
{
digitalWrite(TX_RX_PIN, start_stop2[counter]);
counter++;
vTaskDelay(1);
if (counter == 128)
{
Serial.println("PRocess3 send!");
digitalWrite(TX_RX_PIN, LOW);
pinMode(TX_RX_PIN, INPUT_PULLUP);
counter = 0;
while(counter < 1000)
{
if (digitalRead(TX_RX_PIN))
counter++;
vTaskDelay(1);
}
counter = 0;
pinMode(TX_RX_PIN, OUTPUT);
//cevabiBekle();
if (process1 == process)
{
process1 = 0;
process = 0;
}
else
process1 = process;
}
} else if (process1 == 3)
{
digitalWrite(TX_RX_PIN, kazan_sorgu[counter]);
counter++;
vTaskDelay(1);
if (counter == 128)
{
digitalWrite(TX_RX_PIN, LOW);
pinMode(TX_RX_PIN, INPUT_PULLUP);
counter = 0;
while(1)
{
if (digitalRead(TX_RX_PIN))
{
takeFeedback();
break;
}
}
counter = 0;
pinMode(TX_RX_PIN, OUTPUT);
//cevabiBekle();
if (process1 == process)
{
process1 = 0;
process = 0;
}
else
process1 = process;
}
}
}
/*Code end*/
/*Code Begin*/
//Esp wroom32
#include <Arduino.h>
#include "HardwareSerial.h"
#define TX_RX_PIN 17 // Tek hatlı UART için kullanılacak pin
int oldValue = 0;
int newValue = 0;
unsigned long timeNow;
unsigned long timeOld;
unsigned long elapsedTime;
int counter = 0;
bool rxActive = 0;
int bool_array[128] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int ilk_yolla[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int ikinci_yollanan[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int ucuncu_yollanan[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int dorduncu_yollanan[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int besinci_yollanan[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int start_stop1[] = {
1, // 1H -> 1 adet 1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 30L -> 30 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1 // 1H -> 1 adet 1
};
int start_stop2[] = {
1, // 1H -> 1 adet 1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 30L -> 30 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1 // 1H -> 1 adet 1
};
int devamli[] = {
1, // 1H -> 1 adet 1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 30L -> 30 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1 // 1H -> 1 adet 1
};
int yeni1[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
//8H, 4L, 4H, 8L, 8H, 4L, 4H, 8L, 8H, 4L, 8H, 4L, 8H, 4L, 8H, 4L
int kazan_sorgu[] = {
1, // 1H -> 1 adet 1
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 30L -> 30 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1, // 4H -> 4 adet 1
0,0,0,0,0,0,0,0, // 8L -> 8 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1,1,1,1,1,1,1,1, // 8H -> 8 adet 1
0,0,0,0, // 4L -> 4 adet 0
1 // 1H -> 1 adet 1
};
int yeni2[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
int pompaTetikle[] = {
// 1 ms high
1,
// 30 ms low
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 8 ms high
1, 1, 1, 1, 1, 1, 1, 1,
// 4 ms low
0, 0, 0, 0,
// 4 ms high
1, 1, 1, 1,
// 8 ms low
0, 0, 0, 0, 0, 0, 0, 0,
// 1 ms high
1
};
void yollama()
{
while(1)
{
digitalWrite(TX_RX_PIN, ilk_yolla[counter]);
counter++;
vTaskDelay(1);
if (counter == 128)
{
counter = 0;
digitalWrite(TX_RX_PIN, LOW);
break;
//pinMode(TX_RX_PIN, INPUT_PULLUP);
}
vTaskDelay(1);
}
}
void cevabiBekle()
{
while (1)
{
Serial.println("whileDa");
timeNow = millis();
newValue = digitalRead(TX_RX_PIN);
if (newValue != oldValue){
elapsedTime = timeNow - timeOld;
timeOld = timeNow;
}
if (elapsedTime > 25 && elapsedTime < 35)
break;
oldValue = newValue;
}
pinMode(TX_RX_PIN, OUTPUT);
}
volatile bool sendData = false;
void setup() {
Serial.begin(115200); // Seri monitör başlat
timeOld = 0;
timeNow = millis();
pinMode(TX_RX_PIN, OUTPUT);
/*
pinMode(TX_RX_PIN, INPUT);
while (1)
{
timeNow = millis();
newValue = digitalRead(TX_RX_PIN);
if (newValue != oldValue){
elapsedTime = timeNow - timeOld;
timeOld = timeNow;
}
if (elapsedTime > 25 && elapsedTime < 35)
break;
oldValue = newValue;
}
*/
}
void takeFeedback()
{
bool bits[16];
int bitsCounter = 0;
int arrayCounter = 0;
int feedBackTx[192];
vTaskDelay(1);
while(1)
{
if (digitalRead(TX_RX_PIN))
break;
vTaskDelay(1);
}
bitsCounter = 0;
feedBackTx[0] = 1;
int feedCounter = 0;
while (feedCounter < 192){
feedBackTx[feedCounter] = digitalRead(TX_RX_PIN);
//Serial.printf("%d, ", feedBackTx[feedCounter]);
feedCounter++;
vTaskDelay(1);
}
feedCounter = 0;
while (feedCounter < 192)
{
bitsCounter = 0;
while(bitsCounter < 4)
{
if (feedBackTx[feedCounter] != 1)
{
//Serial.println("4 high error!");
return;
}
bitsCounter++;
feedCounter++;
}
bits[arrayCounter] = feedBackTx[feedCounter];
arrayCounter++;
feedCounter+= 4;
bitsCounter = 0;
while(bitsCounter < 4)
{
if (feedBackTx[feedCounter] != 0)
{
//Serial.println("4 low error!");
return;
}
bitsCounter++;
feedCounter++;
}
}
Serial.println();
feedCounter = 0;
while (feedCounter < 16)
{
Serial.printf("%d, ", bits[feedCounter]);
feedCounter++;
}
Serial.println();
}
int highCounter = 1;
int lowCounter = 1;
bool sendData1 = false;
bool sendData2 = false;
bool sendData3 = false;
bool sendData4 = false;
int process = 0;
int process1 = 0;
void loop() {
/*
if (newValue == LOW)
lowCounter++;
else if (newValue == HIGH)
highCounter++;
if (newValue == LOW && oldValue == HIGH)
{
if (highCounter == 3 || highCounter == 5)
highCounter = 4;
else if (highCounter == 2)
highCounter = 1;
else if (highCounter == 7 || highCounter == 9)
highCounter = 8;
else if (highCounter == 649 || highCounter == 651 || highCounter == 652)
highCounter = 650;
Serial.printf("%dH, ", highCounter);
if (highCounter == 650)
Serial.println("");
highCounter = 1;
lowCounter = 1;
} else if (newValue == HIGH && oldValue == LOW)
{
if (lowCounter == 3 || lowCounter == 5)
lowCounter = 4;
else if (lowCounter == 29 || lowCounter == 31)
lowCounter = 30;
else if (lowCounter == 7 || lowCounter == 9)
lowCounter = 8;
Serial.printf("%dL, ", lowCounter);
if (lowCounter == 30)
Serial.println("");
highCounter = 1;
lowCounter = 1;
}
oldValue = newValue;
///Serial.printf("%d, ", newValue);
timeNow = millis();
newValue = digitalRead(TX_RX_PIN);
vTaskDelay(1);
*/
if (Serial.available()) {
char receivedChar = Serial.read();
if (receivedChar == '1') {
//pinMode(TX_RX_PIN, OUTPUT);
process = 1;
Serial.println("Veri gönderiliyor...");
} else if (receivedChar == '2') {
//pinMode(TX_RX_PIN, OUTPUT);
process = 2;
Serial.println("Veri gönderiliyor...");
} else if (receivedChar == '3') {
//pinMode(TX_RX_PIN, OUTPUT);
process = 3;
Serial.println("Veri gönderiliyor...");
} else if (receivedChar == '4') {
//pinMode(TX_RX_PIN, OUTPUT);
sendData3 = true;
Serial.println("Veri gönderiliyor...");
}
}
// 4 low 8 high 4 low = 4080
// 4 low 4 high 8 low = 3840
// 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
// 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
//
if (process1 == 0)
{
digitalWrite(TX_RX_PIN, devamli[counter]);
counter++;
vTaskDelay(1);
if (counter == 128)
{
Serial.println("PRocess1 send!");
digitalWrite(TX_RX_PIN, LOW);
pinMode(TX_RX_PIN, INPUT_PULLUP);
counter = 0;
while(1)
{
if (digitalRead(TX_RX_PIN))
{
takeFeedback();
break;
}
}
counter = 0;
pinMode(TX_RX_PIN, OUTPUT);
//cevabiBekle();
if (process1 == process)
{
process1 = 0;
process = 0;
}
else
process1 = process;
}
} else if (process1 == 1)
{
digitalWrite(TX_RX_PIN, start_stop1[counter]);
counter++;
vTaskDelay(1);
if (counter == 128)
{
Serial.println("PRocess2 send!");
digitalWrite(TX_RX_PIN, LOW);
pinMode(TX_RX_PIN, INPUT_PULLUP);
counter = 0;
while(counter < 1000)
{
if (digitalRead(TX_RX_PIN))
counter++;
vTaskDelay(1);
}
counter = 0;
pinMode(TX_RX_PIN, OUTPUT);
//cevabiBekle();
if (process1 == process)
{
process1 = 0;
process = 0;
}
else
process1 = process;
}
} else if (process1 == 2)
{
digitalWrite(TX_RX_PIN, start_stop2[counter]);
counter++;
vTaskDelay(1);
if (counter == 128)
{
Serial.println("PRocess3 send!");
digitalWrite(TX_RX_PIN, LOW);
pinMode(TX_RX_PIN, INPUT_PULLUP);
counter = 0;
while(counter < 1000)
{
if (digitalRead(TX_RX_PIN))
counter++;
vTaskDelay(1);
}
counter = 0;
pinMode(TX_RX_PIN, OUTPUT);
//cevabiBekle();
if (process1 == process)
{
process1 = 0;
process = 0;
}
else
process1 = process;
}
} else if (process1 == 3)
{
digitalWrite(TX_RX_PIN, kazan_sorgu[counter]);
counter++;
vTaskDelay(1);
if (counter == 128)
{
digitalWrite(TX_RX_PIN, LOW);
pinMode(TX_RX_PIN, INPUT_PULLUP);
counter = 0;
while(1)
{
if (digitalRead(TX_RX_PIN))
{
takeFeedback();
break;
}
}
counter = 0;
pinMode(TX_RX_PIN, OUTPUT);
//cevabiBekle();
if (process1 == process)
{
process1 = 0;
process = 0;
}
else
process1 = process;
}
}
}
/*Code end*/