İçindekiler:

Fibonacci Saati: 10 Adım (Resimlerle)
Fibonacci Saati: 10 Adım (Resimlerle)

Video: Fibonacci Saati: 10 Adım (Resimlerle)

Video: Fibonacci Saati: 10 Adım (Resimlerle)
Video: Fibonacci Dizisi ve Altın Oran Nedir? Basit Açıklama ve Günlük Yaşamdan Örnekler 2024, Kasım
Anonim
Image
Image
Zamanı Nasıl Anlatırım?
Zamanı Nasıl Anlatırım?

GÜNCELLEME: Bu proje Kickstarter'da başarıyla finanse edildi ve şu anda https://store.basbrun.com'da satışa sunulduKampanyamı destekleyen herkese teşekkürler!

Size stil sahibi inekler için bir saat olan Fibonacci Saatini sunuyorum. Aynı zamanda güzel ve eğlenceli olan saat, zamanı yepyeni bir şekilde göstermek için ünlü Fibonacci dizisini kullanıyor.

Adım 1: Zamanı Nasıl Anlatırım?

Fibonacci dizisi, 13. yüzyılda İtalyan matematikçi Fibonacci tarafından oluşturulan bir sayı dizisidir. Bu, 1 ve 1 ile başlayan bir dizidir ve sonraki her bir sayı, önceki ikisinin toplamıdır. Saat için ilk 5 terimi kullandım: 1, 1, 2, 3 ve 5.

Saatin ekranı, kenar uzunlukları ilk beş Fibonacci sayısıyla eşleşen beş kareden oluşur: 1, 1, 2, 3 ve 5. Saatler kırmızı, dakikalar yeşil ile gösterilir. Hem saati hem de dakikayı göstermek için bir kare kullanıldığında maviye döner. Beyaz kareler yoksayılır. Fibonacci saatinde zamanı söylemek için biraz matematik yapmanız gerekir. Saati okumak için kırmızı ve mavi karelerin karşılık gelen değerlerini toplamanız yeterlidir. Dakikaları okumak için yeşil ve mavi kareler için de aynısını yapın. Dakikalar 5 dakikalık artışlarla (0 ila 12) görüntülenir, bu nedenle gerçek sayıyı elde etmek için sonucunuzu 5 ile çarpmanız gerekir.

Çoğu zaman, tek bir zamanı görüntülemenin birden çok yolu vardır. Meydan okumaya eklemek için kombinasyonlar, bir sayının görüntülenebileceği tüm farklı yollardan rastgele seçilir. Örneğin, 6:30'u göstermenin 16 farklı yolu vardır ve saatin hangisini kullanacağını asla bilemezsiniz!

2. Adım: Devre

Devre
Devre
Devre
Devre

Arduino kullanarak bir Atmega328P mikro denetleyici kullanarak Fibonacci saatini oluşturdum. Bir Arduino kartı ve bir DS1307 gerçek zamanlı saat devre kartı satın alabilir ve devreniz için özel bir kalkan oluşturabilirsiniz ama ben kendi devre kartımı yapmayı tercih ettim. Bu, boyutu küçük ve fiyatı düşük tutmamı sağlıyor.

3. Adım: Düğmeler

Düğmeler
Düğmeler

Arduino pin #3, #4 ve #6'ya bağlı üç düğme, zamanı değiştirmek için birlikte kullanılır. Pin #3 üzerindeki düğme, LED'lerin renk paletini değiştirmek için tek başına kullanılabilir. Saatin farklı modları arasında geçiş yapmak için pim #5'e ekstra bir düğme eklenmiştir. İki mod lamba modudur ve varsayılan mod saattir. Tüm butonlar Arduino pinlerine paralel olarak 10K pull-down direnci ile bağlanmıştır.

Adım 4: Gerçek Zamanlı Saat

Gerçek Zamanlı Saat
Gerçek Zamanlı Saat

Gerçek zamanlı saat çipi DS1307, iki adet 22K pull-up direnci ile Arduino analog pinleri 4 ve 5'e bağlanır. Saat pimi 5 (SDA), Atmega328P pim 27'ye (Arduino A4) bağlanır ve saat pimi 6 (SCL), Atmega329P pim 29'a (Arduino A5) bağlanır. DS1307 yongası takılı değilken zamanı korumak için yonganın 3. ve 4. pinlerine bağlı 3V'luk bir pile ihtiyaç duyar. Son olarak, gerçek zamanlı saat, pim 1 ve 2'ye bağlı bir 32KHz kristal tarafından çalıştırılır. Pim 8'e 5V güç uygulanır.

Adım 5: LED Piksel Şeridi

LED Piksel Şeridi
LED Piksel Şeridi

WS2811 sürücülerinin üzerine inşa edilmiş LED pikselleri kullanıyorum. Bu mikrodenetleyiciler, Arduino mikrodenetleyicisinde tek bir çıkışla her bir LED'in rengini ayarlamama izin veriyor. Bu projede LED'leri kontrol etmek için kullanılan Arduino pini pin #8'dir (Atmega328P pin #14).

Adım 6: Mikrodenetleyici

mikrodenetleyici
mikrodenetleyici

Atmega328P'yi Arduino klonu yapmak için nasıl bağlayacağınızla ilgili tüm detayları “Arduino Klonu Oluşturun” yazımda bulacaksınız. Bu projeye yeni bir özellik ekledim, Arduino mikrodenetleyicinizi doğrudan bu devre üzerinde programlamak için bir FTDI portu. Yükleyicinizi çip başlatma sırası ile senkronize etmek için pin 1'i Arduino'nun sıfırlama pinine 0.1 uF'lik bir kapasitör aracılığıyla bağlarsınız.

FTDI bağlantı noktasının Pin 2'si (RX), Atmega328P'nin (Arduino 1-TX) pin 3'üne ve FTDI konektörünün pin 3'ü (TX), Atmega328P'nin (Arduino 0 – RX) pin 2'sine bağlanır. Son olarak FTDI pin 4 5V'a ve 5 ve 6 toprağa gider.

7. Adım: Muhafaza

Image
Image
Kuşatma
Kuşatma

Video, Fibonacci saat muhafazasının yapımı için tüm adımları sunar. Buradaki fikir, saatte iki inç derinliğinde, Fibonacci dizisinin ilk beş terimi olan 1, 1, 2, 3 ve 5 ile eşleşen 5 kare bölme oluşturmaktır. LED'ler tüm karelere dağıtılır ve birbirine bağlanır. saatin arkası devre kartına.

Muhafaza huş kontrplaktan yapılmıştır. Çerçeve 1/4" kalınlığında ve arka panel 1/8" kalınlığındadır. Ayırıcılar 1/16" kalınlığındadır ve herhangi bir opak malzemeden yapılabilir. Saatin boyutları 8″x5″x4″. Saatin ön kısmı 1/8 "kalınlığında yarı saydam pleksiglastan bir parçadır. Ayırıcılar Sharpie kalemi kullanılarak işaretlenmiştir.

Ahşap yüzey 220 zımpara kağıdı ile iyi bir zımparalamadan sonra uygulanan su bazlı bir verniktir.

Adım 8: Bir Lamba Yapın

Image
Image

Fibonacci saati aynı zamanda bir ortam lambasına da dönüştürülebilir! Yayınlanan kod zaten iki lamba modunu destekliyor. Üç mod arasında geçiş yapmak için mod düğmesine basmanız yeterlidir. Kod, hacklemeniz için açık, kendi modlarınızı uygulamakta özgürsünüz!

9. Adım: Bitirdiniz

Bitirdin
Bitirdin

Bitirdiniz! Fibonacci saati harika bir tartışma başlatıcısı… onu bir sonraki NERD buluşmanıza veya Noel aile birleşimine getirin!

Okuduğunuz/izlediğiniz için teşekkürler!

Adım 10: Kod

Kaynak kodunu github hesabımda bulabilirsiniz:

github.com/pchretien/fibo

Önerilen: