mBlock ile Arduino DC Motor ve LM35 Uygulaması
Basitçe DC Motor; elektrik enerjisini mekanik enerjiye çeviren elektrikli makinelerdendir. Motor içinde bakır tellerle sarılmış sargılar ve sargıların etrafında da mıknatıslar vardır. Bu sargılara akım verildiğinde mıknatıslar üzerinde manyetik alan oluşur ve bu manyetik alan etkisiyle motor dönmeye başlar.
Merhabalar,
Bu uygulamamızda çocukluğumuzdan bildiğimiz oyuncak motoruna (DC Motor) bir pervane takarak, LM35 sıcaklık sensörüne bağlı olarak çalıştıracağımız basit bir vantilatör uygulaması geliştirmeye çalışacağız.
mBlock ile Arduino DC Motor ve LM35 Uygulaması gerekli devre elemanları:
- Arduino UNO ve USB Kablo
- DC Motor (Oyuncak Motoru)
- Motorun hızını kontrol edebilmek için 1 adet BC547 Transistör
- Motorun hızını kontrol edebilmek için 1 adet 1N4007 diyot
- LM35 Sıcaklık sensörü
- 1 adet 330 ohm direnç (Turuncu, turuncu, kahverengi)
- DC Motoru Vin üzerinden beslemek için 9 V pil ve pil başlığı
- Kartondan ya da plastikten yapılma basit bir pervane
- Breadboard
- Jumper Kablolar
DC Motor Nedir?

Basitçe DC Motor; elektrik enerjisini mekanik enerjiye çeviren elektrikli makinelerdendir. Motor içinde bakır tellerle sarılmış sargılar ve sargıların etrafında da mıknatıslar vardır. Bu sargılara akım verildiğinde mıknatıslar üzerinde manyetik alan oluşur ve bu manyetik alan etkisiyle motor dönmeye başlar.
Motorların fırçalı, fırçasız, servo ve step motor gibi çeşitleri vardır. Fırçalı motorlarda, motordaki sarımlara verilecek akımın ters manyetik alan oluşturması gerekliliğinden ötürü sarımlara temas eden fırçalar yardımıyla bu işlem gerçekleştirilir. Fırçasız motorlarda ise akımın ters yönlü hareket etmesi elektronik hız kontrol devresi ile gerçekleştirilir. Servo motorlar motor kolunu belirli açılarda hareket ettirebilen motorlardır. Step motorlar ise motor kolunu adım adım hareket ettiren motor çeşitlerindendir.
Biz uygulamamızda fırçalı dc motor kullanacağız. Motorun hızını da kontrol edebilmek için bir transistör ve diyot kullanacağız.
Transistör Nedir?
Transistör basitçe, elektriksel sinyalleri yükseltmek ya da anahtarlamak için kullanılan elektronik devre elemanlarındandır. Girişine uygulanan sinyali yükselterek gerilim ve akım kazancı sağlayan, gerektiğinde anahtarlama elemanı olarak kullanılan yarı iletken bir elektronik devre elemanı olan transistörler uygulamalarda sıklıkla kullanılmaktadır. 3 veya daha fazla bacaklı yapıda olabilirler. 3 bacaklı transistörlerde bu bacaklar; Collektor, Base ve Emitter olarak adlandırılır. Suyun akış hızını kontrol edebildiğimiz musluk vanası gibi, transistör ile de akımı düşürerek kontrol altına alabiliriz.

Transistörleri NPN ya da PNP olmak üzere de sınıflandırabiliriz. NPN’de Emitter çıkış yönünde iken, PNP’de Emitter giriş yönündedir. Uygulamamızda NPN çeşidi olan BC547 transistörünü kullandık. Emitter bacağını akım çıkışı olarak kullanmış olduk.


Uygulamamızda DC Motor yüksek miktarda akım çekerek Arduino veya bilgisayarın USB portuna zarar verebileceğinden 9V pil ile Arduino Vin pinini kullandık. DC motoru Vin üzerinden, LM35’i ise Arduino GND ve 5V pinleri üzerinden besledik.
Uygulamamızda 1N4007 diyot kullandık. Diyot bilindiği üzere akımı tek yönlü geçiren devre elemanlarıdır. 1N4007 1000V 1A’lik bir güç diyotudur. Devremizde DC Motorun hızını kontrol edebilmek için kullandık.

LM35 Sıcaklık Sensörü Nedir?

LM35 sıcaklık sensörü, 0.5 derece hassasiyete sahip yarı iletken bir analog sıcaklık sensördür. 3 bacaklı yapısının orta bacağı analog pine bağlanır. Sensörün ön yüzüne göre soldaki bacak 5V pine, sağdaki bacak ise GND pine bağlanır. Sensörün sıcaklık hassasiyetini elde edebilmek için analog pinden okunan değer 0.488 ile çarpılarak Celcius yani santigrat cinsinden sıcaklık elde edilmiş olur. Programımızda bu işlemi Sıcaklık isminde bir değişken tanımlayarak elde ettik. LM35’ten elde edilen sıcaklık değerine göre DC Motor istediğimiz hızda çalışacaktır. LM35, LM36 gibi sıcaklık sensörleri motor kontrolü, lcd ekranı termometreye çevirme, sıcaklık kontrolü uygulamalarında sıklıkla kullanılmaktadır.
mBlock ile Arduino DC Motor ve LM35 Uygulaması Devre Şeması:
mBlock ile Arduino DC Motor ve LM35 Uygulama Kodları:
Programda SICAKLIK ve Motor olmak üzere 2 değişken kullandık. Sıcaklık değeri Analog (0) pininden gelen değerin 0.488 ile çarpılmasıyla derece cinsinden seri porta yazılmaktadır. Her 0.5 saniyede bir ölçüm yapılmıştır. DC Motor 6 numaralı PWM pinine bağlanmıştır. Ortamdan gelen sıcaklık değerine göre motorun hızı değişmektedir. Sıcaklık değeri 24 derecenin altında ise motor çalışmamakta, 25 dereceye kadar PWM 150, 26 dereceye kadar PWM 200, 26 derece üstünde ise tam verimle PWM 255 değerinde çalışmaktadır.

mBlock ile Arduino DC Motor ve LM35 Uygulaması Devresi:

mBlock ile Arduino DC Motor ve LM35 Uygulama Videosu:
mBlock ile Arduino DC Motor ve LM35 Uygulama program dosyasını indirmek için tıklayınız…
Bir sonraki uygulamada görüşmek üzere…

Ben her şeyi yaptım ancak motorum dönmüyor sorun ne olabilir acaba
Motor pil ile doğrudan çalışıyor mu sağlamlığını kontrol ediniz. Ardından devrede kullandığınız devre elemanlarının bağlantılarını kontrol ediniz. Sıcaklık sensörünün analog değerlerini okumaya çalışınız. Genellikle LM35 kaynaklı sorunlar çok olur.
Elinize sağlık
Kodlari atabilirmisiniz
Kodları yazının altında paylaşmıştım:
https://blogkod.com/wp-content/uploads/2019/04/BlogKod.com-LM35-ve-DC-Motor-Uygulamas%C4%B1.rar
DC Motor yüksek akım çeker doğrudur. DC motorun yüksek akım çektiği uygulamalarda, özellikle robot uygulamalarında motor, kesinlikle sürücü ile kullanılmalıdır. PC üzerinden beslenen motor uygulamaları risklidir, haklısınız.Ancak bu uygulamada diyot ve transistör ile akım kontrolü sağlamaya çalıştım. Arduino kartı da pc üzerinden değil 9V pil ile besledim.
Hocam dc motoru arduinoya direk bağlamak riskli diye biliyorum. motor sürücü ile birlikte takmak gerekiyormuş. siz öyle yapmamışsınız ?