Çevremizdeki elektronik eşyalara baktığınızda bunların birçok değiştirilebilir özelliğe sahip olduğunu ve mühendisler tarafından kullanıcıya en faydalı olacak şekilde tasarlandığını fark edersiniz. 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. özellikler değişmek üzere programlanabilir.
İçinde robotik projelerSes seviyesinin değiştirilmesi, motor hızının değiştirilmesi, ışığın parlaklığının değiştirilmesi işlemlerinde elektrik voltajı daha düşük veya daha yüksek etki yaratacak şekilde gönderilir. Bileşene gelen elektrik sinyalinin frekansı azaltılarak daha düşük seviyede, giden elektrik sinyalinin frekansı artırılarak ise daha yüksek seviyede çalıştırılabilir.
Ekransız sistemlerde, sistemin işleyişinde yer alan bazı sensörlerin ve değişkenlerin izlenmesi için gerçek zamanlı grafik monitörler kullanılır. Grafik monitörler arızanın tespitini oldukça kolaylaştırır.
Ayrıntılar ve Algoritma
Bu projemizde kırmızı LED'in parlaklığını artırıp azaltacağımız bir proje hazırlayacağız. potansiyometre. Ayrıca bu işlem sırasında meydana gelen elektriksel değişimi de eş zamanlı olarak Microblocks grafik monitörü üzerinden izleyeceğiz. Pikotuğlalar başladığında potansiyometre değeri sürekli okunacak ve LED'in parlaklık değeri ayarlanacaktır. Frekans değiştirilerek elektrik sinyalinin etkisinin azaltıldığı uygulamalara PWM denir. Potansiyometreden okuduğumuz analog değerleri PWM sinyali olarak kırmızı LED'e göndereceğiz ve aydınlatma şiddetini ayarlayabileceğiz.
Bileşenler
1X PicoBrick
Bağlantı şeması
Picobricks modüllerini kablolama olmadan kodlayabilir ve çalıştırabilirsiniz. Modülleri panodan ayırarak kullanacaksanız modül bağlantılarını grove kablolarla yapmalısınız.
PicoBricks'in MicroBlock Kodları
PicoBricks'in MicroPython Kodları
makine içe aktarma Pininden, ADC, PWMutime içe aktarma uykusundan
#kitaplıkları tanımla
led=PWM(Pin(7))
pot=ADC(Pin(26,Pin.IN))
#led ve pottan aldığımız değeri tanımlayın.
led.freq(1000)while True:#while döngüsü
led.duty_u16(int((pot.read_u16()))print(str(int((pot.read_u16()))))
#Potansiyometreden gelen değere göre LED'i açın. uyku(0.1)#delay
PicoBricks'in Arduino C Kodları
voidsetup(){// bir kez çalıştırmak için kurulum kodunuzu buraya koyun:pinMode(7,OUTPUT);//dijital pin 7'yi çıkış olarak başlatınpinMode(26,INPUT);//dijital pin 26'yı giriş olarak başlatın
Serial.begin(9600);//seri iletişimi başlat}voidloop(){// tekrar tekrar çalışacak şekilde ana kodunuzu buraya koyun:
int pot_val =analogRead(26);
int led_val =map(pot_val,0,1023,0,255);digitalWrite(7, led_val);
Serial.println(led_val);//potansiyometreden gelen değere göre LED'i açındelay(100);//wait}
GitHub Proje Sayfası