Components and supplies
Pushbutton switch 12mm
Arduino Nano R3
Breadboard (generic)
Jumper wires (generic)
LED (generic)
Big Easy Driver
NEMA 17 Stepper Motor
Tools and machines
Soldering iron (generic)
Apps and platforms
Arduino IDE
Project description
Code
Arduino Code - TR
arduino
Explained in Turkish
1int dir = 12; 2int pulse = 11; 3int drvAktif = 10; 4 5int saatAyar 6 = 125; 7 8int buton1 = 8; 9int buton2 = 7; 10int ledPin = 9; 11 12int sayac 13 = 0; 14int uyariSayaci = 0; 15int limit = 1; 16int limitLed = 0; 17int uyariLimit; 18int 19 sayacAktif = false; 20 21int t; 22int t2; 23 24void setup() { 25 Serial.begin(9600); 26 27 pinMode(buton1, INPUT); 28 pinMode(buton2, INPUT); 29 30 pinMode(ledPin, 31 OUTPUT); 32 pinMode(drvAktif, OUTPUT); 33 pinMode(dir, OUTPUT); 34 pinMode(pulse, 35 OUTPUT); 36 37 digitalWrite(dir, LOW); 38 digitalWrite(pulse, LOW); 39 digitalWrite(drvAktif, 40 HIGH); 41} 42void loop() { 43 //---------Buton Kontrolleri--------------------------------- 44 45 46 while (digitalRead(buton2) == HIGH && sayacAktif == false) { 47 t++; 48 delay(1); 49 50 } 51 if (t > 500) { 52 saatAyar = 125; 53 t = 0; 54 55 } 56 if 57 (t > 50 && t < 500) { 58 saatAyar = saatAyar + 125; 59 delay(100); 60 t 61 = 0; 62 } 63 //----------Set ayarları--------------------------------------- 64 65 while (digitalRead(buton1) == HIGH && sayacAktif == false) { 66 t2++; 67 68 delay(1); 69 } 70 if (t2 < 500 && t2 > 50) { 71 limit = limit + 1; 72 73 delay(100); 74 if (limit > 5) { 75 limit = 1; 76 } 77 while 78 (limitLed < limit) { 79 analogWrite(ledPin, 200); 80 delay(150); 81 82 analogWrite(ledPin, 0); 83 delay(200); 84 limitLed = limitLed 85 + 1; 86 } 87 limitLed = 0; 88 t2 = 0; 89 } 90 91 if (t2 > 500) 92 { 93 sayac = 0; 94 sayacAktif = true; 95 delay(100); 96 t2 = 0; 97 98 } 99 100 Serial.print(limit); 101 Serial.print("\ "); 102 Serial.print(sayac); 103 104 Serial.print("\ "); 105 Serial.print(saatAyar); 106 Serial.print("\ "); 107 108 Serial.println(sayacAktif); 109 delay(1); 110 //---------Buton Kontrolleri--------------------------------- 111 112 while (sayacAktif == true && sayac < limit) { 113 //---------uyarı bölümü---------------------------------- 114 115 uyariLimit = limit - sayac; 116 while (uyariLimit > uyariSayaci) { 117 delay(300); 118 119 analogWrite(ledPin, 200); 120 delay(150); 121 analogWrite(ledPin, 122 0); 123 delay(300); 124 uyariSayaci = uyariSayaci + 1; 125 } 126 uyariSayaci 127 = 0; 128 //---------uyarı bölümü---------------------------------- 129 geriSayim(); 130 131 sayac = sayac + 1; 132 if ( sayac == limit) { 133 sayacAktif = false; 134 135 digitalWrite(drvAktif, HIGH); 136 } 137 } 138} 139void geriSayim() { 140 141 142 digitalWrite(drvAktif, LOW); 143 digitalWrite(dir, LOW); 144 for (int i = 0; 145 i <= 240; i++) { 146 analogWrite(ledPin, i); 147 digitalWrite(pulse, HIGH); 148 149 delayMicroseconds(50); 150 digitalWrite(pulse, LOW); 151 delay(saatAyar); 152 153 154 } 155 156 delay(100); 157 digitalWrite(dir, HIGH); 158 for (int i = 0; i <= 159 240; i++) { 160 analogWrite(ledPin, 240 - i); 161 digitalWrite(pulse, HIGH); 162 163 delayMicroseconds(50); 164 digitalWrite(pulse, LOW); 165 delayMicroseconds(2500); 166 167 } 168} 169 170
Arduino Code - En
arduino
Explained in English
1int dir = 12; 2int pulse = 11; 3int drvActive = 10; 4 5int timeSet = 125; 6 7int buton1 = 8; 8int buton2 = 7; 9int ledPin = 9; 10 11int counter = 0; 12int warnCount = 0; 13int limit = 1; 14int limitLed = 0; 15int warnLimit; 16int counterActive = false; 17 18int t; 19int t2; 20 21void setup() { 22 Serial.begin(9600); 23 pinMode(buton1, INPUT); 24 pinMode(buton2, INPUT); 25 26 pinMode(ledPin, OUTPUT); 27 pinMode(drvActive, OUTPUT); 28 pinMode(dir, OUTPUT); 29 pinMode(pulse, OUTPUT); 30 31 digitalWrite(dir, LOW); 32 digitalWrite(pulse, LOW); 33 digitalWrite(drvActive, HIGH); 34} 35void loop() { 36 //---------Button Controller--------------------------------- 37 38 while (digitalRead(buton2) == HIGH && counterActive == false) { 39 t++; 40 delay(1); 41 } 42 if (t > 500) { 43 timeSet = 125; 44 t = 0; 45 46 } 47 if (t > 50 && t < 500) { 48 timeSet = timeSet + 125; 49 delay(100); 50 t = 0; 51 } 52 //----------Set Settings--------------------------------------- 53 while (digitalRead(buton1) == HIGH && counterActive == false) { 54 t2++; 55 delay(1); 56 } 57 if (t2 < 500 && t2 > 50) { 58 limit = limit + 1; 59 delay(100); 60 if (limit > 5) { 61 limit = 1; 62 } 63 while (limitLed < limit) { 64 analogWrite(ledPin, 200); 65 delay(150); 66 analogWrite(ledPin, 0); 67 delay(200); 68 limitLed = limitLed + 1; 69 } 70 limitLed = 0; 71 t2 = 0; 72 } 73 74 if (t2 > 500) { 75 counter = 0; 76 counterActive = true; 77 delay(100); 78 t2 = 0; 79 } 80 81 Serial.print(limit); 82 Serial.print("\ "); 83 Serial.print(counter); 84 Serial.print("\ "); 85 Serial.print(timeSet); 86 Serial.print("\ "); 87 Serial.println(counterActive); 88 delay(1); 89 //---------Buton Controller--------------------------------- 90 while (counterActive == true && counter < limit) { 91 //---------Warning Part---------------------------------- 92 warnLimit = limit - counter; 93 while (warnLimit > warnCount) { 94 delay(300); 95 analogWrite(ledPin, 200); 96 delay(150); 97 analogWrite(ledPin, 0); 98 delay(300); 99 warnCount = warnCount + 1; 100 } 101 warnCount = 0; 102 //---------Warning Part---------------------------------- 103 countDown(); 104 counter = counter + 1; 105 if ( counter == limit) { 106 counterActive = false; 107 digitalWrite(drvActive, HIGH); 108 } 109 } 110} 111void countDown() { 112//------------Countdown Starts here--------------------- 113 digitalWrite(drvActive, LOW); 114 digitalWrite(dir, LOW); 115 for (int i = 0; i <= 240; i++) { 116 analogWrite(ledPin, i); 117 digitalWrite(pulse, HIGH); 118 delayMicroseconds(50); 119 digitalWrite(pulse, LOW); 120 delay(timeSet); 121 122 } 123 124 delay(100); 125 digitalWrite(dir, HIGH); 126 for (int i = 0; i <= 240; i++) { 127 analogWrite(ledPin, 240 - i); 128 digitalWrite(pulse, HIGH); 129 delayMicroseconds(50); 130 digitalWrite(pulse, LOW); 131 delayMicroseconds(2500); 132 } 133} 134 135
Arduino Code - TR
arduino
Explained in Turkish
1int dir = 12; 2int pulse = 11; 3int drvAktif = 10; 4 5int saatAyar = 125; 6 7int buton1 = 8; 8int buton2 = 7; 9int ledPin = 9; 10 11int sayac = 0; 12int uyariSayaci = 0; 13int limit = 1; 14int limitLed = 0; 15int uyariLimit; 16int sayacAktif = false; 17 18int t; 19int t2; 20 21void setup() { 22 Serial.begin(9600); 23 pinMode(buton1, INPUT); 24 pinMode(buton2, INPUT); 25 26 pinMode(ledPin, OUTPUT); 27 pinMode(drvAktif, OUTPUT); 28 pinMode(dir, OUTPUT); 29 pinMode(pulse, OUTPUT); 30 31 digitalWrite(dir, LOW); 32 digitalWrite(pulse, LOW); 33 digitalWrite(drvAktif, HIGH); 34} 35void loop() { 36 //---------Buton Kontrolleri--------------------------------- 37 38 while (digitalRead(buton2) == HIGH && sayacAktif == false) { 39 t++; 40 delay(1); 41 } 42 if (t > 500) { 43 saatAyar = 125; 44 t = 0; 45 46 } 47 if (t > 50 && t < 500) { 48 saatAyar = saatAyar + 125; 49 delay(100); 50 t = 0; 51 } 52 //----------Set ayarları--------------------------------------- 53 while (digitalRead(buton1) == HIGH && sayacAktif == false) { 54 t2++; 55 delay(1); 56 } 57 if (t2 < 500 && t2 > 50) { 58 limit = limit + 1; 59 delay(100); 60 if (limit > 5) { 61 limit = 1; 62 } 63 while (limitLed < limit) { 64 analogWrite(ledPin, 200); 65 delay(150); 66 analogWrite(ledPin, 0); 67 delay(200); 68 limitLed = limitLed + 1; 69 } 70 limitLed = 0; 71 t2 = 0; 72 } 73 74 if (t2 > 500) { 75 sayac = 0; 76 sayacAktif = true; 77 delay(100); 78 t2 = 0; 79 } 80 81 Serial.print(limit); 82 Serial.print("\ "); 83 Serial.print(sayac); 84 Serial.print("\ "); 85 Serial.print(saatAyar); 86 Serial.print("\ "); 87 Serial.println(sayacAktif); 88 delay(1); 89 //---------Buton Kontrolleri--------------------------------- 90 while (sayacAktif == true && sayac < limit) { 91 //---------uyarı bölümü---------------------------------- 92 uyariLimit = limit - sayac; 93 while (uyariLimit > uyariSayaci) { 94 delay(300); 95 analogWrite(ledPin, 200); 96 delay(150); 97 analogWrite(ledPin, 0); 98 delay(300); 99 uyariSayaci = uyariSayaci + 1; 100 } 101 uyariSayaci = 0; 102 //---------uyarı bölümü---------------------------------- 103 geriSayim(); 104 sayac = sayac + 1; 105 if ( sayac == limit) { 106 sayacAktif = false; 107 digitalWrite(drvAktif, HIGH); 108 } 109 } 110} 111void geriSayim() { 112 113 digitalWrite(drvAktif, LOW); 114 digitalWrite(dir, LOW); 115 for (int i = 0; i <= 240; i++) { 116 analogWrite(ledPin, i); 117 digitalWrite(pulse, HIGH); 118 delayMicroseconds(50); 119 digitalWrite(pulse, LOW); 120 delay(saatAyar); 121 122 } 123 124 delay(100); 125 digitalWrite(dir, HIGH); 126 for (int i = 0; i <= 240; i++) { 127 analogWrite(ledPin, 240 - i); 128 digitalWrite(pulse, HIGH); 129 delayMicroseconds(50); 130 digitalWrite(pulse, LOW); 131 delayMicroseconds(2500); 132 } 133} 134 135
Downloadable files
Main Circuit
Main Circuit
Main Circuit
Main Circuit
Main Circuit .fzz
Main Circuit .fzz
Main Circuit .fzz
Main Circuit .fzz
Comments
Only logged in users can leave comments
yilmazyurdakul
0 Followers
•0 Projects
Table of contents
Intro
1
0