Arduino Tarifleri #18 – Analog Çıkış , PWM
Bu bölümde geçen videoda kaldığımız yerden devam ederek analog çıkış işlemi yapacağız. Videoda öncelikle analog ve dijital sinyallere, bunların farklarına değineceğiz. Sinyaller ve aralarındaki farklar biraz oturduktan sonra PWM sinyali ile devam ederek, geçen videonun üzerinden 0-255 arasındaki analog çıkış meselesini tartışacağız.O yüzden bir önceki bölümün izlenmiş olması çok önemli. Ardında ufak bir örnek ile konuyu noktalayacağız arkadaşlar. Bu videodan sonra artık tüm analog, dijital giriş çıkış işlemlerini rahatlıkla yapabilirsiniz. Analog sensörlerin, dijitallere göre daha fazla kullanıldığını düşünürsek hayalinizdeki projenize kocaman 1 adım yaklaşmış olacaksınız.
Neyse lafı fazla uzatmayalım, umarım videoyu beğenirsiniz, iyi seyirler, iyi çalışmalar, hoşça kalın 🙂
Videoda Kullanılan Malzemeler:
1 tane mantar led (tercihen kırmızı) – Video https://youtu.be/cDnLxLkFBCo
1 tane 220 ohm direnç-Video https://youtu.be/A_cinGnu8FM
1 tane potansiyometre (değeri önemsiz)
1 tane Breadbord ve yeteri kadar jumper kablo -Video https://youtu.be/Q6I3PTM7mGU
1 tane buzzer
ve tabii ki Arduino kartınız
MALZEMELER
Bu içerik için gerekli olan tüm malzemeleri www.robo90.com üzerinden güvenle satın alabilirsiniz.
- Arduino UNO R3 – SMD Klon (CH340 Çipli) – USB Kablo Hediyeli
- 10K Potansiyometre – WH148
- Pasif Buzzer – 5V
- Elektronik Breadboard – Büyük Boy – 830 Pin
- Jumper Kablo
DEVRE ŞEMASI
ARDUINO KODU
Etiketler
2 Yorum
Bir yanıt yazın Yanıtı iptal et
Daha fazla sonuç göster
Aynı kodları yazıp aynı devreyi kurup çalıştıramıyorum kafayı yiyeceğim
merhabalar,
ben bir proje için 10.000 pals lojik sinyali 2.5 mikro saniye aralıklarla almak istiyorum.
Almak istediğim çıkış net kare dalga şeklinde olmalı. pwm tarzı çıkış değil yanı.
bunun için pwm uçları değilde normal dijital pinleri OUTPUT yaptım.
çıkan sinyal’ in sinyal şeklinden pals sayısı ve pals arasındaki 2.5mikro sn lik süreden emin olamadım.
yazdığım kod aşağıdaki gibidir. doğru yerleri ve yanlışları varsa söyler misiniz?
for( int a=0; a<10000; a++ )
{
digitalWrite(30, HIGN);
delayMicroseconds(2);
digitalWrite(30, LOW);
delayMicroseconds(2);
}
while(1)