İçindekiler
Hey, hiç şansını denedin mi? DIY elektronik? Yaratıcılığınızın çılgına dönmesine izin verebileceğiniz bir oyun alanı gibidir. Ve size şunu söyleyeyim, en havalı projeler aklınıza yeni gelenlerdir. Bugün gerçekten heyecan verici bir şeye dalıyoruz: servo motor. Çok fazla görünmeyebilir, ancak bu küçük alet ciddi anlamda ağır yükleri kaldırabilir ve yepyeni bir olasılıklar dünyasının kapılarını açabilir. İle Kendin Yap elektronik kiti Picobricks platformu ve güvenilir bir servo motor gibi, kendi zamanlayıcınızla başlayarak ciddi derecede dahice şeyler yaratmaya hazırsınız. İster bir oyun saati ister hassas bir kronometre yapmak isteyin, bu dinamik ikili arkanızı kollar ve vizyonunuzu gerçeğe dönüştürebilir. O halde hadi gemiye atlayalım ve birlikte bu harika yolculuğa çıkalım!
Geri Sayım Zamanlayıcısı
A geri sayım zamanlayıcısı genellikle bir olayın veya sürecin başlangıcından itibaren geçen süreyi sayan bir zamanlayıcı türüdür. Geçen süreyi saniye, dakika, saat veya daha büyük zaman aralıkları cinsinden görüntüler. Örneğin bir spor etkinliği sırasında geçen süreyi takip etmek veya bir projenin tamamlanma süresini ölçmek için kullanılabilir. Bu tür zamanlayıcı, ne kadar zamanın geçtiğini göstermek için başlangıç noktasından itibaren sürekli artan bir sayaç kullanır.
Ayrıntılar ve Algoritma
0'dan 60 saniyeye kadar saymak için bir servo motor kullanabilirsiniz. Servodaki ok her saniyede 3 derece hareket eder. Bir oyun saati veya kronometre yapmak için mükemmeldir. Sadece vur düğme Zamanlayıcıyı durdurmak için. Ve eğer onu değiştirmek ve yukarı yerine geri saymak istiyorsanız, küçük bir değişiklik yapın. Aralık bloğunu -90'dan 90'a, 90'dan -90'a çevirmeyi denemek isterseniz ok diğer yöne hareket edecektir.
Bileşenler
1xPicoBricks
Bağlantı şeması
MicroBlocks Geri Sayımın Kodu
PicoBricks Geri Sayım Kodu
Count Up'ın MicroPython Kodları
zamandan içe uyku
makineden içe aktarma Pimi
makine içe aktarma PWM'sinden
matematik ithalat fabrikalarından
makine ithalatından I2C
picobricks'ten SSD1306_I2C'yi içe aktar
ithalat zamanı
pwm_1 = PWM(Pin(21))
pwm_1.freq(50)
def Açı Hesapla(açı):
açı = fabrikalar((açı * (6000 / 180)) + 2000)
açı = yuvarlak(açı)
dönüş açısı
i2c = I2C(0, scl=Pin(5), sda=Pin(4), frek=200000)
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
ben = -90
i >= (-90) ve i < (90) iken:
ben = ben + (3)
pwm_1.duty_u16(Açı Hesapla(i))
oled.text("{}".format(i), 0, 0)
oled.show()
zaman.uyku((1))
oled.fill(0)
oled.show()
Count Up'ın Arduino Kodları
#katmak
#katmak
#"ACROBOTIC_SSD1306.h"yi dahil et
#define BUTTON_PIN 10
Servo servo;
geçersiz kurulum() {
pinMode(BUTTON_PIN, INPUT);
Wire.begin(); // SDA, SCL
servo.attach(21);
oled.init();
oled.clearDisplay();
Seri.begin(9600);
}
geçersiz döngü () {
for(int i=-90;i>=-90 && i<=90; i+=3 ){
if(digitalRead(BUTTON_PIN)==1){
kırmak;}
oled.clearDisplay();
oled.setTextXY(4, 7);
oled.putString(String(30+ i/3));
servo.write(i);
gecikme(1000);
}
}