Arduino Analog Çıkış İşlemleri ve PWM Tekniği - Robo90 Arduino Dersleri #22

preview_player
Показать описание
🚀 Robo90 Arduino Setleri:

Arduino üzerinde bir DAC modülü olmadığı için analog çıkış almak mümkün değil. Fakat kontrol tabanlı uygulamalarda ihtiyacımız olan analog kontrol sinyalleri yerine pwm tekniği ile dijital sinyal üreterek aynı etkiyi almamız mümkün. Bu videoda PWM tekniğini öğreneceğiz. İyi seyirler.

🔗 Arduino Dersleri Oynatma Listesi (Playlist):

Örnek Uygulama:
Arduino üzerindeki 2 pwm etiketli pine birer led bağlayınız. Bu ledlerin parlaklığı aynı anda olmak üzere, birisi yavaş yavaş azalırken birisi yavaş yavaş artsın. Eş zamanlı çalışmaları gerekiyor. Son noktalara geldiğinde ise ters dönsünler. Bu sefer sönen led, yavaş yavaş parlaklık arttırıken, en parlak yanan led yavaş yavaş parlaklığını kaybetsin.

Bu içerikte Robo90 kendi sunduğu ürün ve hizmetlerin #reklam ve #tanıtım faaliyetlerini yapmaktadır.
Рекомендации по теме
Комментарии
Автор

Tebrikler .Çok faydalı buldum .Anlatış kalitesi çok güzel beğendim .
ŞANLIURFA karaköprü GAP METAL' DEN TÜM TÜRKİYE 'YE SELAMLAR.

alidalyan
Автор

ev jeneratörü için kullanıcam şebeke enerjinisinin yokluğunda arduino 1. röle ile tetikleyip marş alması 2. ve 3. role ile kontaktör kontrolü yapıp şebeke ve jeneratör enerjisinin çakışmaması 4. röle ile şebeke elektriği nin varlığı durumun da jeneratör motorunun stop edilmesi için kullanmayı düşünüyorum ama enerjinin varlığı yada yokluğunda marşın ve stopun tetiklenmesi için arduino da ne yapmam gerek

YakupKAHRAMAN-td
Автор

Hocam mükkembelsiniz anlatımınıza bayılıyorum serinin bitmemesi dileğiyle

samigunes
Автор

Yine bildiğimi sandığım bir konunun arka planını öğrendiğim bir video. :)

salihgurbuz
Автор

#define ledRed 3
#define ledYellow 6

void setup() {
pinMode(ledRed, OUTPUT);
pinMode(ledYellow, OUTPUT);
}

void loop() {
for (int i= 0; i<256; i++) {
analogWrite(ledRed, i);
analogWrite(ledYellow, 255 - i);
delay(3);
}

for (int j = 255; j >= 0; j--) {
analogWrite(ledRed, j);
analogWrite(ledYellow, 255 - j);
delay(3);
}
}

ahmet
Автор

Hocam [0] değerinde en parlak, [255] değerinde sönük, şeklinde bir kod yazmamız gerekli nasıl yapmamız gerekiyor

erhanaktepe
Автор

eski efsane arduino tariflerinin yenisi çok iyi oldu

arduinoatolyem
Автор

Dc voltajda biz ortalama değeri görmüyormuyduk

Elktronik
Автор

hocam analog girişten tek kaynaktan veri okuyorum. bu veri yarım saatlik zamanda değişiyor. şimdiki zamanda ki veriyle yarım saat sonraki veriyi birbirinden çıkarıp çıkan sonucu okumak istiyorum. bana bu konuda yardımcı olurmusunuz

cevatozturkmicrotekelektro
Автор

Bu video yayınlandı yaklaşık 20 gün sonra chat gpt çıktı mertlik bozuldu ben hiçbir kodu bilmiyorum hello world bile yazdıramam chat gpt ye yazdırdığım kodlar ile Dün dht11 ile OLED ekrana sıcaklığı yansıttım

ahmetfarukdoganay
Автор

#22 tamamlandı. breathing led devresi gibi oldu flymod led yapmayı çok istemiştim🫢😉

onurody
Автор

Peki hocam bir sorum olacak. Bazı projelerde PWM sayısı yetmiyor kart değiştirmeden PWM pini sayısını artırmak mümkün mü ya da bir yazılım ile digital pini PWM gibi davrandırmak?

muammerorhan
Автор

const int led1 = 9;
const int led2 = 10;

int brightness = 0;
int fadeAmount = 5;

void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}

void loop() {
analogWrite(led1, brightness);
analogWrite(led2, 255 - brightness);

brightness += fadeAmount;

if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}

delay(30);
}

batualp
Автор

Harika bir anlatım, mükemmel bir seri oldu bu konu. Teşekkür ederim öncelikle.
Konu hakkında aklıma takılan ise, bu durumda 3 volt verecekmiş gibi değer verdiğimizde direnç bağlamaya gerek olur mu? Yani esasında çok kısa aralıklar ile 5 volt verildiğini anlıyorum ama neticede 3 voltluk iş yapacakmış gibi geliyor bana. Buradaki durumu anlama amacım tamamen devre kartını olabildiğince sadeleştirme çabası. Yoksa bir direnç koyup kafam rahat olsun da denilebilir.

rsk
Автор

#define BLUELED 3

void setup(){
pinMode(3, OUTPUT);
}
void loop (){
for (int i =0; i<256; i++){
//i değeri 0-255 arasında bir değer alacaktır iki üslü 8den 256 bitlik değer aralığına sahip olduğundan dolayı
analogWrite (BLUELED, i);
delay(10);

for(int i=255; i>=0; i--);
analogWrite(BLUELED, i);
delay(10);
}
}

mertgulenc
Автор

void setup() {
Serial.begin(9600);
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
}

void loop() {
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(3, brightness);
analogWrite(5, 255 - brightness);
delay(10);
}
}

itegrisu
Автор

void setup() {

Serial.begin(9600);
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);

}

void loop() {
int z;
for (z= 0; z<=255; z=z+1){
int x = 255-z;
analogWrite(3, z); // 3 kapalı, 5 max aydınlık
analogWrite(5, x);
delay(30); // 3 max aydınlıkta, 5 kapanıyor
}
for (z= 0; z<=255; z=z+1){
int x = 255-z;
analogWrite(5, z); // 3max aydınlıkta, 5 kapalı
analogWrite(3, x);
delay(30); // 3 kapanıyor, 5 max aydınlıkta
}

}

berkman
Автор

ÇÖZÜM : (Daha kısa hali varsa mutlaka yazın)


void setup(){
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}

void loop(){
int i =0;
int j = 255;
while(i<255 and j > 0){
analogWrite(2, i);
analogWrite(3, j);
i++;
j--;
delay(25);
if (i==255){
i=0;
break;
}
}

int m =0;
int n = 255;
while(m<255 and n > 0){
analogWrite(3, m);
analogWrite(2, n);
m++;
n--;
delay(25);
if (m==255){
m=0;
break;
}
}

}

Oğuzhan-ry
Автор

#define KIRMIZILED 9
#define MAVILED 10


void setup() {

pinMode(KIRMIZILED, OUTPUT);
pinMode(MAVILED, OUTPUT);


}


void loop() {
for (int sayi = 0, sayi2 = 256; sayi < 256, sayi2 > 0; sayi = sayi + 15, sayi2 = sayi2 - 15) {
delay(75);
analogWrite(KIRMIZILED, sayi);
analogWrite(MAVILED, sayi2);


}



}

multicontt
Автор

void setup() {
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}

void loop() {
for (int i = 0; i <= 255 ; i=i+5) {
analogWrite(9, i);
analogWrite(10, 255-i);
delay(5);
}
for (int i = 0; i <= 255 ; i=i+5) {
analogWrite(9, 255-i);
analogWrite(10, i);
delay(5);
}
}