Arduino Kullanarak Otomatik Bağlama Ayakkabısı Nasıl Yapılır?
Modern çağda, bilim adamları ve mühendisler her şeyi otomatik hale getirmeye çalışıyorlar. Bu, hiçbir insan çabası olmadan her şeyin kendi kendine çalışacağı anlamına gelir. Toplumda, bazı insanların bağcıklarını kendi başlarına bağlamada güçlük çektiği çok yaygın bir sorun tespit edildi. Bu kişiler arasında engelliler, bel ağrısı olan kişiler, çocuklar ve bir dereceye kadar kör insanlar bulunmaktadır. O halde bu insanların bunu sorun olarak görmemesi için bir çözüm bulunmalıdır.
Bu projede, hiçbir insan çabası olmadan bağcıklarını otomatik olarak bağlayacak bir Otomatik Bağcık Şovu yapacağız. Ayağı ayakkabının içine yerleştirir yerleştirmez bunu mikrodenetleyici kartı, motor koruma sensörü ve servo motor yardımı ile yapacaktır.
Arduino Kullanarak Şovunuzu Nasıl AutoLace Yaparsınız?
Şimdi, projenin özetini bildiğimiz için, daha fazla bilgi toplamaya başlayalım ve bu AutoLace ayakkabısının Arduino kullanarak nasıl yapılacağına dair prosedürü inceleyelim.
Adım 1: Bileşenleri Toplama
Herhangi bir projeye başlamak için en iyi yaklaşım, bileşenlerin bir listesini yapmak ve bu bileşenlerin kısa bir incelemesini yapmaktır çünkü hiç kimse eksik bir bileşen yüzünden bir projenin ortasında kalmak istemeyecektir. Bu projede kullanacağımız bileşenlerin bir listesi aşağıda verilmiştir:
Adım 2: Bileşenlerin İncelenmesi
Artık projemizin özetini bildiğimiz ve tüm bileşenlerin tam bir listesine sahip olduğumuza göre, bir adım öne geçelim ve kullanacağımız bileşenlerin kısa bir incelemesinden geçelim.
Seeeduino v4.2Mikrodenetleyici Atmega 328 MCU'ya dayanan dünyanın en iyi Arduino uyumlu kartlarından biridir. çünkü kullanımı kolay, daha kararlı ve diğer birçok karttan daha iyi görünüyor. Arduino önyükleyicisine dayanmaktadır. FTDI yongası olarak kullanılabildiği için UART-USB dönüştürücü olarak ATMEGA16U2'ye sahiptir. genel olarak android kablosu olarak adlandırılan bir mikro USB kablosu kullanılarak bilgisayara bağlanır. Karta güç sağlamak için bir DC jakı da kullanılabilir. giriş gücü 7V ile 15V arasında olmalıdır.
Arduino Motor Shield Arduino kullanarak motor yönünü ve hızını zahmetsizce kontrol etmenizi sağlar. Sadece Arduino pinlerini adreslemenizi sağlayarak, herhangi bir motoru girişiminize sürmeyi kolaylaştırır. Ayrıca, 12v'ye kadar farklı bir güç kaynağına sahip bir motoru kontrol etme seçeneğine sahip olmanızı sağlar. Hepsinden iyisi, kalkanın bulunması çok kolay. Tüm bu nedenlerden dolayı, Arduino Motor Shield, hızlı prototipleme ve genel deney için cephaneliğinizde olması gereken harika bir şey.
Kuvvet Sensörü Dirençleri (FSR'ler)çok basit ve kullanımı kolay basınç sensörleri. Bir FSR'nin engellenmesi, tespit bölgesine uygulanan ağırlığa bağlıdır. Ne kadar çok ağırlık uygularsanız, muhalefet o kadar düşük olur. Engel aralığı oldukça geniştir:> 10 MΩ (ağırlık yok) ila ~ 200 Ω (maksimum ağırlık). Çoğu FSR, 100 g ila 10 kg aralığında gücü algılayabilir. Bir FSR, iki katmandan ve bir ara yapıştırıcıdan oluşur. İletken katmanlar, ağırlık uygulanmadığında ince bir hava boşluğu ile izole edilir. Filmlerden biri, kuyruktan tespit bölgesine (yuvarlak kısım) uzanan iki iz içerir. Bu izler birbirine dokunur, ancak temas etmez. Diğer film, ana mürekkeple kaplıdır. Sensöre bastığınızda, mürekkep, ağırlığa dayanan bir karşıtlıkla birlikte iki izi de kısaltır.
Bir Servo Motortam artışlarla kontrol edilebilen ve hareket ettirilebilen döner veya doğrusal bir aktüatördür. Bu motorlar DC motorlardan farklıdır. Bu motorlar, açısal veya dönel hareketin hassas kontrolüne izin verir. Bu motor, hareketi hakkında geri bildirim gönderen bir sensöre bağlıdır.
Adım 3: Çalışma Prensibi
Bu projenin çalışma prensibi çok basit. Ayağın gösteriye yerleştirilip yerleştirilmediğini tespit etmek için bir kuvvet sensörü kullanılacaktır. Ayağı tespit ederse, Arduino Motor Shield yardımı ile bir servo motoru hareket ettirecek olan Arduino kartına sinyal gönderir. Bu servo motor, tüm bağları aynı anda çekecek şekilde hareket edecektir. Bu nedenle, ayakkabının tüm bağcıklarını otomatik olarak bağlar.
Adım 4: Bileşenleri Birleştirme
Şimdi bu projenin arkasındaki ana fikri ve çalışma prensibini bildiğimize göre, bir adım öne geçelim ve otomatik olarak kendini beğenecek bir şov yapmak için her şeyi bir araya getirmeye başlayalım. Nihai bir ürün yapmak için aşağıda verilen adımları izleyin:
- Her şeyden önce, gösterinin arkasına sabitlenecek şekilde küçük bir metal plaka kesin. Kalıcı olarak sabitlenmesi ve gevşememesi için bir sentetik kullanın. Metal plaka ile gösteri arasında bir boşluk bıraktığınızdan emin olun çünkü bu boşluktan bazı kablo bağları geçireceğiz.
- Şimdi iki servo motor alın ve bunları sıcak tutkalla metal plakaya takın. Şimdi bunları kalıcı olarak sabitlemek için, bu servo motorların daha sonra hareket etmemesi için etraflarına fermuar bağları kullanın. Servo motorlar devreye girdikten sonra kalan fazla kabloyu kesin.
- Şimdi, güç anahtarı dışarı bakacak şekilde motorların altına bir pil kutusu monte edin.
- Şimdi Arduino kartını motorlara takın. Motor kalkanını Arduino ile bağlamadan önce devreye bazı şeylerin eklenmesi gerekir.
- Bir LED alın ve pozitif bacağına bir direnç lehimleyin ve negatif bacağına ve direncin diğer bacağına kısa bir tel lehimleyin. Ardından bu düzeneği Arduino ya bağlayın ve kullanılmayan ayakkabı bağı soketlerinden birine itin.
- Şimdi al Kuvvet Sensörüve ayakkabınızın içine, topuğunuzun dinleneceği yere yerleştirin. Kuvvet sensörünün pimlerinin lehimlenmesi tavsiye edilmez çünkü havya ısısı sensörün plastiğini eritebilir. Bu yüzden yapıştırmanız veya bantlamanız daha iyidir.
- Son olarak, tüm bağları servo motora bağlamak için bir fermuar kullanın, böylece motor döndüğünde tüm bağları aynı anda çeker.
LED'in pozitif kablosunun Arduino'nun pin2'sine bağlı olduğundan emin olun. Kuvvet Sensörünün Vcc ve toprak pimi, Arduino'nun 5V ve toprağına bağlanacak ve kuvvet sensörünün IN pini, Arduino kartının A0 pinine bağlanacaktır. Son olarak, yanlış bir bağlantı yapmamak için Servo Motor pinlerini motor korumasına dikkatlice takın.
Adım 5: Arduino'ya Başlarken
Daha önce Arduino IDE'ye aşina değilseniz endişelenmeyin çünkü aşağıda Arduino IDE'yi kullanarak mikrodenetleyici kartında kod yazma işleminin net adımlarını görebilirsiniz. Arduino IDE'nin son sürümünü buradan indirebilir ve aşağıda belirtilen adımları takip edebilirsiniz:
- Arduino kartı PC'nize bağlandığında, "Kontrol paneli" ni açın ve "Donanım ve Ses" e tıklayın. Ardından "Aygıtlar ve Yazıcılar" a tıklayın. Arduino kartınızın bağlı olduğu bağlantı noktasının adını bulun. Benim durumumda "COM14" ama sizin PC'nizde farklı olabilir.
- Servo Motor'u kullanmak için bir kitaplık eklememiz gerekecek. Kitaplık, kodla birlikte indirme bağlantısına eklenmiştir. Git Eskiz> Kitaplığı Dahil Et> .ZIP Kitaplığı Ekle.
- Şimdi Arduino IDE'yi açın. Araçlar'dan Arduino kartını şu şekilde ayarlayın: Arduino / Genuino UNO.
- Aynı Araç menüsünden, kontrol panelinde gördüğünüz bağlantı noktası numarasını ayarlayın.
- Aşağıda ekli kodu indirin ve IDE'nize kopyalayın. Kodu yüklemek için yükle düğmesine tıklayın.
Kodu buraya tıklayarak indirebilirsiniz.
6. Adım: Kod
Kod oldukça iyi yorumlanmış ve kendinden açıklamalıdır. Ancak yine de kod aşağıda kısaca açıklanmıştır.
1. Başlangıçta, servo motorun mikro denetleyici kartına entegre edilebilmesi ve bunun üzerinden programlanabilmesi için özel bir kitaplık dahil edilmiştir. Servo motor ile kullanılmak üzere iki nesne oluşturulur. motor sürücüsüne bağlanacak bazı pinler veya Arduino başlatılır ve daha sonra ana programda kullanılacak bazı geçici değerleri kaydedecek bazı değişkenler de bildirilir.
#Dahil etmek// mikro denetleyici kartlı servo motor arabirimine kitaplık ekleyin Servo myservo; // servo nesne 1'i oluşturur Servo myservo2; // servo nesnesi 2 oluştur int forcePin = 0; // kuvvet sensörüne bağlı analog pin 0 int ledPin = 2; // LED int switchPin'e bağlı dijital pin 2 = 19; // kilit açma anahtarını analog pin 5'e ayarlar int valF; // kuvvet sensörü değeri int valS; // int thresHold anahtarının değeri = 500; // kuvvet sensörü basınç eşiğini tanımlar int servoUnlock = 0; // ana servoyu nötr yerleştirilmemiş konuma (0 derece) ayarlar int servoLock = 180; // ana servoyu bağlantılı konuma (180 derece) ayarlar int servoUnlock2 = 180; // yardımcı servoyu nötr yerleştirilmemiş konuma (0 derece) ayarlar int servoLock2 = 0; // yardımcı servoyu bağlantılı konuma ayarlar (180 derece)
2. geçersiz kurulum ()mikro denetleyiciye güç verildiğinde veya etkinleştirme düğmesine basıldığında başlangıçta yalnızca bir kez çalışan bir işlevdir. Bu fonksiyonda, Arduino'nun pinleri INPUT veya OUTPUT olarak kullanılmak üzere başlatılır. Daha önce servo motor için oluşturulan nesneler, servo motoru Arduino kartının belirli pimine bağlamak için kullanılıyor ve servo ilk değiştirilmemiş durumuna taşınıyor. Baud Hızı da bu işlevde ayarlanır. Baud Hızı, mikro denetleyicinin bağlı harici cihazlarla iletişim kurduğu saniyedeki bit cinsinden hızdır.
void setup () {Serial.begin // mikro denetleyicinin baud hızını ayarlama pinMode (ledPin, OUTPUT); // dijital pin 2, LED pinMode (switchPin, INPUT) için çıkıştır; // analog pin 5, myservo.attach (9) anahtarı için giriştir; // servoları 9 myservo2.attach (10) pinlerine bağlar; // servoları 10 myservo.write (servoUnlock) pinlerine bağlar; // servo 1'i yerleştirilmemiş konumlara taşı myservo2.write (servoUnlock2); // servo 2'yi yerleştirilmemiş konumlara taşıyın}
3. geçersiz döngü ()bir döngüde tekrar tekrar çalışan bir işlevdir. İlk olarak, kuvvet sensörü tarafından bir analog değer okunur. Daha sonra kuvvet sensörünün değerinin bir eşik değeri geçmesini bekler. Ayağın tamamen yerine oturmasını bekleyecek ve her iki servoyu da kilitli konuma getirecektir. Anahtarlara basılırsa, servo kilidi açılacak ve LED yedi kez yanıp sönene kadar bekleyecektir.
boşluk döngüsü () {valF = analogRead (forcePin); // kuvvet sensörünün değerini okuyun valS = digitalRead (switchPin); // (valF> = thresHold) {// kuvvet sensörünün basınç eşiğine eşit olmasını veya geçmesini bekler ve ardından: delay (1000); // ayağın ayakkabının içine oturmasını bekler myservo2.write (servoLock2); // yardımcı servoyu kilitli pozisyon gecikmesine (1000) ayarlar; // bir saniye bekler myservo.write (servoLock); // ana servoyu kilitli pozisyon gecikmesine ayarlar (1000); // bir saniye digitalWrite (ledPin, HIGH); // servo kilidi açılana kadar LED'i açar. Pil ömründen tasarruf etmek için bu satırı çıkarın. } if (valS == HIGH) {// anahtara basılmasını bekler ve ardından: myservo2.write (servoUnlock2); // yardımcı servo gecikmesinin kilidini açar (1000); // iki saniye bekler myservo.write (servoUnlock); // ana servo gecikmesinin kilidini açar (500); // bekleyin, ardından LED'i 7 kez yanıp söner digitalWrite (ledPin, LOW); gecikme (200); digitalWrite (ledPin, YÜKSEK); gecikme (200); digitalWrite (ledPin, DÜŞÜK); gecikme (200); digitalWrite (ledPin, YÜKSEK); gecikme (200); digitalWrite (ledPin, DÜŞÜK); gecikme (200); digitalWrite (ledPin, YÜKSEK); gecikme (200); digitalWrite (ledPin, DÜŞÜK); gecikme (200); digitalWrite (ledPin, YÜKSEK); gecikme (200); digitalWrite (ledPin, DÜŞÜK); gecikme (200); digitalWrite (ledPin, YÜKSEK); gecikme (200); digitalWrite (ledPin, DÜŞÜK); gecikme (200); digitalWrite (ledPin, YÜKSEK); gecikme (200); digitalWrite (ledPin, DÜŞÜK); gecikme (200); digitalWrite (ledPin, YÜKSEK); gecikme (200); digitalWrite (ledPin, DÜŞÜK); // LED gecikmesini kapatır (1000); }}
Dolayısıyla, bir servo motor, mikro denetleyici ve bir motor kalkanı yardımıyla bağcıklarını otomatik olarak bağlayan bir gösteri yapmak için gereken tüm prosedür buydu. Artık tüm bu prosedürü bildiğiniz gibi, AutoLacing Şovunuzu evinizde yapmanın keyfini çıkarın.