millis() Fonksiyonu Kullanımı

  Рет қаралды 2,674

Mustafa Karakaş

Mustafa Karakaş

Күн бұрын

Arkadaşlar bu video Arduino eğitimi alanlar yada kendi kendine kodlama işini öğrenmek isteyenler için hazırladım..Yazdığınız kodları delay komutu yerine milli fonksiyonu kullanarak ileri seviyeye getirebilirsiniz. Bunun yöntemlerini bu video da belki öğrenmeye başlayabiliriz. Umarım bu uygulama bu işle uğraşan yada öğrenmek isteyenler için faydalı olur.
Bu arada Videoyu beğenmeyi ve yorum yapmayı unutmayın şimdilik hoşçakalın.
Önemli uyarı .Bi zahmet kopyala yapıştırdan uzak duralım :)
Kütüphane Linki :www.rinkydinkel....
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
MUSIC:© NCS releases are free to be used and monetised in user-generated content (UGC) made by independent content creators in video content on KZbin & Twitch, without the fear of copyright claims.
►NO COPYRIGHT Upbeat Drums & Percussion Background Music For Typography Video Copyright Free / No Copyright Music / Clap Music No Copyright / Action Drums / Copyright free Music

Пікірлер: 34
@netkonmuayene4385
@netkonmuayene4385 2 жыл бұрын
Benim gördüğüm en iyi millis anlatımı tebrikler.
@mustafakarakas8543
@mustafakarakas8543 2 жыл бұрын
ÇOK TEŞEKKÜR EDERİM.
@cavidzulfuqarli4490
@cavidzulfuqarli4490 4 жыл бұрын
Allah razi olsun coklu pratik yapalim fonksiyonla hocam daha buyuk projlerle ❤❤🇦🇿❤🇦🇿❤🇦🇿❤🇹🇷❤🇹🇷❤🇹🇷❤🇹🇷❤🇹🇷🇦🇿❤🇦🇿❤🇦🇿🇦🇿❤🇦🇿❤🇦🇿❤🇹🇷❤🇹🇷❤🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿🇦🇿🇦🇿🇦🇿🇦🇿❤🇦🇿🇹🇷🇦🇿❤🇦🇿🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿❤🇦🇿🇹🇷❤🇹🇷❤🇹🇷❤🇹🇷❤🇹🇷❤🇹🇷❤🇹🇷❤🇦🇿❤🇦🇿🇦🇿❤🇦🇿❤🇦🇿🇦🇿🇦🇿🇦🇿🇦🇿🇦🇿❤🇦🇿❤🇹🇷❤🇦🇿❤🇦🇿❤🇹🇷❤🇹🇷🇹🇷🇹🇷❤🇹🇷❤🇹🇷❤🇹🇷🇹🇷🇹🇷🇹🇷🇹🇷🐺🇹🇷🐺🇹🇷🐺🇹🇷🐺🇹🇷🐺🇹🇷🐺🇹🇷🇹🇷🐺🇹🇷🐺🇦🇿🐺🇦🇿🐺🇦🇿🐺🇦🇿🐺🇦🇿🐺🇦🇿🐺🇦🇿🐺🇦🇿🇦🇿🐺🇹🇷🐺🇹🇷🐺🇹🇷🐺🇹🇷🐺🇦🇿🐺🇦🇿🐺🇦🇿🐺🇦🇿🐺🇹🇷🐺🇹🇷🐺🇹🇷🐺🇦🇿🐺🇦🇿🐺🇦🇿🐺🇦🇿🇹🇷🐺🇹🇷🐺🇦🇿🐺🇦🇿🐺🇹🇷🐺🇹🇷🐺🇹🇷🐺🐺🇹🇷🇹🇷🐺🇦🇿🐺🇹🇷🐺🇦🇿🐺🇦🇿🐺🇹🇷🇹🇷🐺🇦🇿🐺🇹🇷🐺🇦🇿🐺🇦🇿🇦🇿🇦🇿🐺🇦🇿🇦🇿❤🇦🇿🐺🇦🇿❤🇦🇿🇦🇿🐺🇦🇿❤🇹🇷🇹🇷❤🇹🇷❤🇦🇿❤🇦🇿❤🇦🇿
@mustafakarakas8543
@mustafakarakas8543 4 жыл бұрын
Teşekkür ederim
@bahadirgulcu272
@bahadirgulcu272 4 жыл бұрын
Mustafa abi harikasın
@mustafakarakas8543
@mustafakarakas8543 4 жыл бұрын
Çok teşekkür ederim
@MelihYUKSELEN
@MelihYUKSELEN 4 жыл бұрын
Harika bir işlem
@mustafakarakas8543
@mustafakarakas8543 4 жыл бұрын
Melih Yükselen yenileri gelecek beklemede kal 👍
@mustafakarakas8543
@mustafakarakas8543 4 жыл бұрын
Valla insanın uğraştıkça uğraşası geliyor ben şu arala vide işi ile uğraşıyorum bu ara bitsin tez zamanda alıp bu ekrana girmek istiyorum
@musakrtan5966
@musakrtan5966 2 жыл бұрын
hocam motrları kullanırken delay yerıne bunu kod olarak nasıl yazıyoruz delayla aynı yerde aynı mantıktamı kulanmak gerek ornek verirmisiniz servo1.write(180); delay(2000); servo2.write(180); delay(2000); digitalWrite(13,LOW); delay(2000); buna nasıl uyarlıyoruz mantık olarak
@mustafakarakas8543
@mustafakarakas8543 2 жыл бұрын
milli fonksiyonunu ayrıntılı şekilde araştırmanız lazım aksi halde işin içinden çıkamazsınız.
@aliayhan7056
@aliayhan7056 3 жыл бұрын
merhaba hocam,nasılsınız?ben yıllar önce elektroniği öğrenmek için elektronikçide çalışıyordum.usta bir gün beni izmire gönderdi.parça almak için.dükkan dükkan gezerken Mustafa Karataş ismini elektronik malzeme satan dükkanın vitrininde görmüştüm.param yetmediği için kitabınızı alamamıştım.Allah yeniden nasip etti yeniden sizi buldum.mutluyum ... size verdiğiniz derslerden dolayı çok teşekkür ederim... milis fonksiyonunu dinlerken bir şey daha öğrendim.a0-a1-a-2 analog pinlerine 14-15-16 gibi değerlerinde verilebildiğini. Ben arduino derslerini dinleyip öğrenmeye yeni başladım.size sormak istediğim bir sorum var. milis fonksiyonunu ile ilgili... buton kulanarak yapmak istesek şöyle,butona basılsığında sayma başlasın led yansın.sayma işlemi sıfırlansın.led sönsün. daha basıldığında sayma işlemin durdursun çıksın.
@mustafakarakas8543
@mustafakarakas8543 3 жыл бұрын
Teşekkür ederim güzel sözlerin için. Soruna gelince Sanırım bu işlemi interrupt ile yapmalısın.
@aliayhan7056
@aliayhan7056 3 жыл бұрын
@@mustafakarakas8543 bunnunla ilgili bir örnek uygulamanız yada dersiniz var mı?
@mustafakarakas8543
@mustafakarakas8543 3 жыл бұрын
@@aliayhan7056 İnterrupt uygulamam videolarımın arasında var.
@mustafaerdekli5954
@mustafaerdekli5954 2 жыл бұрын
Merhaba hocam, yaptığınız çalışma ve yapmış olduğunuz yardımlardan dolayı sizlere teşekkür ederim. Üzerinde uğraştığım bir çalışmada sizin yardımınıza ihtiyacım var. Hareket sen sörünün hareketi algılaması üzerine sim800l modülü üzerinden belirlediğim iki veya daha fazla numarayı araması gerekiyor ve ben bunu yaptım buraya kadar sıkıntı yok, yani ister iki telefon ister beş telefon numarası olsun belirtin numaraların hepsinide sırayla arıyor. Benim sorunum, bu telofonlara çağrı bırakırken belirlemiş olduğum zaman aralığı kadar bekliyor, örneğin benim çalışmamda 20 saniyeye ayarlı, 20 saniye boyunca numarayı arıyor ondan sonra çağrıyı sonlandırıp diğer numarayı arıyor. Benim sizden isteğim, aşadada verececeğim projeme ait kodun öyle bir yerine kod yazmam gerekirki, sim800l modülü karşıdaki numarayı aradığında, o kişi çağrıyı reddedince veya meşgule alınca 20 saniye beklemeden hemen o çağrıyı sonlandırıp diğer numarayı araması gerekiyor. Ama çağrı reddedilmezse veya meşgule alınmazsa normal olarak 20 saniye araması gerekiyor. Bu konuda yardımcı olursanız sevinirim. Projeme ait kod: //SL IDEAS #include SoftwareSerial mySerial(3, 2); int pirsensor = 11; void setup() { randomSeed(analogRead(0)); Serial.begin(9600); mySerial.begin(9600); // original 19200. while enter 9600 for sim900A Serial.println(" logging time completed!"); pinMode(pirsensor, INPUT); delay(100); } void loop() { if ( digitalRead(pirsensor) == HIGH) { Serial.println("making call"); mySerial.println("AT"); //Once the handshake test is successful, i t will back to OK updateSerial(); mySerial.println("ATD+ +905+++++++++;"); // change ZZ with country code and xxxxxxxxxxx with phone number to dial updateSerial(); delay(20000); // wait for 20 seconds... mySerial.println("ATH"); // hang up updateSerial(); delay(2000); mySerial.println("AT"); // SEEKING 2nd TEL updateSerial(); mySerial.println("ATD+ +905+++++++++;"); // change ZZ with country code and xxxxxxxxxxx with phone number to dial updateSerial(); delay(20000); // wait for 20 seconds... mySerial.println("ATH"); // hang up updateSerial(); delay(2000); } if ( digitalRead(pirsensor) == LOW) { ; delay(1000); } } void updateSerial() { delay(500); while (Serial.available()) { mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port } while(mySerial.available()) { Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port } }
@mustafakarakas8543
@mustafakarakas8543 2 жыл бұрын
Bir if fonksiyonu koy sonra ya milis zamanını bekle yada reddeilmeyi algıla ardından istediğin işlemi yap.
@3556black
@3556black 4 жыл бұрын
Hocam bilgi paylaşımınız için çok teşekkür ederim .Çok yararlı oldu , ancak benim derlediğim bir kod da if koşulların olduğu bölümde kullandığım belirli bir mp3 parçasının örneğin 5 saniye aralıklarla çalmasını kod else bölümüne geçince diğer mp3 parçasını 3 saniye aralıklarla çalmak istiyorum bunu nasıl yapabilirim? Ben de bir öğretmenim çalışmalarınızın devamını dilerim.
@mustafakarakas8543
@mustafakarakas8543 4 жыл бұрын
Hocam sorunuzun cevabının mantığını bu video da bulabilirsiniz sanırım. kzbin.info/www/bejne/jZ2UqoSOf9yVmNU
@3556black
@3556black 4 жыл бұрын
@@mustafakarakas8543 Hocam yanıtınız için çok teşekkür ederim. Uğraşlarım sonunda başarılı olamadım derlediğim kodu buraya kopyalasam yardımcı olabilir misiniz?
@mustafakarakas8543
@mustafakarakas8543 4 жыл бұрын
@@3556black Yaz hocam vakit bulunca bakıyım.
@3556black
@3556black 4 жыл бұрын
@@mustafakarakas8543 #include #include #include #include #include #include #include RCSwitch mySwitch = RCSwitch(); JQ6500_Serial mp3(13,12); ADXL345 adxl; //variable adxl is an instance of the ADXL345 library int x, y, z; int rawX, rawY, rawZ; int mappedRawX, mappedRawY, mappedRaZ; int led = 10; unsigned long simdikizaman=0; unsigned long eskizaman=0; boolean statusLed=LOW; int Address=10; int Veri=1; void setup() { Serial.begin(9600); adxl.powerOn(); pinMode(led,OUTPUT); Serial.begin(9600); mySwitch.enableReceive(0); mp3.begin(9600); mp3.reset(); mp3.setVolume(20); mp3.setLoopMode(MP3_LOOP_NONE); mp3.play(); Serial.begin(9600); Serial.read(); Address=10; Veri = EEPROM.read(Address ); delay(10); /* Sonuçlar bilgisayar ekranına yazdırıldı */ Serial.print("EEPROMun "); Serial.print(Address); Serial.print(" Adresindeki Deger= "); Serial.print(Veri); Serial.println(); delay(10); // biraz bekleyelim } void loop() { if(mySwitch.available()) { unsigned long int num = mySwitch.getReceivedValue(); Serial.println("Gelen Deger:" + String(num)); switch(num) { case 5592332: mySwitch.disableReceive(); statusLed = HIGH; break; case 5592323: mySwitch.disableReceive(); statusLed = LOW; break; case 5592512:mySwitch.disableReceive(); Veri++; EEPROM.read(Address); delay(10); EEPROM.write(Address,Veri); while(1); case 5592368:mySwitch.disableReceive(); Veri--; EEPROM.read(Address); delay(10); EEPROM.write(Address,Veri); while(1); } digitalWrite(led, statusLed); mySwitch.resetAvailable(); mySwitch.enableReceive(0); } adxl.readAccel(&x, &y, &z); //read the accelerometer values and store them in variables x,y,z rawX = x - 7; rawY = y - 6; rawZ = z + 10; if (rawX < -255) rawX = -255; else if (rawX > 255) rawX = 255; if (rawY < -255) rawY = -255; else if (rawY > 255) rawY = 255; if (rawZ < -255) rawZ = -255; else if (rawZ > 255) rawZ = 255; int mappedRawX = map(rawX, -255, 255, 0, 180); int mappedRawY= map(rawY, -255, 255, 0, 180); int mappedRawZ= map(rawZ, -255, 255, 0, 90); Serial.print("mappedRawX = "); Serial.print(mappedRawX); // raw data with offset Serial.println("mappedRawY = "); Serial.println(mappedRawY); // raw data with offset Serial.print("mappedRawZ = "); Serial.print(mappedRawZ); // raw data with offset delay(50); simdikizaman=millis(); if(simdikizaman-eskizaman>=9000) if(mappedRawX95) { mp3.playFileByIndexNumber(EEPROM.read(Address=10)); eskizaman=millis(); } else if(mappedRawY95) { mp3.playFileByIndexNumber(EEPROM.read(Address=10)); eskizaman=millis(); } else if(mappedRawZ12) { mp3.playFileByIndexNumber(EEPROM.read(Address=10)); eskizaman=millis(); } else { mp3.playFileByIndexNumber(5); eskizaman=millis(); } } hocam else bölümünü 3er saniye aralıkla çalmasını istiyorum, bu haliyle 9 saniye aralıklar ile çalıyor çok teşekkür ederim.
@mustafakarakas8543
@mustafakarakas8543 4 жыл бұрын
@@3556black Hocam if(simdikizaman-eskizaman>=9000) Satırını if(simdikizaman-eskizaman>=3000) ile değiştiri misin ?
@kenanoztug9394
@kenanoztug9394 7 ай бұрын
Hocam koddaki s1,s2,s3,s4 başlangıç değeri 0 mı oluyor?
@mustafakarakas8543
@mustafakarakas8543 7 ай бұрын
Genelde 0 ile başlıyor ama şansa bırakamamak lazım başlangış değerini sıfıra eşitlemek gerekiyor
@orhanrcmodelci3325
@orhanrcmodelci3325 4 жыл бұрын
Hocam pwm pinine bağlı bir ledi millis ile 15 dk. da yavaş yavaş yakıp 15 dk yavaş yavaş nasıl söndürürüz bunun için nasıl bir kod yazmalıyız teşekkürler iyi çalışmalar.
@mustafakarakas8543
@mustafakarakas8543 4 жыл бұрын
İki tane değişken kullanmak gerekir sayaç kullanmak gerekir biri bitince diğeri başlar böyle böyle iki sayaç olur
@ayganotomasyon1109
@ayganotomasyon1109 4 жыл бұрын
millis sanki acilisla start alan bir kronometre gibi , peki bu kronometrenin bir ust limiti var mi? misal 100000 saniye sonra sifirlanmasi gerekir mi
@mustafakarakas8543
@mustafakarakas8543 4 жыл бұрын
Tabikide sıfırlanıyor sanırım. 49-50 günün sonunda eğer hiç durmadan çalışırsa sıfırlanıyor.
@sabri.73
@sabri.73 4 жыл бұрын
arduino unoya yüklediğim kod 5 dakika sonra donuyor, nedenini anlayamadım. yardımcı olur musunuz?
@mustafakarakas8543
@mustafakarakas8543 4 жыл бұрын
Bir sürü sebebi olabilir.
@vetkangalae7606
@vetkangalae7606 2 жыл бұрын
Elimde boyle bir kod var Birinci butonu kullanırken aynı anda ikinci kodu nasıl kullanabilirim tesekkurler int butonpin = A1; int butonpin2 = A2; int butonpin3 = A3; int role_1 = 12; int role_2 = 11; int butondurum = 0; int butondurum2 = 0; int butondurum3 = 0; void setup(){ pinMode(butonpin, INPUT); pinMode(butonpin2, INPUT); pinMode(butonpin3, INPUT); pinMode(role_1, OUTPUT); pinMode(role_2, OUTPUT); } void loop(){ butondurum = digitalRead(butonpin); butondurum2 = digitalRead(butonpin2); butondurum3 = digitalRead(butonpin3); digitalWrite(role_2,HIGH ); if (butondurum == HIGH) { digitalWrite(role_2, LOW); delay(209); digitalWrite(role_1, LOW); delay(209); digitalWrite(role_1, HIGH); delay(409); digitalWrite(role_2, HIGH); delay(16000); } else { digitalWrite(role_1, HIGH),(role_2, HIGH); } if (butondurum2 == HIGH) { digitalWrite(role_2, LOW); delay(209); digitalWrite(role_1, LOW); delay(209); digitalWrite(role_1, HIGH); delay(409); digitalWrite(role_2, HIGH); delay(6500); } else { digitalWrite(role_1, HIGH),(role_2, HIGH); } if (butondurum3 == HIGH) { digitalWrite(role_2, LOW); delay(209); digitalWrite(role_1, LOW); delay(209); digitalWrite(role_1, HIGH); delay(409); digitalWrite(role_2, HIGH); delay(4000); } else { digitalWrite(role_1, HIGH),(role_2, HIGH); } }
@mustafakarakas8543
@mustafakarakas8543 2 жыл бұрын
Delay komutunu tamamiyle kodun dışında bırakıp tamamen milli fonksiyonunu gömmeniz lazım. yani biraz uğraşmak gerekiyor.
millis() Fonksiyonu İle Sıçramasız Buton Kullanımı
7:40
Mustafa Karakaş
Рет қаралды 1,9 М.
Arduino Tarifleri #23 - millis , micros , delay , delayMicroseconds / LRT (1080p)
20:36
How Strong is Glass? 💪
00:25
Brianna
Рет қаралды 29 МЛН
Arduino ile Multitasking / Çoklu Görev
7:35
Emre Konca
Рет қаралды 26 М.
Arduino Sketch with millis() instead of delay()
14:27
Programming Electronics Academy
Рет қаралды 236 М.
What if you just keep zooming in?
21:29
Veritasium
Рет қаралды 7 МЛН
🤖Я в шоке! ChatGPT пишет Arduino проекты
28:24
millis() Fonksiyonu, 3  Buton  ve 7 Segment Display  Kullanımı
10:36
Mustafa Karakaş
Рет қаралды 944
Bilimsel Deneylerde Kendi Vücudumu Test Ettim Sonuçlar İNANILMAZ?
19:53
Cansu Canan Özgen
Рет қаралды 103 М.
What if all the world's biggest problems have the same solution?
24:52
How did the Enigma Machine work?
19:26
Jared Owen
Рет қаралды 11 МЛН
How Do Computers Remember?
19:32
Sebastian Lague
Рет қаралды 6 МЛН