Çevremizdeki elektronik eşyalara baktığımızda değiştirilebilir birçok özelliklerinin olduğunu mühendisler tarafından kullanıcının en çok işine yarayacak şekilde tasarlandıklarını fark edersin. Aydınlatma sistemleri, pişirme sistemleri, ses sistemleri, temizlik sistemleri gibi. bir çok sistem kullanıcısı tarafından çalışma şekli , miktarı, yöntemi vb. özellikleri değiştirilebilir şekilde programlanır.
Robotik projelerde ses seviyesini değiştirme, motor hızını değiştirme , ışığın parlaklığını değiştirme işlemlerinde elektrik geriliminin daha düşük veya yüksek etki yaratacak şekilde gönderilmesi sağlanır. Bileşene giden elektrik sinyalinin sıklığı azaltılarak daha düşük seviyede çalışması giden elektrik sinyallerinin sıklığı artırılarak yüksek seviyede çalışması sağlanabilir.
Ekranı olmayan sistemlerde bazı sensörleri ve sistemin çalışmasında görev alan değişkenleri takip etmek için gerçek zamanlı grafik monitörler kullanılır. Arızanın tespit edilmesi için grafik monitörler oldukça kolaylık sağlamaktadır.
Proje Detayları ve Algoritma
Bu projede potansiyometre ile kırmızı LED’in parlaklığı artırıp azalttığımız bir proje hazırlayacağız. Ayrıca bu işlem sırasında meydana gelen elektriksel değişimi Microblocks grafik monitöründen eş zamanlı olarak takip edeceğiz. Picobricks başladığında potansiyometre değeri sürekli okunarak LED’in parlaklık değerini ayarlanacaktır. Elektrik sinyalinin frekansının değiştirilerek etkisinin azaltıldığı uygulamalara PWM denmektedir. Potansiyometreden okuduğumuz analog değerleri PWM sinyalleri olarak kırmızı LED’e göndereceğiz ve aydınlatma şiddetini ayarlayabileceğiz.
Bağlantı Şeması
1 | Picobricks açık olduğu sürece çalışacak kodları hazırlamak için öncelikle control kategorisinden when bloğunu sürükle | |
2 | LED’in parlaklığını ayarlamak için ona 3.3V luk gerilimi 1024 parçaya bölerek gönderebiliyoruz. Bunu yapabilmek için pins kategorisinden set pin 1 to 1023 bloğunu when bloğunun altına sürükle. 1 yerine Picobricks üzerinde kırmızı LED’in bağlı olduğu GPIO numarasını yazmalısın. | |
3 | Picobrickste kırmızı LED’in pin nosunu eklemek için ikonuna tıklayın. Açılan menüden “show advanced blocks” u seçin | |
4 | Variables kategorisinde hazır değişkenleri göreceksiniz. Picobricks’in tüm modüllerinin pin numaraları ”_pb_pin_” ön ekiyle bulabilirsiniz. Kırmımzı LED’in bağlı olduğu pin’i ifade etmek için _pb_pin_RedLED bloğunu 1 yazan alana sürükleyip bırakın. | |
5 | 1023 yazan alan Kırmızı LED’e hangi seviyede akımın gönderileceğini ayarladığımız alandır. Bu değeri potansiyometrede alacağımız için Picobricks kategorisinden PicoBricks potantiometer bloğunu buraya yerleştirin. | |
6 | Potansiyometrenin gönderdiği sayısal veriyi grafik üzerinde görmek için output kategorisinden graph 100 bloğunu sürükle. | |
7 | graph bloğuna PicoBricks potentiometer bloğunu yerleştirdiğinde grafik monitor de değerlerin görünmesi için gerekli kodu yazıp projeyi tamamlamış oluyoruz. Kodunu çalıştırıp grafik ikonuna tıklayarak Potansiyometrenin değerinin değişimini izleyebilirsin.. |
Projenin Microblocks kodlarına erişmek için tıkla.
Proje Görseli
Proje Önerisi
Sen de potansiyometreyi çevirdikçe buzzer’dan çıkan sesin şiddetini değiştiren ve akan veriyi grafik monitorde gösteren bir proje hazırlayabilirsiniz.
Projenin Micropython Kodları
from machine import Pin,ADC,PWM
from utime import sleep
led=PWM(Pin(7))
pot=ADC(Pin(26,Pin.IN))
led.freq(1000)
while True:
led.duty_u16(int((pot.read_u16()))
print(str(int((pot.read_u16())))
sleep(0.1)
Projenin Arduino C Kodları
void setup() {
pinMode (7,OUTPUT);
pinMode (26,INPUT);
Serial.begin(9600);
}
void loop() {
int pot_val = analogRead(26);
int led_val = map(pot_val, 0, 1023, 0, 255);
digitalWrite(7, led_val);
Serial.println(led_val);
delay(100);
}