Şartlı İfadeler (if-else if-else) - Robo90 Arduino Dersleri #12
HTML-код
- Опубликовано: 5 окт 2022
- "Eğer bu olursa bu olsun", "eğer şu değeri görürsen bunu yap" gibi temel komutları Arduino'ya vermek istediğinizde kullanmanız gereken yapılara şartlı ifadeler diyoruz. if, else if, else 3 lüsünden oluşan bu konuyu bu videoda inceliyoruz. İyi seyirler.
🚀 Robo90 Arduino Setleri:
👉Robo90 Arduino Uno İleri Başlangıç Seti: www.robo90.com/arduino-uno-il...
👉Robo90 Arduino Uno Başlangıç Seti: www.robo90.com/arduino-uno-ba...
🔗 İnternet Mağazamız: www.robo90.com/
🔗 Instagram: / robo90com
🔗 Arduino Dersleri Oynatma Listesi (Playlist):
• Neden Bu Arduino Kursu...
👉Örnek soru:
1'den, 100'e kadar bir değişkenin değerini birer birer arttıran bir kod yazınız. Bu değişkenin değeri artarken, her bir arttırmada değişkenin değerini ekrana yazdırın. 3'e tam bölünen sayılar denk geldiğinde sayının yanına *, 5'e tam bölünen sayılar denk geldiğinde # karakterlerini sayının yanına yazdırın. Hem 5'e, hem 3'e kalansız bölünen sayılar denk geliğinde BOOOM yazdırın. Örnek çıktıdan faydalanabilirsiniz.
👉Örnek Ekran çıktısı:
1
2
3*
4
5#
.
.
.
15 BOOOM
.
.
.
Tüm 3D yazıcı, filament ve yedek parça ihtiyaçlarınız için robo90.com'a göz atabilirsiniz.
Bu içerikte Robo90 kendi sunduğu ürün ve hizmetlerin #reklam ve #tanıtım faaliyetlerini yapmaktadır. - Наука
Şartlı ifadeleri bu kadar basit ve güzel anlatan bir video serisi izlemedim ellerine sağlık abi…
Muhteşem bir video şartlı ifadelerin sırasının değişmesiyle oluşabilecek hataları başka bir kanalda dinleyebileceğimi sanmıyorum bu konuya yer verilse bile bu kadar açık olamaz kesinlikle
Burada kaldım, yarın devam inşallah 🌹 emeklerinize sağlık...
Bu konular çok önemli arkadaşlar. Ömer abi çok iyi anlatıyor ama yinede anlamadığınız yer olursa anlayana kadar buradan sorun veya Google'a aratın. Kolay gelsin. :)
Teşekkürler hocam.
Zaten sınavdan geçmek için bu videoyu izliyorum kalma korkusu var içimde örnek olarak geçti kaldı diye hatırlatıp durmasaydınız keşke 😂
Süperrrrr yeni videoooo
biran korktum bıraktın diye paylaşımı izleyelim bakalim şimdiden ağzına saglik dostum
Çok iyi bi anlatım bundan sonra sende ders alacam.
teşekkürler.
müthiş...
Öncelikle merhaba ömer bey seriyi heyecanla takip ediyoruz ilk videonuzda bu serinin bütün videolarının önceden çekili olduğunu söylemiştiniz bu seri toplam kaç video olacak acaba
Merhaba, ilginiz için teşekkürler. Aslında seri 30 küsür videoda bitiyor. Bu bölümlerin çekimi yapıldı. Fakat devamında biraz daha teknik konulara girip( kütüphane yazmak vb.), çeşitli modül ve sensörler hakkında bilgi veren ek videolarda olacak onlarla beraber 60'ı aşar zamanla gelecek o videolarda.
Bu soruyu çözmek için bir loop döngüsü gerekiyor. Başlatmayı biliyoruz ama durdurmayı bilmiyoruz. 100 döngü tamamlanıp her sayı için mantıksal değerlendirme yapıldıktan ve sonuç ekrana yazdırıldıktan sonra döngü nasıl sonlandırılacak?
int sure = 100; //isteğe bağlı yazma hızı
int sayi = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
sayi = sayi + 1;
if(sayi%15==0)
{
Serial.println("BOOM");
}
else if (sayi%5==0)
{
Serial.print(sayi); Serial.println("#");
}
else if (sayi%3==0)
{
Serial.print(sayi); Serial.println("*");
}
else
{
Serial.println(sayi);
}
delay(sure);
}
Bu sonsuza kadar gidiyor. 1-100 arası olması lazım.
@@zeynalovomar void loop() kısmının içinin tamamını
if(sayi
Merhaba, Epson printerden söktüğüm bir renkli ekran var ,Bu ekranı Arduino ile nasıl kullanabilirim ? çünkü kütüphanesi yok
Komutu yazmakta zorlandım. cevabı paylaşır mısınız?
Merhaba arduino kartını pcye bağlamadan seri monitörü çalıştırmak mümkün mü
Abi konuyla ilgili değil ama canbus2515 ile alakalı hiç videon ya da yazın varmı? Ya da bildiğin bir yer varmı düzgün kayna bulamadımda.
Hocam mrb
Akvaryum yemleme için kodum hazır 12 saatte bı çalışıyor.
Ben istiyorum ki
bitanede buton olsun
1 kere Bastığım zaman bı kere yemlesin
12 saatte bı yemlemeye devam etsin
Butonla reset atmak gibi yani
Yardımcı olursanız sevinirim
#12 tamamlandı
pekala istenileni nasıl yapıcağımı buldum ancak tam olarak anlayamadım örneğin kullandığım ifadelerden biri:
if(a%3 == 0 ) bir şekilde sayının 3 e bölünüp bölünmediğini tespit ediyor ancak ben " % " ve tek bir tane " & " ne işe yarıyor bilmiyorum
yine de çalışan kod şöyle:
int a = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
a= a + 1;
if ((a%3 ==0 ) && (a%5 == 0))
{
Serial.print("a=");
Serial.println("boom");
}
else if (a%3 == 0)
{
Serial.print("a=");
Serial.print(a);
Serial.println("*");
}
else if (a%5 == 0)
{
Serial.print("a=");
Serial.print(a);
Serial.println("#");
}
else
{
Serial.print("a=");
Serial.println(a);
}
}
Denetleyici if şartı doğru olursa sonraki else if'i veya else'i umursamaz
👏👏👏
Nasılda büyük gurur benim için😌
3'e ve 5'e , hem 3'e hem de 5'e bölünebilme kuralını karşılayan sayıların birden fazla kez yazılması dışında kod gayet iyi çalışıyor.
int sayi = 1;
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
if (sayi < 100) {
Serial.println(sayi++);
delay(1000);
}
if (sayi % 3 == 0) {
Serial.print(sayi), Serial.println("*");
}
if (sayi % 5 == 0) {
Serial.print(sayi), Serial.println("#");
}
if ((sayi % 3 == 0) && (sayi % 5 == 0)) {
Serial.print(sayi), Serial.println(" BOOOM");
}
while (sayi == 100) {
digitalWrite(13, 1);
delay(1000);
digitalWrite(13, 0);
delay(1000);
}
}
ya bende sorun var yada ardunioda yav kod herşey doğru ama not yüksek olduğu zamanda geçtiniz kaldınız diyor düşük olduğu zamanda nolur birisi yardım etsin
int Not = 70;
void setup() {
Serial.begin(9600);
if (Not >= 75);
Serial.println("Geçtiniz");
if (Not
Ben değişkeni sayı yaptım çalışmadı Türkçe karakterleri kullanınca hata veriyor (bu sorunu yaşayanlara)
bir sayının 3e bölümünün sonucunun tam sayıya eşit olup olmadığını arduinoya nasıl kontrol ettirebilirim?
benim aklıma int belirli tam sayılarda tanımlı olduğu için şunu yazmak geldi ama olmadı
if (a/3 == int );
mod alarak kontor etmen lazım yani
if( a % 3 == 0);
bu komutla beraber a sayısının 3 e tam bölünüp bölnünmediğini kontrol etmiş olursun.
Bir önceki videolarda bahsedildi bu konu
selamlar yarım çalışan bir kod buldum ama tam olarak düzeltemedim
int a = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
a = a + 1;
Serial.println(a);
if (a % 15 == 0) {
Serial.print("BOOOM");
}
else if(a%3==0){
Serial.print("*");
}
else if(a%5==0){
Serial.print("#");
}
delay(1000);
}
ama böyle yapınca sonuç aşağıdaki gibi çıkıyor
1
2
3
*4
5
#6
*7
8
9
*10
#11
12
*13
14
15
BOOOM16
şeklinde sonuç veriyor acaba nasıl düzeltebilirim
Nerde hata olduğunu anladım gibi
Println yerine print yaz print yerine de println yaz
Kodu yazdım ama bunun uzun yol olduğunu düşünüyorum, bundan daha kısa yolunu bulan varsa bana anlatabilir mi? kodu yanıta ekleyeceğim isteyen bakabilir.
int n = 0;
int b;
int c;
void setup() {
Serial.begin(9600);
}
void loop() {
n = n + 1;
Serial.println(n);
delay(400);
n = n + 1;
Serial.println(n);
delay(400);
n = n + 1;
Serial.print(n);
c = c + 3;
if ( n = c)
Serial.println("#");
delay(400);
n = n + 1;
Serial.println(n);
delay(400);
n = n + 1;
Serial.print(n);
b = b + 5;
if ( n = b)
Serial.println("*");
delay(400);
n = n + 1;
Serial.print(n);
c = c + 3;
if ( n = c)
Serial.println("#");
delay(400);
n = n + 1;
Serial.println(n);
delay(400);
n = n + 1;
Serial.println(n);
delay(400);
n = n + 1;
Serial.print(n);
c = c + 3;
if ( n = c)
Serial.println("#");
delay(400);
n = n + 1;
Serial.print(n);
b = b + 5;
if ( n = b)
Serial.println("*");
delay(400);
n = n + 1;
Serial.println(n);
delay(400);
n = n + 1;
Serial.print(n);
c = c + 3;
if ( n = c)
Serial.println("#");
delay(400);
n = n + 1;
Serial.println(n);
delay(400);
n = n + 1;
Serial.println(n);
delay(400);
n = n + 1;
Serial.print(n);
c = c + 3;
b = b + 5;
if ( n = b = c)
Serial.println(" BOOOM!!!");
delay(400);
}
baya bir uğraştım ama sonunda yapabildim.
int i = 1;
void setup() {
Serial.begin(9600);
i = i++;
}
void loop() {
if((i
int a = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
if (a >= 0 && a
teşekkürler çok işime yaradı
int i = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
i = i + 1;
if (i % 5 == 0 && i % 3 == 0) {
Serial.print("i=");
Serial.print(i);
Serial.println("BOOM");
}
else if (i % 3 == 0) {
Serial.print("i=");
Serial.print(i);
Serial.println("*");
} else if (i % 5 == 0) {
Serial.print("i=");
Serial.print(i);
Serial.println("#");
} else {
Serial.print("i=");
Serial.println(i);
}
delay(500);
}
int x;
void setup() {
Serial.begin(9600);
x = 1;
}
void loop() {
x = x + 1;
if (x
int a = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
a++;
if ((a % 3 == 0) && (a % 5 == 0) ) {
Serial.print(a);
Serial.println("BOOOM");
}
else if (a % 3 == 0) {
Serial.print(a);
Serial.println("*");
}
else if (a % 5 == 0) {
Serial.print(a);
Serial.println("#");
}
else {
Serial.println(a);
}
delay(500);
}
Ben şu şekilde yaptırabildim. Ama doğrusu bu değil gibi. else kullanmadım. Biraz uzun gibi oldu. Yoruma kodu ekliyorum.
int deger = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
deger++;
Serial.print(deger);
if (deger == 100) {
deger = 0;
}
if (deger % 3 == 0) {
Serial.print("*");
}
if (deger % 5 == 0) {
Serial.print("#");
}
Serial.println();
}
Bugün yeni ders (13) yayınlanınca bu örneği while döngüsü ile daha düzgün yapabileceğimi fark ettim. Ayrıca önceki örneğimde BOOM ekleymeyi atlamışım. Bu sefer yoruma yeni kodu ekliyorum. İstenilen doğru kod bu mu bilmiyorum ama yine de eklemek istedim.
int deger = 0;
void setup() {
Serial.begin(9600);
while (deger < 100) {
deger++;
Serial.print(deger);
if ((deger % 3 == 0) && !(deger % 5 == 0)) {
Serial.print("*");
}
if ((deger % 5 == 0) && !(deger % 3 == 0)) {
Serial.print("#");
}
if ( (deger % 3 == 0) && (deger % 5 == 0) ) {
Serial.print(" BOOOM");
}
Serial.println();
}
}
void loop() {
}
int a = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
a++;
if ((a % 3 == 0) && (a % 5 == 0)) {
Serial.print(a);
Serial.println("boom");
}
else
Serial.println(a);
else if (a % 3 == 0) {
Serial.print(a);
Serial.println("*");
}
else if (a % 5 == 0) {
Serial.print(a);
Serial.println("#");
}
}
yazdığım kod sonsuza kadar gidiyor yüze geldiğinde nasıl durduracağım
İf(i
int number = 1;
int a; // a 15 e bölünüp bölünmediğine bakmak için
int b; // b 3 e bölünüp bölünmediğine bakmak için
int c; // c 5 e bölünüp bölünmediğine bakmak için
void setup() {
Serial.begin(9600);
}
void loop() {
if (number
merhaba, aşağıdaki yazmış olduğum if kodlarda belirtilen süreler ilk komutta düzgün çalışıyor ama sonda süreler arasında her defasında farklar artmaktadır. Yardımcı olabilirseniz sevirim.
if(simdikizaman - oncekizaman4 == 20)
{
for (pos = 18; pos >= 0; pos-=1){sg904.write(pos); delay(10);}
for (pos = 0; pos = 0; pos-=1){sg906.write(pos); delay(5);}
for (pos = 0; pos = 0; pos-=1){sg902.write(pos); delay(5);}
for (pos = 0; pos = 0; pos-=1){sg903.write(pos); delay(5);}
for (pos = 0; pos
#12 tamamlandı
Örnek kodu da yazdınız mı ? Sizin cevapları bekliyorum :)
@@Robo90com valla şöyle bişey yazdım ama pc de denemedim
int oda_sıcaklık=21; //x'e 21 değerini atadım
void loop() {
if (sıcaklık >= 24) {
Serial.println("Sıcaklık 21in üzerinde");
}
else if (sıcaklık >= 20) { // 20