Arduino Analog Çıkış İşlemleri ve PWM Tekniği - Robo90 Arduino Dersleri #22
HTML-код
- Опубликовано: 4 ноя 2022
- 🔗 İnternet Mağazamız: www.robo90.com/?...
🚀 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...
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.
🔗 Instagram: / robo90com
🔗 Arduino Dersleri Oynatma Listesi (Playlist):
• Neden Bu Arduino Kursu...
Ö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.
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. - Наука
Tebrikler .Çok faydalı buldum .Anlatış kalitesi çok güzel beğendim .
ŞANLIURFA karaköprü GAP METAL' DEN TÜM TÜRKİYE 'YE SELAMLAR.
Hocam mükkembelsiniz anlatımınıza bayılıyorum serinin bitmemesi dileğiyle
Yine bildiğimi sandığım bir konunun arka planını öğrendiğim bir video. :)
#22 tamamlandı. breathing led devresi gibi oldu flymod led yapmayı çok istemiştim🫢😉
teşekkürler
eski efsane arduino tariflerinin yenisi çok iyi oldu
muhteşem
çok rahat çok profesyonel
#define ledRed 3
#define ledYellow 6
void setup() {
pinMode(ledRed, OUTPUT);
pinMode(ledYellow, OUTPUT);
}
void loop() {
for (int i= 0; i= 0; j--) {
analogWrite(ledRed, j);
analogWrite(ledYellow, 255 - j);
delay(3);
}
}
👏👏👏
Hocam [0] değerinde en parlak , [255] değerinde sönük, şeklinde bir kod yazmamız gerekli nasıl yapmamız gerekiyor
Harika süpersin
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
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.
Çok güzel bir soru. Direncin amacına göre değişir burada konulup konmama durumu. Mesela LED’lerin önüne koyduğumuz dirençler yine konmalı. Eğer onu sorduysanız.
@@Robo90com Cevap için teşekkür ederim. Bu arada tamamen hobi olarak ilgilendiğimi ancak neler yapabileceğimi merak ettiğim için derinlere inmek istediğimi de belirteyim. Burada anlamak istediğim, nelerden feragat edebilir neler kazanabilirim. Devre elemanlarını azaltarak sadeleştirmek uğruna ledlere zarar verir miyim ledin önüne direnç koymadan sürersem?
#define BLUELED 3
void setup(){
pinMode(3,OUTPUT);
}
void loop (){
for (int i =0; i=0; i--);
analogWrite(BLUELED,i);
delay(10);
}
}
👍
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?
PCA9685 bu arkadaşı araştırın isterseniz.
@@Robo90com Teşekkür ederim.
Dc voltajda biz ortalama değeri görmüyormuyduk
#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);
}
}
bu arabalardaki çakarlar farlar heralde bu yazılım gibi....
void setup() {
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}
void loop() {
for (int i = 0; i
Tek for ile çözdüm reis:
#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);
}
}
#define kirmiziAmpul 5
#define maviAmpul 6
int kirmiziAmpulDAC;
int maviAmpulDAC;
void setup()
{
Serial.begin(9600);
pinMode(kirmiziAmpul, OUTPUT);
pinMode(maviAmpul, OUTPUT);
kirmiziAmpulDAC = 0;
maviAmpulDAC = 255;
}
void loop()
{
for (;;)
{
Serial.println(kirmiziAmpulDAC);
Serial.print("Kirmizi:");
Serial.println(maviAmpulDAC);
Serial.print("Mavi:");
kirmiziAmpulDAC += 3;
maviAmpulDAC -= 3;
analogWrite(kirmiziAmpul, kirmiziAmpulDAC);
analogWrite(maviAmpul, maviAmpulDAC);
if (kirmiziAmpulDAC == 255 && maviAmpulDAC == 0)
{
break;
}
}
for (;;)
{
Serial.println(kirmiziAmpulDAC);
Serial.print("Kirmizi:");
Serial.println(maviAmpulDAC);
Serial.print("Mavi:");
kirmiziAmpulDAC -= 3;
maviAmpulDAC += 3;
analogWrite(kirmiziAmpul, kirmiziAmpulDAC);
analogWrite(maviAmpul, maviAmpulDAC);
if (kirmiziAmpulDAC == 0 && maviAmpulDAC == 255)
{
break;
}
}
}