İçindekiler:
- 1. Adım: Konsept
- 2. Adım: Parçalar
- Adım 3: Parçaların Montajı
- Adım 4: Arduino IDE için Kütüphane
- Adım 5: Breadboard Kurulumu
- 6. Adım: Kod
- 7. Adım: Demo ve Sonuç
Video: Saat: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu talimat, Güney Florida Üniversitesi'ndeki (www.makecourse.com) Makecourse'un proje gereksinimini yerine getirmek için oluşturulmuştur.
1. Adım: Konsept
Bu proje için beyin fırtınası yapmaya çalışırken, günlük hayatım için kullanışlı ve faydalı bir şey yapmaya karar verdim. Bunun gibi pek çok şey iki derecelik serbestlik gereksinimine sahip olamaz, bu yüzden gereksinimi karşılamak için basit bir saat yapmaya ve zamanı göstermek için masamda görüntülemeye karar verdim. Başlangıçta fikir bir kol saati yapmaktı, ancak 3D baskılı parça çok küçük olacaktı ve saati çalıştıran motorlar hala bir kol saati için çok büyük olacaktı.
Bu proje sayesinde dairemin etrafında yedek parçalar buldum ve bunun üzerinde çalışmaya karar verdim.
2. Adım: Parçalar
- 3D Baskılı parçalar
- 2 adet 28BYJ-48 5V DC Step Motor
- 2 ULN2003 Step Motor Sürücü Kartı
-Arduino Uno
- HC-05 Bluetooth Modülü
Saatin ibreleri hariç tüm bu parçalar benim tarafımdan yapılmıştır. Ben çok yaratıcı değilim. Aşağıda yaratıcısının bağlantısı var.
www.thingiverse.com/thing:1441809
Adım 3: Parçaların Montajı
(1)- Step motorlara Gear_1 ve 2 koymanız gerekiyor. Sıkı bir uyum olacaklar, bu yüzden yerlerinde kalmaları için biraz kuvvet gerekiyor.
(2)- Base_0, derlemenin altında kalacaktır.
(3)- Base_1, SpurGear_1'in üstüne yerleştirilecektir, bu, yelkovanın ana bileşenidir. Bu iki bileşeni birbirine yapıştırabilir, tabanın dişlinin üstünde olduğundan emin olabilirsiniz.
(4)- Base_2, SpurGears_2'nin üstüne yerleştirilecektir, bu, akrep için ana bileşendir. Aynısı adım (3) olarak bu parça için de geçerlidir.
(5)- Saatlerin kolları Base_1 ve Base_2'nin üzerine yapıştırılabilir veya yerine oturması için küçük bir delik açabilirsiniz.
(6)- Yelkovan dişlisinin düz dişli ile eşleşmesi için, tüm tertibatı step motorlardan biri ile üste koymak için 1 cm'lik bir platforma ihtiyacınız var.
Bunun nedeni, diğer step motor yüksek vitese ulaşamayacağı için ana kaidenin yüksek olmamasıdır. Her iki durumda da, step motorlardan biri için bir platform gereklidir.
Adım 4: Arduino IDE için Kütüphane
Bu projenin kodu, tyhenry tarafından CheapStepper.h adlı bir kitaplığa dayanmaktadır.
github.com/tyhenry/CheapStepper
Arduino'nuz için bu kütüphaneyi kurmak için. Yukarıdaki bağlantıda klonla veya indir'i tıklayın ve bir zip dosyası olarak indirin.
Arduino IDE'de. Çizim -> Kitaplığı Dahil Et ->. ZIP Kitaplığı Ekle
Çalışan tüm kitaplıkların dışında, bu, step motoru en iyi ve kullanımı son derece kolay kullandı.
Adım 5: Breadboard Kurulumu
Arduino UNO'mla gitmek için bir Arduino kalkanı kullandım. Daha temiz görünüyor ama küçük bir breadboard alıp bunun yerine Arduino UNO'nun üstüne yerleştirebilirsiniz. Bazı teller üst üste geldiği için şemadaki rengi takip edin. 4-7 numaralı pinler bir adım içindir ve 8-11 numaralı pinler ikinci adım içindir.
Bluetooth modülü, Arduino kartına RX -> TX ve TX -> RX bağlanmalıdır.
Mavi teller, Sürücülerden Arduino UNO'ya bağlantılardır.
Yeşil teller RX ve TX bağlantılarıdır
Siyah teller topraklanmıştır.
Kırmızı teller 5V'dir.
6. Adım: Kod
Bu projenin kodu aşağıdadır.
Kodun açıklaması burada olacak.
CheapStepper step (8, 9, 10, 11); CheapStepper stepper_2(4, 5, 6, 7);
boolean moveClockwise = true;
///37.5 dak = 4096;
// dak = 106.7;
///5 dak = 533.3;
//15 dk = 1603;
//30 dk = 3206;
//60 dak = 6412;
int tam = 4096;
int yarım = tam/2; //2048
kayan tam_zaman = 6412; // 1 saat
float Half_time = full_time/2; // 30 dakika 3026
kayan nokta fif_time = yarı_zaman/2; // 15 dk 1603
float one_time = full_time/60; // 1 dk 106
float beş_zaman = one_time*5; // 5 dak 534.3
float one_sec = one_time/60; // 1 sn 1.78
//motor 3206'yı döndürerek ve sıfırlayarak her biri 30 dakika yapabiliriz
Bu, bu proje için ana hesaplamadır. Step, tam bir 360 derece döndürmek için 4096 adım alacaktır, ancak düz dişliler, stepper'a bağlı dişlilerden daha büyük olduğundan, tam bir dönüş için daha fazla adım gerekir. Düz dişli, elleri döndüren ana bileşen olduğundan. Değerlerin doğru olduğundan emin olmak için çeşitli testler yapmam gerekiyor.
full_time, elin tam dönüşü için atadığım değişkendir. Bu oldukça tutarlıdır, ancak belirli bir hareket elde etmek için adımlar 2'ye bölündüğünde, kayan nokta değeri küçülür ve bu da sürücünün işini yapmasını zorlaştırır.
moveClockwise = true; step motorun saat yönünde hareket etmesini sağlamaktır, ancak düz dişliyi saat yönünün tersine döndürdüğü için, kurulumda boolean'ı yanlış yapmamız gerekiyor. Ayrıca başlangıçta yanlış ilan edebilirsiniz, ancak bu nasıl çalıştığını açıklamak içindir.
geçersiz kurulum() {Serial.begin(9600);
Serial.println("Hareket etmeye hazır!");
konum = one_time; del = 900; oran = 60;
moveClockwise = yanlış; }
İşte burada moveClockwise boole değerini yanlış ilan ediyorum. pos adım sayısı, del gecikme olacak ve oran ya dakika/sn = 60 ya da saat/dak = 12
Bluetooth modülü ile elleri kontrol ediyoruz. İlk olarak, Android cihazınızdan bir seri Bluetooth terminaline ihtiyacınız var. PIN 0000 veya 1234 ile Hc-05'e bağlanın. Düzgün çalışıp çalışmadığını görmek için Arduino IDE'den bazı örnek kodlar kullanabilirsiniz. Bağlıyken hızlı yanıp sönmek yerine çok yavaş yanıp sönmelidir.
geçersiz döngü() {durum = 0;
if(Serial.available() > 0) {
durum = Seri.read(); }
for (şamandıra s=0; s<(kon); s++){
stepper.step(moveClockwise); }
for (kayan nokta s=0; s<(kon/oran); s++){
stepper_2.step(Clockwise); }
gecikme(del);
Serial.available() > 0, Bluetooth modülünüzün nasıl çalışacağı açısından önemlidir. Arduino ve cihazınız arasında iletişim olduğunda bu if ifadesi doğru olacaktır. Durum değişkeni, setup() üzerinde belirttiğim diğer 3 değişkeni belirleyecek, ayrıca kodun hangi işlemi çalıştırdığını da yazdıracaktır. İki for döngüsü, step motorun nasıl hareket edeceğini belirleyen ana işlevdir.
if (durum == '1') {
konum = one_time; del = 0; oran = 12;
Serial.println("İşlem 1: Gecikme Yok"); }
Bu, sistemin çalışma şeklini değiştirmek için Bluetooth cihazınızdan gelen girişi kullanmanın bir örneğidir. Bu değişkenleri dilediğiniz gibi düzenleyebilirsiniz, ancak ellerinizi kontrol edebilirsiniz.
7. Adım: Demo ve Sonuç
Bu, sistemin nasıl çalıştığını gösteren bir demodur. Muhafaza için, içindeki tüm bileşenlere uyan herhangi bir şeyi kullanabilirsiniz. İlk defa 3D baskı yaptığım için bu projeyi yapmak basit ve eğlenceliydi. Bluetooth modülünü anlamak ve kullanmak eğlenceliydi. Değiştirmek için çok geç yaptığım birkaç hata var ama nihai ürün iyi.
Önerilen:
Arduino Kullanarak Led Şeritli Analog Saat & Dijital Saat Nasıl Yapılır: 3 Adım
Arduino Kullanarak Led Şeritli Analog Saat & Dijital Saat Nasıl Yapılır: Bugün Analog Saat & Led Strip ve MAX7219 Dot modülü ile Arduino ile dijital saat.Yerel saat dilimi ile saati düzeltir. Analog saat, daha uzun bir LED şerit kullanabilir, böylece duvara asılarak bir sanat eseri haline getirilebilir
RTC Olmadan ESP8266 Ağ Saati - Nodemcu NTP Saat RTC Yok - İNTERNET SAAT PROJESİ: 4 Adım
RTC Olmadan ESP8266 Ağ Saati | Nodemcu NTP Saat RTC Yok | İNTERNET SAAT PROJESİ: Projede RTC'siz saat projesi yapılacak, wifi kullanılarak internetten zaman alacak ve st7735 ekranında görüntülenecektir
DS1307 Gerçek Zamanlı Saat (RTC) Modülü ve 0.96: 5 Adım Kullanan Arduino Tabanlı Saat
DS1307 Gerçek Zamanlı Saat (RTC) Modülü & 0.96 Kullanan Arduino Tabanlı Saat: Merhaba arkadaşlar bu dersimizde DS1307 gerçek zamanlı saat modülü & OLED ekranlar.Bu yüzden zamanı DS1307 saat modülünden okuyacağız. Ve OLED ekranına yazdırın
Arduino IDE Kullanarak M5stick C İle Saat Yapımı - M5stack M5stick-C ile RTC Gerçek Zamanlı Saat: 4 Adım
Arduino IDE Kullanarak M5stick C İle Saat Yapımı | M5stack M5stick-C ile RTC Gerçek Zamanlı Saat: Merhaba arkadaşlar bu talimatta Arduino IDE kullanarak m5stick-C m5stack geliştirme kartı ile saat yapmayı öğreneceğiz. Ekranda ayın haftası
C51 4 Bit Elektronik Saat - Ahşap Saat: 15 Adım (Resimli)
C51 4 Bit Elektronik Saat - Ahşap Saat: Bu hafta sonu biraz boş vaktim vardı, bu yüzden bir süre önce AliExpress'ten satın aldığım bu 2,40 AU$'lık 4 Bit DIY Elektronik Dijital Saati monte ettim