İyi günler, bugün bir Oled ekran ile Attiny 85 tabanlı saatler yapma talimatlarını paylaşmak istiyorum. Saatimin özellikleri sadece saatimle sınırlı değil. Masaüstü olarak da kullanılabilirler ve dijital sıcaklık sensörünü de ezebilirsiniz.
Yapmak için ev yapımı ihtiyacımız olacak:
- Sentetik kayış (herhangi bir renk)
- Giysiler için cırt cırt
- Digispark Avlusu85
- 128x64, I2C çözünürlüğe sahip Oled ekran
- ds18b20 - dijital sıcaklık sensörü (isteğe bağlı)
- Direnç 4.7 Kom 0.25 W
- Arduino Digispark Attiny85 bellenim kartı (ISS programcısı)
- İnce plastik tabaka
- Renkli teller
- Dupont 2,54 mm “dişi” konektörler
- Düğmeler 2 adet.
- Küçük devre kartı veya küçük bir devre kartı parçası
- Havya, lehim, reçine
- İplik, iğne, makas
- büro bıçağı
- Sıcak tutkal tabancası
- Sıcak tutkal
- Çift taraflı bant
Adım 1 Kemerin hazırlanması.
Herhangi bir iğne işi mağazasından bir kayış satın alabilirsiniz. 25 mm genişliğinde bir kayış seçin. Herhangi bir renk. Yaklaşık 50 cm'lik bir şeride ihtiyacımız var.Kayışımızı ikiye katlayın ve kenarları boyunca dikin. Sonra kayışın ortasında bir yuva yaparız, ancak sadece bir parçada. Velcroyu kayışın uçlarından dikin.
İpliği iğne ile yana koyun ve havya alın.
Adım 2 Kurulu ve OLED ekranı hazırlayın.
Saatimizin “beyni” Digispark Attiny85 kontrol cihazı olacak. Çeşitli versiyonlarda mevcuttur. Mikro USB konektörlü bir kart satın almalısınız. Kartın diğer versiyonları saat kasasına sığmaz.
Lehimlenmiş kontakları olan bir tahta satın aldıysanız, önce onları lehimlemelisiniz. Sonra farklı renklerde kablolar alıyoruz, 9 farklı renge ihtiyacımız var. Her telden yaklaşık 15 cm kesin, soyun ve Attiny85'e lehimleyin. Hemen sonra, hangi pimin lehimlendiği telin daha sonra karıştırılmaması için yazılmaya değer.
Benim durumumda, renklere göre teller şöyle görünür:
PB0 MOSI - Sarı
PB1 MISO - Mavi
PB2 CSK - Mavi
PB3 - Mor
PB4 - Beyaz
PB5 NRES - Gri
GND - siyah
+5 - kırmızı
Vin - Turuncu
Kabloların renkleriniz değişebilir, ana şey onları yazmaktır.
Ekrana geçelim. Oled ekran kullanacağız. Ekran çözünürlüğü 128x64, I2C veriyolunda çalışır. Satışta farklı renklerde ekranlar vardır: beyaz, mavi, sarı ile mavi. Dikkatli ol! Bu ekranın açıklamasındaki ve başlığındaki “iki renkli” kelimesi, ekranın üst kısmındaki ana renkten farklı bir renk şeridinin varlığını gösterir ve bu ekranla iki renk görüntüleme yeteneğini göstermez! Bu türdeki tüm ekranlarda yalnızca bir renk veya üstte diğerinin altında bir renk şeridi görüntülenir. Üstte sarı bir çubuk olan mavi ekranı beğendim. Renk özel bir rol oynamaz, hangisini sevdiğinizi seçin. Attiny85'te olduğu gibi, lehimlenmiş kişilerle bir ekran satın aldıysanız, önce bunları lehimlemelisiniz.
Ekranın arkasında küçük teller lehimlemelisiniz. Daha sonra karıştırmamak için Attiny85 ile aynı renkteki telleri kullanmak daha iyidir. Benim durumumda, sarı teli ekranın SDA'sına, SCL - mavi, GND - siyah, VCC - kırmızıya lehimledim.
Çift taraflı bir bantta, Attiny85'i Oled ekranın arkasına yapıştırıyoruz. Attiny85, Oled ekran kartının ötesine geçmemelidir.
Attiny85 ve Oled'i lehimledik.
PB0 MOSI Attiny85 - Sarı - SDA Oled
PB2 CSK Attiny85 - Mavi - SCL Oled
GND Attiny85 - Siyah - GND Oled
+5 Attiny85 - Kırmızı - VCC Oled
Tüm kabloları bir sıra halinde topluyoruz, böylece bir döngü elde ediyoruz. Çeşitli yerlere elektrik bandı ile sarıyoruz, böylece ayrılmıyor.
Saatlerimizin gücüne gidin. Bunu yapmak için küçük bir lityum pil alın. Kabloları lehimleyin.
Pil yoksa, A27 veya A23 tipi bir pil kullanılabilir.
Akümülatörü veya pili, ikiye katlanmış kayış tarafından oluşturulan cebin en uzak köşesine koyduk. Pil kullanıyorsanız, değiştirmek için bir yuva sağlayın.
Kayışın ortasında yapılan delikte, kablolarımızı tellerden yapıştırıyoruz.
Ve onları kayışın sonuna kadar uzatıyoruz, böylece dışarı çıkacaklar ve saat tam olarak yuvanın üzerinde olacak, böylece yuva saatlerce kapanacak.
Fazla olanları kesip Dupont 2,54 mm “ana” konektörlerin tüm kablolarını kıvırıyoruz. Plastik kasalara takıyoruz ve elektrik bandı ile sarıyoruz, böylece tüm Attiny85 kablolarıyla düzgün bir konektör elde ediyoruz. Burada ortaya çıkan konnektörün tüm kontaklarını yazmaya ve hatta daha iyi taslağa değer. GND Attiny, GND Oled ve pilin eksi hemen bağlanabilir ve tek bir kontakta kıvrılabilir. Çizimin daha fazla doldurulması ve eklentilerin bağlanması için, kontakları aşağıdaki gibi düzenlemek en uygunudur:
PB0 | PB1 | PB2 | PB5 | +5 ATTINY | GND ATTINY
PB3 | PB4 | VCC OLED | GND OLED | Vin ATTINY | + BAT
Şimdi gövdeye geçme zamanı.
Adım 3 Davayı yapma.
Vücut için ince plastiğe ihtiyacınız olacak. Online mağazadan satın alınabilir. Veya kırtasiye mağazasında kalın plastik kapaklı bir klasör satın alabilir ve kapaktan bir kılıf yapabilirsiniz. Plastik üzerinde saatin süpürmesini işaretliyoruz. Düz çizgiler kesik çizgiler, kesik çizgiler - viraj.
Bir büro bıçağı kullanarak, pencereyi ortasından dikkatlice kesin. Tüm noktalı çizgileri büküyoruz. Bu şekilde olmalı:
Ve kapak tarafında:
Ekranımıza bir yuva yerleştiriyoruz, kenarları büküyoruz ve sıcakta eriyen yapıştırıcı kullanarak vücudumuzu monte ediyoruz. Ayrıca, tutkalın dışarı çıkmaması için kasanın tercihen iç kısmına kayışa yapıştırılmaya değer.
Adım 4 Programlama ortamının hazırlanması.
Ürün yazılımı (veya çizim) ile çalışmak için Arduino IDE'yi kullanacağız. Arşivi veya yükleyiciyi resmi siteden indirin Arduino IDE.
Ayrıca, Arduino IDE'ye Attiny desteği eklememiz gerekiyor. Bunu yapmak için, Arduino IDE'yi ve ardından Dosya - Ayarlar - "Ek Anakart Yöneticisi URL'leri" alanına aşağıdaki bağlantıyı ekleyin:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Tamam'ı tıklayın (bu alana virgülle ayrılmış birkaç bağlantı girebilirsiniz). Ardından, filtre alanındaki Araçlar - Tahta - Tahta Yöneticisi bölümüne gidin, Attiny girin ve "David A. Mellis tarafından gerçekleştirilir" i seçin. Yükle'yi tıklayın ve indirme işleminin bitmesini bekleyin.
Ayrıca Oled ekranla çalışmak için bir kütüphaneye ihtiyacınız olacaktır. Birçoğu var, hoşuma gitti ve TinyOzOLED kullanmanızı tavsiye ederim. Kullanışlı ve en önemlisi belleğe sığar:
Gelecekte, bir sıcaklık sensörü ekleyerek saatin işlevselliğini artırabilirsiniz. Bu sensör için hemen bir kütüphane ekleyin. OneWire Kütüphanesi.
Bu kütüphaneleri kurun. Bunu yapmak için, indirilen arşivleri açmadan doğrudan Arduino IDE programlama ortamında Çizim - Bağlantı Kütüphanesi menüsünü seçebilirsiniz. Açılır listenin en üstünde ".Zip kitaplığı ekle" öğesini seçin. Görüntülenen iletişim kutusunda, eklemek istediğiniz kitaplığı, bu durumda indirilen iki kitaplığı seçin. Şimdi Sketch - Connect Library menüsünü tekrar açın. Açılır listenin en altında yeni kütüphaneler görmelisiniz. Artık kütüphaneler programlarda kullanılabilir. Tüm bunlardan sonra, Arduino IDE'yi yeniden başlatın. Ayrıca, Arduino IDE'nin yüklü olduğu klasörde bulunan “kütüphaneler” klasörüne de açabilirsiniz.
Adım 5 Programcıyı hazırlama.
Digispark Attiny85, Arduino IDE kullanılarak kart üzerindeki mikro USB konektörü ile programlanabilir. Ancak, önyükleyici için 2 KB 8 KB Flash belleği feda etmeniz gerekir.Saat çizimi önyükleyiciye uymuyor, bu nedenle ISS programlayıcısını kullanmanız ve böylece önyükleyiciyi silmeniz gerekiyor. Elinizde bir ISS programlayıcınız yoksa (benimki gibi), bunun yerine Arduino kartını kullanabilirsiniz. Arduino Uno kullanacağım. Ama başka bir tahta kullanabilirsiniz. Böylece, Arduino Uno'yu bilgisayara bağlarız. Arduino IDE'yi başlatın, Dosya'yı açın - Örnekler - Arduino ISP. Araçlar - Tahta - Arduino Uno menüsünden seçin. Bağlı olduğu bağlantı noktasını, Arduino'yu seçiyoruz ve indirmeyi tıklıyoruz. Çizim, Arduino'nun programlanabilir kontrolöre nasıl bağlanacağına dair bir ipucu ile başlar.
// 10: köle sıfırlama
// 11: MOSI
// 12: MISO
// 13: SCK
Digispark Attiny85 bağlantı şeması:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5
Adım 6 Kroki yüklemek için tel hazırlayın.
Eskiz için birkaç seçenek var ve sadece indirme kolaylığı için Arduino Uno'yu (ISS programcısı olarak) ve saatimizi bağlayan bir kablo üreteceğiz. Burada ayrıca daha önce kullandığımız renkle eşleşen renkli teller kullanmanızı öneririz. Bir yandan, bir blok olmalı:
PB0 Sarı | PB1 Mavi | PB2 Mavi | PB5 Gri | +5 Kırmızı | GND Siyah
Bu blok, saat bloğunun üstündeki saate bağlanır.
Öte yandan, Arduino Uno'ya bağlanmak için iki ped vardır:
Pim 10 Gri | Pim 11 Sarı | Pim 12 Mavi | Pim 13 Mavi
+5 Kırmızı | GND Siyah
Bunun gibi bir şey olmalı:
Adım 7 Yazılım.
Bu yüzden, saatlerimiz için bazı çizim seçenekleri yazdım. Daha sonra farkların ne olduğunu yazacağım ve her şeyi ortaya koyacağım. Çizimi doldurmak için Arduino IDE'yi çalıştırın, Araçlar menüsünü seçin, aşağıdaki parametreleri ayarlayın:
Yönetim Kurulu - Attiny 25/45/85
İşlemci - Attiny 85
Saat - dahili 16
ISP programcısının veya Arduino'nun programcı olarak bağlandığı seri bağlantı noktasını seçin. Ayrıca, Araçlar - Programcı menüsünde "ISP olarak Arduino" yu seçin. Şimdi Sketch - Download'u programcı üzerinden seçin. İndirme işleminin tamamlanmasını beklemek gerekir.
Adım 8 Eskizler.
İlk seçenek tarihli bir saattir. Saati ayarlamak için, düğmeler gibi bir şey bağlamanız gerekir:
PB1, PB3, PB4 pinlerine.
İkinci seçenek sadece bir saat. Saati ayarlamak için USB-TTL kullanmanız gerekir.
Ve üçüncü seçenek, bir tarih ve bir termometre ile bir masa saati.
Adım 9 Başlat.
Saati başlatmak için, lityum pil kullanıyorsanız, BAT, +5 ve VCC kontakları arasındaki bloğa bir jumper takmanız gerekir. Küçük bir parça ince tel kullanabilirsiniz. Eğer bir piliniz varsa, iki jumper'a ihtiyacınız olacak, ilkini BAT ve Vin, ikincisi - + 5 ve VCC arasına koyun.