Arduino Fonksiyonlar - Robo90 Arduino Dersleri #16
Вставка
- Опубліковано 20 гру 2024
- C ve C++ dilleri için geliştirme yaparken fonksiyonlaştırma diye bir yaklaşım vardır. Bu yaklaşım bir sürü işi bir arada yapan devasa bir kod yazmak yerine, her birisi bir işi yapmaya odaklanmış fonksiyonlar yazarak, fonksiyonlardan oluşan bir kod yazmayı hedefler. Bu sayede kodunuzu geliştirirken çok daha verimli çalışır, kolay hata bulur ve gerektiğinde çok daha kolay bir şekilde geliştirirsiniz. Bu videıda Arduino projelerimiz için fonksiyon yazmayı öğreneceğiz. İyi seyirler.
🚀 Robo90 Arduino Setleri:
👉Robo90 Arduino Uno İleri Başlangıç Seti: www.robo90.com...
👉Robo90 Arduino Uno Başlangıç Seti: www.robo90.com...
🔗 İnternet Mağazamız: www.robo90.com/
🔗 Instagram: / robo90com
🔗 Arduino Dersleri Oynatma Listesi (Playlist):
• Neden Bu Arduino Kursu...
Örnek: iki adet parametre alan ve değer döndüren bir fonksiyon tanımlayınız. Bu fonksiyon aldığı parametrelerden ikincisini, birincisinin üssü olarak kullanarak hesaplamalı ve değeri çağrıldığı yere döndürmelidir. İkinci bir fonksiyon ise bu değeri ekrana yazdırmalıdır.
İpucu 1: sonuc= ornekFonksiyon(3,2); mesela burada sonuç isimli değişkene 9 değeri döndürülmeli.
ipucu2: sonuc= ornekFonksiyon(3,0); herhangi bir sayının üssü 0 olduğu duruma dikkat etmelisiniz. Bunu için özel bir şart yazmalısınız.
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.
beyin yanıyor yaw şu ana kadar iyiydik bu video beni benden aldı
bu bölüm beynini yaktıracak, buraya kadar ne güzel gelmiştik.
Ömer abi haddim değil ama öğretici ve yayıncı yeteneklerini çok güzel geliştirmişsin, saygılar
ekrana yaz fonksiyonunda serial.println içine sonuc yerine z yazmamız gerekmiyomu
örnek cevabı:
int sonuc = 0;
int sayi = 11;
int us = 3;
void setup() {
Serial.begin(9600);
sonuc = hesap(sayi, us);
ekranayaz();
}
void loop() {
}
int hesap(int x, int y) {
return pow(x, y);
}
void ekranayaz() {
Serial.println(sonuc);
}
pow fonksiyonun yaptığı işi while ile yapmanızı istemiştim aslında. :)
elinize gonlunuze saglik omer hocam. bir sorum olucakti. kutuphaneyi cagirmayi kutuphane yuklemeyi biliyorum. fakat bu kutuphane icerisinde kod yazarken bazi kisayol mu desem hazir yazilmis kodun fonksiyon sonucumu desem kullaniyorlar. ben bu kutuphanede kodlamayi yazar iken nasil yararlanacagimi yararlandigim kodu nasil yorumlayipta is yapacagimi bir turlu kavrayamadim. karisik soru oldu sanirim. kutuphane konusu okadsr karmasik halki bende colde yonunu bilmemek gibi geliyor. sizde. ricam varsa soruma bir cevap videosu paylasirsaniz sevinirim. kolay gelsin.
Ömer hocam elinize sağlık. yanlız önceki derslerde verdiğiniz derslerin cevaplarını vermiyorsunuz. çözemediklerimiz var.
Oldu galiba ama tam olmadı gibi negatif sayılarda çalışmıyor
long a = 23;
long b = 5;
long sonuc = 1;
void setup() {
Serial.begin(9600);
cokzorya(a,b);
cevap();
}
void loop() {
}
long cokzorya(long x, long y) {
while(y > 0){
sonuc = sonuc * x;
y--;
}
return sonuc;
}
void cevap() {
Serial.println(sonuc);
}
Hocam bir şey merak ediyorum , bu uygulamaya yapılandırma kısmından arka plana resim ekleme özelliği sağlayan bir kod yazma gibi bir şansımız var mı ? fazla karmaşık olmayan arka planlar koymak istiyorum kod yazdığım ekrana , böyle sadesi bi tık sıkıcı geliyor değişik bir soru gibi oldu ama ne düşünürsünüz bu konu hakkında?
Discord kanalınız var mı? Yok ise düşünür müsünüz ?
ilk başta tanımladığımız sonuc değişkenine başlangıçta neden 0 değerine eşitliyoruz?
Bu videoya kadar her şey güzeldi...
Burada sorun çıtı galiba 😅
@@Robo90com Evet ama uzun bir kaçıştan sonra mecburen geri geldim 😅
Bildirim gelir gelmez izlenenlerde bugün
Şuana kadar Derslerin çoğunu izlemedim C# programlama bildiğimden ötürü Ardino dersleri ilk defa method yazan gördüm yakında Class ve interface girersek hiç şaşırmayacağım :D Kolay gelsin bu elektronik cahilini bakalım eğitebilecekmiyiz.
Veri tabanına bağlantı varmı
Süperrrrr 😇🤗😘
Cevap:
double UsAl(double sayi, int us)
{
double temp = sayi;
if (us > 0)
{
while (us > 1)
{
if (us != 0)
{
sayi *= temp;
}
us--;
}
return sayi;
}
else if (us == 0)
{
return 1;
}
else
{
sayi = 1 / sayi;
temp=sayi;
while (us < -1)
{
sayi *= temp;
us++;
}
return sayi;
}
}
void setup()
{
Serial.begin(9600);
Serial.print(UsAl(2, -4));
}
int x = 2;
int y = 5;
int z = 0;
int sayi = 0;
int sayi_2 = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
sayi = usalma(x, y);
yaz(sayi);
sayi_2 = usalma(x, z);
yaz(sayi_2);
}
void loop() {
// put your main code here, to run repeatedly:
}
int usalma(int a, int b) {
int sonuc = 1;
while (b > 0) {
sonuc = sonuc * a ;
b -- ;
}
return sonuc;
if (b == 0) {
return 1;
}
}
void yaz(int c) {
Serial.println(c);
}
Bu da benden olsun:))
bu kodu biraz fazla uzatmış olabilirim😅😅 neyi gereksiz yaptığımı söylerseniz sevinirim kod düzgün çalışıyo
int a = 3;
int b = 2;
int sonuc;
int sayi = 1;
int sayi2 = 0;
void setup() {
Serial.begin(9600);
sonuc = hesapla(a, b);
yazdir(sonuc);
}
void loop() {
}
int hesapla(int x, int y) {
if (y == 0) {
return 1;
}
else {
do {
if (sayi2
bu şekilde de yapabilirdin
int hesapla(int a, int b){
int x = 1;
if (a == 0){
return 1;
}
else if (b == 0){
return 0;
}
else{
while(s
sıfırlama fonksiyonunu daha kolay yazma şansımız varmı?
Hazır funksion kullanmadan, eksi rakamları da dikkata almakla geldiğim çözüm bu
float powerOf(float x, float y) {
float a;
if (y > 0) {
a = x;
}
else if (y == 0) {
a = 1;
}
else {
a = 1 / x;
}
for (; y > 1; y--) {
a = a * x;
}
for (; y < -1; y++) {
a = a * 1 / x;
}
return a;
}
arkadaşlar örnek çözüm satırlarına açıklama da yazılırsa nasıl bir işlem
yapıldığını acemilerde anlıyabilir.
abi sen galiba yeni aynştayn olacakasın.......
int a= 6, b=3; // a üssü b;
int cevap;
int us_alma(int x, int y) {
int sonuc = 1, c = 1;
while (c
int a = 5;
int b = 4;
int sonuc = 0;
void setup() {
Serial.begin(9600);
sonuc = ussalma(a, b);
ekranayaz(sonuc);
}
void loop() {
}
int ussalma(int taban, int us)
{
if (us == 0)
{
return 1;
}
else
{
int deger = 1;
while (us >= 1)
{
deger = deger * taban;
us--;
}
return deger;
}
}
void ekranayaz(int z) {
Serial.println(z);
}
Çok teşekkürler.
ben kodumu fonksiyona kaydedip her yerde kullanacaktım ne ara buraya geldim anlamadım
int a;
void setup() {
Serial.begin(9600);
a = KuvvetAl(5,0);
Yazdir(a);
}
void loop() {
}
int KuvvetAl(int x, int y) {
int k = x;
if (y == 0) {
x = 1;
}
else {
for (int i = 1; i
Teşekkürler.
kafalar yanmaya başladı
int a= 10;
int b=3;
int hesap (int x, int y){
int sonuc = 1;
for(int z=0; z
tşk
#16 tamamlandı
int a = 5, b = 3, sonuc;
void setup() {
Serial.begin(9600);
sonuc = UssunuAl(a, b);
yazdir(sonuc);
}
void loop() {
}
int UssunuAl(int x, int y) {
if (x == 0) {
return 0;
}
else if (y == 0) {
return 1;
}
else {
int s1 = x;
while (y > 1) {
x *= s1;
y--;
}
return x;
}
}
void yazdir(int z) {
Serial.println(z);
}
// hatam var ise söylerseniz sevinirim :)
👍
😳
abi bu ne allah aşkına ya. coşkun taşdemirin kitabındaki örnekleri kopyala yapıştır yapmışsın.Hiç somut örnek vermrmişsin.pot ile motor çalıştırma gibi mesela
#16 tamamlandı