İçindekiler:

Saat: 7 Adım
Saat: 7 Adım

Video: Saat: 7 Adım

Video: Saat: 7 Adım
Video: Ayhan Öztürk - 7 Adım Dansı 2024, Kasım
Anonim
saat çalışması
saat çalışması

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ı

Parçaların Montajı
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

Breadboard Kurulumu
Breadboard Kurulumu
Breadboard Kurulumu
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ç

Image
Image
Demo ve Sonuç
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: