Arduino millis ile aynı anda birden fazla işlem yaptırmak - 2.bölüm - Ders 26 -

  Рет қаралды 6,563

Görsel İşitsel Teknoloji

Görsel İşitsel Teknoloji

Күн бұрын

Пікірлер: 71
@erhanaktepe8434
@erhanaktepe8434 Жыл бұрын
Hocam siz resmen ışığı görmeye yardımcı oluyorsunuz , bu kadar güzel ve sürükleyici bir anlatım yok
Жыл бұрын
Teşekkür ederim ☺️
@unlunl87
@unlunl87 2 жыл бұрын
Sizin gibi bilgisini paylaşan eğiten öğreten insanlara hayranım hocam teşekkürler.
2 жыл бұрын
Teşekkür ederim ☺️
@celalkalaycoglu4880
@celalkalaycoglu4880 9 ай бұрын
Hocam çok teşekkür ederiz bizi bilgilendiriyorsunuz
9 ай бұрын
👋👋👋
@cemilerdem5694
@cemilerdem5694 Жыл бұрын
Teşekkürler
Жыл бұрын
👋👋👋
@ahmetaydin3313
@ahmetaydin3313 Жыл бұрын
emeğinize sağlık hocam çok çok teşekkürler
Жыл бұрын
Teşekkürler ☺️
@oyungezegeni6012
@oyungezegeni6012 2 жыл бұрын
Güzel bir paylaşım olmuş emeğinize sağlık
2 жыл бұрын
Teşekkür ederim
@serdarcal
@serdarcal Жыл бұрын
Gerçekten tebrik ederim 👏👏
Жыл бұрын
Teşekkürler ☺️
@turgutaydogan5753
@turgutaydogan5753 Жыл бұрын
teşekkürler Allah razı olsun senden
Жыл бұрын
👋👋👋
@technicahmett
@technicahmett 2 жыл бұрын
Hocam elinize sağlık. Çok güzel ve detaylı bir video olmuş. Millis tam oturmamıştı ama aturmaya başladı. Fakat aklıma takılan birşey var, bu led yakmalarını buton basılınca nasıl başlatılırız. Yani buton yada başka bir girdiye göre led yakmak istediğimizde millis i nasıl kullanacağız. Bunu tam olarak anlayamadım.
2 жыл бұрын
Kanalımdaki arduino öğreniyorum serisi içindeki buton sayaç ve diğer videolarda bir çoğunda örnekledim onlardan faydalanabilirsiniz.
@kadirtunç-l2k
@kadirtunç-l2k 11 ай бұрын
supersin hocam
11 ай бұрын
👋👋👋
@serdarcal
@serdarcal 3 ай бұрын
Öncelikle eğitimleriniz bana projelerimde çok ama çok yardımcı oluyor bunun için çok teşekkür ederim. Anlamadığım bir yer var. Her gecikme kullanacağımız zaman if yapısı içerisindeki süreyi artıracakmıyız?
3 ай бұрын
Gecikme için kullandığınız süre sabit ise fonksiyon olarak ayarlanabilir ve istediğiniz yerde kullanabilirsiniz.
@serdarcal
@serdarcal 3 ай бұрын
Teşekkürler
@anlimaca
@anlimaca Жыл бұрын
Hocam aşağıdaki kodda led 1 er saniye aralıklarla yanıp sönüyor, ve delay kullanmadan örneklerinizdeki gibi millis ile yaptım. Fakat bir noktada tıkandım. if (brakestatus == 0) { if (now - before > 1000) { ledstatus = !ledstatus; digitalWrite(led, ledstatus); before = now; } } else { analogWrite(led, 255); } Ben led in yaklaşık 60 milisaniye yanıp, 1 saniye kadar sönük kalmasını ve bunu tekrarlamasını istiyorum. Ama yukarıdaki kodda 1 saniye yanıp 1 saniye sönüyor.
Жыл бұрын
ledstatus yerine high low kullanın delay yerine millis kullanabilirsiniz. İki ayrı millis kullanacaksınız.
@caglarsayim3107
@caglarsayim3107 Жыл бұрын
hocam bizim işlemcimiz aynı anda sadece bir işelmi gerçekleştiryordu şimdi kırmızı lede 500ms verdik yeşil lede 1000 ms verdik 1000ms anında ikisininde yanması gerekiyor işlemci ikisini aynı anda nasıl çalıştırıyor.
Жыл бұрын
Bu işlemi ms hızında yaptığı için aradaki minik gecikmeleri biz farkedemiyoruz
@ahmetozdemir7173
@ahmetozdemir7173 Жыл бұрын
Millis komutunun ne olduğunu anlaaya çalışanlar mutlaka sizi dinlemeli.
Жыл бұрын
👋👋👋
@sinandemir4945
@sinandemir4945 7 ай бұрын
hocam ben arduino nano da hc06 ile uzaktan kontrollü araç uygulamamda ayrıca polis çakarı fonksiyonu ekledim fakat çakar çalışınca fonksiyonu çalışınca uzaktan kontrol sırasında sıkıntı yaşıyorum ya almıyor yada takılı kalıyor. lütfen bana yardımcı olur musunuz
7 ай бұрын
Çakar için delay kullanmayın ve ayrıca aşağıdaki video da fikir verebilir Arduino - Kesmeler - Zaman Kesme - Aynı Anda iki işlem - Robotik Kodlama Dersleri - 75 - kzbin.info/www/bejne/ennEaaV_qNl2o8k
@sinandemir4945
@sinandemir4945 7 ай бұрын
Hocam o ve bir çok videonuzu izledim ama kaç gündür uğraşıyorum bir türlü mantığı çözemedim ne yaptıysam beceremedim.bana yardımcı olun hacom
@fzlsr
@fzlsr 2 жыл бұрын
1 jojstick 2 adet step motor 4 kanal röle 2 arduino 2 nrf24 antenli alet aldım. İş makinesini uzaktan kontrol etmeye çalışıyorum. Uzaktan marş yaptırdım. 1. Röle kontak, 2. Röle kızdırma bujisi, 3. Röle marş motoru, 4. Röle korna. Buraya kadar yaptım. Şimdi 1. Step motor gaz pedalına, 2. Step motoru direksiyona takmak istiyorum. Mekanik işini ben yapacağım ancak uzaktan kumanda ve kodları için yardım lazım.🙏
2 жыл бұрын
Detaylı bir proje. Özelden mail ile iletişime geçebilirsiniz.
@fzlsr
@fzlsr 2 жыл бұрын
@ mail bulamadım hocam size zahmet yazar mısınız
2 жыл бұрын
@@fzlsr kerim42ari@gmail.com
@ozankavci
@ozankavci 2 жыл бұрын
Hocam merhaba, zaman fonksiyonu demişken. Watch dog timer dan bahsedermisiniz neredeyse hiç Türkçe kaynak yok
@ozankavci
@ozankavci 2 жыл бұрын
Bonus olarak 🙏
2 жыл бұрын
Bu konuyada yer verelim inş.
@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); } }
2 жыл бұрын
İşlemler arasında çok uzun delay kullanmak algoritmayı bekletir. Bunun yerine millis i uyarlayınız. Video içinde yöntemi mevcut.
@mustafasartas3481
@mustafasartas3481 Жыл бұрын
hocam çok güzel bi çalışma olmuş benim aklıma takılan bir durum oldu ben nema 17 step motor kullanırken adımlar arası bekleme delayMicroseconds ile yapıyordum ve fonksiyon içinde mesela 3veya4 motor kullanırken motorlara tek tek hareket vermek istediğim zaman motor bi ses çıkarıp hareket etmiyordu bunun sebebi araya bekleme komutu olarak kullandığım delay fonksiyonu mu sebep oluyor ve adımlar arası bekleme süresini millis olarak nasıl kullanabilirim ( mail yerine yorum olarak yazdım belki ihtiyacı olan birisi de faydalanır) şimdiden teşekkürler :)
Жыл бұрын
Aynı anda birden fazla işlemin kontrol edilmesi gerekiyorsa delay kullanımı diğer işlemlerin bekletilmesine sebep olur. Millis mantığı şuanki zaman ile aradan geçen zamanı kıyaslama yapılarak zaman farkını süre olarak kullanmamızdır. Bu sayede kodlar delayda olduğu gibi satır beklemesi yerine işlemler beklemeksizin devam edebilir ve kontrol edebilirsiniz.
@cevatozturkmicrotekelektro7463
@cevatozturkmicrotekelektro7463 Жыл бұрын
hocam serial ekranda rakamlar sürekli üzerine koyarak gidiyor. bildiğim kadarıyla belirli bir sayıya geldiğinde durması gerekiyor yanılıyormuyum
Жыл бұрын
Durmuyor değişkenin saklanabileceği tanımlamadaki son değerine gelince düzenli saymıyor.
@muratkoroglu2035
@muratkoroglu2035 Жыл бұрын
Hocam öncelikle videolarin akiciligi cok iyi bu konuda basarilarinin devamini dilerim amator olarak arduino switch case break kullanarak led animasyon yapmaya calisiyorum fakat bazi animasyonlarda delay cok kullandigimdan animasyon degisimi icin araya giremiyorum yardimci olursaniz cok memnun olurum
Жыл бұрын
Eğitim videolarını izlemenizi tavsiye ederim, bu konuyla ilgili kanalda videoladan faydalanabilirisiniz.
@nazimozcan9061
@nazimozcan9061 2 жыл бұрын
merhaba herkese, ogrenırken bır sorunla karsılastım ??? delayla digitalWrite ( ledpin.HIGH); delay (100); digitalWrite ( ledpin.LOW); 100ms sonra sonmesını ıstesem ve yanmıcak bunu neden mıllısle yapamadım bı turlu bu mıllıs hep flasor olarakmı kullanılıyor yardımcı olursan sevınırım calısan kod mıllıs flosör { currentMillis = millis(); if (currentMillis - startMillis >= 100) { digitalWrite(ledPin, !digitalRead(ledPin)); state startMillis = currentMillis; } }
2 жыл бұрын
Burada çalışan kodlar mevcut. www.teknikerler.com/arduino-millis-ile-ayni-anda-birden-fazla-islem-yapma-2-bolum-ders-26/amp/
Жыл бұрын
Sayın hocam merhaba Nasıl yaparız fikriniz var mı?
Жыл бұрын
Maalesef bu şekilde bilemiyorum.
Жыл бұрын
Sayın hoca selamlar, millis() fonsiyonunu kullanarak butonlar ve metot kullanarak bie seneryo oluşturdum şöyle ki; yeşil ledi 500ms kırmızı ledi 750ms ve beyaz ledi 1000 ms aralıklarla yaktırmak istiyorum ancak bunu metot kullanarak herbirinin butonunan basıldığında yapsın istiyorum ve durdur butonuna bastığımda ise bütün ledlerimin sönmesini istiyorum. Söndürme işlemini dış keme kullanarak yapabiliriz ancak farklı ve daha pratik bir yolu var mıdır? Kodum sağlıklı çalışmıyor... Serial Monitor da hep yeşil dönüyor.... Yazdığım kodu paylaşıyorum yardımınızı istirham ediyorum saygılar... unsigned long simdikizaman; unsigned long oncekizaman_yesil=0; unsigned long oncekizaman_kirmizi=0; unsigned long oncekizaman_beyaz=0; bool led_durum_yesil=HIGH; bool led_durum_kirmizi=HIGH; bool led_durum_beyaz=HIGH; int basla_yesil=7; int basla_kirmizi=8; int basla_beyaz=9; int durdur=1; int led_yesil=3; int led_kirmizi=4; int led_beyaz=5; void setup() { pinMode(basla_yesil,INPUT_PULLUP); pinMode(basla_kirmizi,INPUT_PULLUP); pinMode(basla_beyaz,INPUT_PULLUP); pinMode(durdur,INPUT_PULLUP); pinMode(led_yesil,OUTPUT); pinMode(led_kirmizi,OUTPUT); pinMode(led_beyaz,OUTPUT); Serial.begin(9600); } void loop() { simdikizaman=millis(); if(digitalRead(basla_yesil==HIGH)){ yesil(); } else if(digitalRead(basla_kirmizi==HIGH)){ kirmizi(); } else if(digitalRead(basla_beyaz==HIGH)){ beyaz(); } else(digitalRead(durdur==HIGH)) ;{ durdurx(); } } void durdurx() { digitalWrite(led_yesil,LOW); digitalWrite(led_kirmizi,LOW); digitalWrite(led_beyaz,LOW); } void yesil() { if(simdikizaman-oncekizaman_yesil>=500) { Serial.println("yesil"); Serial.println(simdikizaman); led_durum_yesil=!led_durum_yesil; digitalWrite(led_yesil,led_durum_yesil); oncekizaman_yesil=simdikizaman; } } void kirmizi() { if(simdikizaman-oncekizaman_kirmizi>=750) { Serial.println("kirmizi"); Serial.println(simdikizaman); led_durum_kirmizi=!led_durum_kirmizi; digitalWrite(led_kirmizi,led_durum_kirmizi); oncekizaman_kirmizi=simdikizaman; } } void beyaz() { if(simdikizaman-oncekizaman_beyaz>=1000) { Serial.println("beyaz"); Serial.println(simdikizaman); led_durum_beyaz=!led_durum_beyaz; digitalWrite(led_beyaz,led_durum_beyaz); oncekizaman_beyaz=simdikizaman; } }
Жыл бұрын
Uygulamalı test etmek lazım, bu şekilde zor
Жыл бұрын
@ sayın hocam nasıl yaparız var mı fikriniz?
@ismetatalay8712
@ismetatalay8712 2 жыл бұрын
Hocam merhaba, peki bu millis komutunu yeni bir fonksiyon içerisine atayıp sadece o fonksiyon ile gecikme verebilirmiyiz bilgilendirirmisiniz ?
2 жыл бұрын
Aynı zaman aralığı kullanılacaksa fonksiyon içerisinde kullanılabilir.
@ismetatalay8712
@ismetatalay8712 2 жыл бұрын
@ evet aynı zaman aralığında kullanmayı düşünüyorum peki nasıl yazabilirim yeni bir fonksiyon oluşturup içerisine videoda olduğu gibi if şeklinde mi yazmalıyım?
2 жыл бұрын
@@ismetatalay8712 evet
@HO-cj3ut
@HO-cj3ut 2 жыл бұрын
başarılı olmuş sizden bir ricam var ben motor kullanıcam 3v var 6v var 12v var ; ben bunlara elektirik bilgim az hangi direnç kullanmalıyım bunun videosunu bulamadım her videoda az az bahsetmişler yeterli değil , örneğin 3-6v yazan motor aldım bu kaç amper çeker buna kaç pil gerekir direnç hangisi yeterlidir vs vs
2 жыл бұрын
Teşekkür ederim. Motor için neden direnç kullanma ihtiyacı duyuyorsunuz. Tek başına direnç ile motorların çekeceği akımı kontrol etmek pek mümkün değil. Motor sürücü kartlar var onlardan faydalanabilirsiniz. Motorun türü ve nerede ne amaçla kullanılacağıda önemli bir konu. Kanalımdaki dc motorlar videomu izleyebilirsiniz. Size biraz fikir verecektir. DC (Doğru Akım) Motorlar Nasıl Çalışır? Servo, Step, Fırçalı ve Fırçasız Motorlar #19 kzbin.info/www/bejne/p2Ksq2yYg9KLhdE
@HO-cj3ut
@HO-cj3ut 2 жыл бұрын
@ Dirençler üzerine videonuzu ve motor videonuzu izledim L298 üzerine bilgilendim ve çok daha kücük sürücü kartları olduğunu gördüm fakat hangisi hangi motora göre sanırım voltajdan bakarak anlıyoruz , özellikle site üzerinden alışveriş yaparken akım, volt gibi değerler verildiğinden akıl karışıyor bu yüzden yazdım. Teşekkür ederim.
2 жыл бұрын
@@HO-cj3ut motor konusu hem akımla hem voltajla doğrudan ilişkilidirler, motorun torku ve devir hızı gibi bir çok etken vardır. Doğrudan birşey söylemek doğru bir yönlendirme olmaz.
@HO-cj3ut
@HO-cj3ut 2 жыл бұрын
@ bitçok sürücü kartı var hepsi aynı işlevi görüyor sanırım l298 , a4988, l9110 bunları neye göre almayız bir avantaj dezavantaj tarzı bir durum var mı bu farklı kartlar nelere hizmet etmektedir. Bu durumlarla alakalı bir video gelicek mi ?
2 жыл бұрын
@@HO-cj3ut ilerleyen eğitim serileri içinde inş.
@fusunkaratas9774
@fusunkaratas9774 Жыл бұрын
şu millis komutunu insanların kafasını karma karışık yapan bir konu. yok önceki zaman yoık şimdiki zaman vs. bunun yerine şöyle basit bir kod var örneğin işlemi 1 saniyede bir işlem yapmak istiyorsanız if (millis() % 1000 == 0) { yazarak devam edin hepsi bu kadar. Bu kod, zamanlayıcı olarak millis() fonksiyonunu kullanarak her saniyenin bölü 1000'inde (yani her saniyenin başında) istediğiniz işlemi yapar. süre 5 saniye ise if (millis() % 5000 == 0) { olarak değiştirin değeri kolay gelsin
@fusunkaratas9774
@fusunkaratas9774 Жыл бұрын
hatta şöyle yapabiliriz. örneğin yeşil bir led 50 ms yanıp 100 ms sönecekse. öncelikle const if (millis()% 50 == 0) { digitalWrite(lyesilpin,HIGH)); } if (millis() % 100 == 0) { digitalWrite(yesilpin,LOW); }
Жыл бұрын
:) sanırım sizin de kafanızı bir hayli karıştırmış. Aslında haklısınız ama keşke sizin dediğiniz gibi olabilseydi güzel olurdu. Vermiş olduğunuz örneği tekrar incelerseniz bunun pek mümkün olmayacağını anlarsınız. Millis' i Delay'dan ayıran en büyük fark sayıcının hiç durmadan sayması bunu biliyoruz. Millis mod alınarak sağlıklı çalışabilen bir fonksiyon değildir. Bunun teknik altyapısını inceleyerek ne demek istediğimi anlayabilirsiniz. Sizin örnekleriniz üzerinde giderek açıklamaya çalışacağım. Siz demişsiniz ki ; if (millis() % 1000 == 0) { ne yapacaksanız yapın} bu satırlar ilk başta bir kez çalışır ve ondan sonra bir daha asla 1 saniye arayla bu satırı göremezsiniz illaki bu satır ileride bir zamanda tekrar çalışır ama bu mod alma işleminin kalanın 0 olduğu rastgele bir zamanda olacaktır. Tinkercad ile basit bir simülasyon ile deneyebilirsiniz. Hatta arduino kartına yükleyip te seri ekrandan takibini yapabilirsiniz. İkinci örneğinize gelince maalesef tam bir fiyasko ilk örneğinize göre mantık hatası içeriyor. Bir led yanarken aynı anda sönmesi mümkün mü? Çünkü aynı millisi kullandık. Biraz daha somutlaştıralım: millisin zaman damgası örneğin 25000 olsun 25000 iken dedik yeşil led yan >>>> if (millis()% 50 == 0) { digitalWrite(lyesilpin,HIGH)); } 25000 iken dedik yeşil led sön >>>>if (millis() % 100 == 0) { digitalWrite(yesilpin,LOW); } Yukarıyı okursak şöyle dedik: 25000 iken yeşilled 50ms yansın ve yaktı aynı zaman dilimi içinde 25000 iken yeşilled 100ms sönsün dedik Arduino buna itiraz etmez derleme yapınca hata vermez ama yeşilledin hiçbir zaman yandığını göremezsiniz. Sonuç: Siz gelin bu, şimdiki zaman ve önceki zaman mantığını kavramaya çalışın. Sorunsuz şekilde ledinizin ve hatta ledlerinizin yanıp söndüğünü görebilin.
@conspiratorshadow
@conspiratorshadow Жыл бұрын
hocam cok uzatmışsın HIGH LOW felan CHANGE komutu işini görürdü daha pratik
Жыл бұрын
En iyi yol bildiğin yol. Ama yerine göre alternatif yolları da bilmek gerekir.
Arduino kütüphane ekleme ve kütüphane kullanımı - Arduino projeleri  -Ders 27-
29:50
Görsel İşitsel Teknoloji
Рет қаралды 3,5 М.
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН
Une nouvelle voiture pour Noël 🥹
00:28
Nicocapone
Рет қаралды 9 МЛН
Arduino - Kesmeler - Zaman Kesme - Aynı Anda iki işlem -  Robotik Kodlama Dersleri - 75 -
13:37
Arduino ile Multitasking / Çoklu Görev
7:35
Emre Konca
Рет қаралды 26 М.
Arduino For Döngüsü Kullanımı - Arduino Kursu - Ders 17 -
19:04
Görsel İşitsel Teknoloji
Рет қаралды 3,4 М.
Timer Interrupt ISR + Examples | Arduino101 | Set Registers & Modes
16:13
Arduino - Haberleşme protokolleri - SPi - Senkron Haberleşme -  Robotik Dersler - 78 -
20:50
Arduino Tarifleri #23 - millis , micros , delay , delayMicroseconds / LRT (1080p)
20:36
ARDUINODA KESMELER ( Interrupt ) ARDUİNO DERSLERİ #51
12:39
ELEKTRİK DERSLERİ
Рет қаралды 2,2 М.