------------------------------------TRANSLATED TO ENGLISH FOR INSTRUCTABLES------------------------------------ /* Relay IN2 -> to Pin 7 Relay IN1 -> to Pin 6 digitalWrite'ta 0 command; Opens the relay and current current passes to right of middle pod(tested and achieved this result) The cables (green one) out of the "ON" to Q2(right relay), Off (pink cable) to Q1(left). Commands: "0" - Cuts Off The Electricity "+" - Increase the selected mode (+1) "-" - Reduce the selected mode (-1) */ int RelayPinOn = 7; int RelayPinOff = 6; int Level = 0; boolean IsStarted = false; void setup() { Serial.begin(57600); pinMode(RelayPinOn, OUTPUT); pinMode(RelayPinOff, OUTPUT); digitalWrite(RelayPinOn,1); CutOffElectric(10,50); Serial.println("Before you start read the instructions below!\n Little mistake can cause Noron Disease, Death Or Paralysis"); Serial.println("----------------------------------------------"); Serial.println("Just in case, device is shutting down\n"); Serial.println("ATTENTION: If the mod has changed manually\n that resetting will be meanless.\n\n Remove battery from device before opening Serial Monitor. \n Plug the batteries again, Start the COM without touching anything\nThen push the Mode button twice"); Serial.println("----------------------------------------------\n\n"); Serial.println("----------Commands---------------"); Serial.println("+ : Increase the selected mode"); Serial.println("- : Reduce the selected mode"); Serial.println("0 : Close Device"); Serial.println("---------------------------------\n\n"); delay (100); OpenDevice(); Serial.println("--------System Started--------"); Serial.println("Device Opened, Not Giving Electricity Yet"); } void loop() { int getValue = Serial.read(); switch (getValue) { case '+': Increase(); break; case '-': Reduce(); break; case '0': Serial.println("Cutted of electiricity"); CutOffElectric(10,50); break; } } void CutOffElectric(int HowManyTime,int BetweenTime) { for (int sayi = 1; sayi <= HowManyTime; sayi++) { digitalWrite(RelayPinOff,0); delay (BetweenTime); digitalWrite(RelayPinOff,1); delay (BetweenTime); } Level = 0; IsStarted = false; OpenDevice(); } void OpenDevice() { digitalWrite(RelayPinOn,0); delay (100); digitalWrite(RelayPinOn,1); } void Increase() { Level +=1; Serial.println("Increased 1"); digitalWrite(RelayPinOn,0); delay (50); digitalWrite(RelayPinOn,1); IsStarted = true; } void Reduce() { Level -=1; if (Level >= 1) { Serial.println("Reduced 1"); digitalWrite(RelayPinOff,0); delay (50); digitalWrite(RelayPinOff,1); } if (IsStarted == false) { Serial.println("There is nothing to reduce because of not started yet"); Level = 0; } if (Level <= 0 && IsStarted == true) { Serial.println("Achieved to Minimum Level"); Level = 1; } } --------------------------------------------------------------------------------------------------------------- ------------------------------------ORIGINAL CODE------------------------------------ /* Röle IN2 -> Pin 7'ye Röle IN1 -> Pin 6'ya digitalWrite'ta 0 komudu Röleyi açar ve orta ayağın sağından akım geçer(test ederek bu sonuca varıldı...) On'dan çıkan yeşil kablolar Q2(kabloların takıldığı yerdeki yazılara göre sağdaki röle)'ye, Off'tan çıkan pembe lablolar Q1(sol) rölesine bağlanır. Kabloların bir ucu orta ayağa, diğer ucu kabloların takıldığı yerdeki yazılara göre) sağ ayağa. Komutlar: "0" - Elektriği Keser "+" - Seçili Olan Modu 1 Arttirir "-" - Seçili Olan Modu 1 Azaltir */ int RolePinAc = 7; int RolePinKapa = 6; int Derece = 0; boolean BaslandiMi = false; void setup() { Serial.begin(57600); pinMode(RolePinAc, OUTPUT); pinMode(RolePinKapa, OUTPUT); digitalWrite(RolePinAc,1); ElektrigiKes(10,50); Serial.println("Baslamadan Once Yonergeleri Dikkatlice Oku!\nEn Kucuk Bir Hata Noron Hastaliklari,Olum Veya Felce Yol Acabilir"); Serial.println("----------------------------------------------"); Serial.println("Garantiye Almak Icin Once Cihaz Kapaniyor\n"); Serial.println("DIKKAT: Eger Mod Manuel Olarak Degistirilmisse\nBu Sifirlama Etki Etmeyecektir\n\nSeri Monitoru Acmadan Once Cihazin Pilini Cikar.\nCihazin Pilini Tak, Hicbir Seye Dokunmadan COM'u Ac\nSonra Iki Kere Mode Butonuna Bas"); Serial.println("----------------------------------------------\n\n"); Serial.println("----------Komutlar---------------"); Serial.println("+ : 1 Secili Olan Modu 1 Arttirir"); Serial.println("- : 1 Secili Olan Modu 1 Azaltir"); Serial.println("0 : 1 Cihazi Kapatir"); Serial.println("---------------------------------\n\n"); delay (100); CihaziAc(); Serial.println("--------Sistem Baslatildi--------"); Serial.println("Cihaz Acildi, Elektrik Verilmiyor"); } void loop() { int gelenDeger = Serial.read(); switch (gelenDeger) { case '+': Arttir(); break; case '-': Azalt(); break; case '0': Serial.println("Elektrigi Keser"); ElektrigiKes(10,50); // 10 kere tetik [aç-kapa yap] ve 50ms aralığında break; } } void ElektrigiKes(int KacKere,int ZamanAraligi) { for (int sayi = 1; sayi <= KacKere; sayi++) { digitalWrite(RolePinKapa,0); delay (ZamanAraligi); digitalWrite(RolePinKapa,1); delay (ZamanAraligi); } Derece = 0; BaslandiMi = false; CihaziAc(); } void CihaziAc() { digitalWrite(RolePinAc,0); delay (100); digitalWrite(RolePinAc,1); } void Arttir() { Derece +=1; Serial.println("1 Arttirildi"); digitalWrite(RolePinAc,0); // orta ayağın bi sağından tetik ver, 50 ms sonra röleyi kapat delay (50); digitalWrite(RolePinAc,1); BaslandiMi = true; } void Azalt() { Derece -=1; if (Derece >= 1) { Serial.println("1 Azaltildi"); digitalWrite(RolePinKapa,0); delay (50); digitalWrite(RolePinKapa,1); } if (BaslandiMi == false) { Serial.println("Henuz Baslanmadigi Icin Azaltilacak Bir Sey Yok"); Derece = 0; } if (Derece <= 0 && BaslandiMi == true) { Serial.println("Minimum Degere Ulasildi"); Derece = 1; } } -------------------------------------------------------------------------------------