İçindekiler:
- Adım 1: Tuş Takımını Kablolayın
- Adım 2: Mikro Servo'yu ekleyin
- Adım 3: Servodaki Tuş Takımını Kullanmak için Kodu Değiştirin
Video: Tuş Takımı ile Servo Konumlandırma: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Bu talimatta, Arduino Uno ile çalıştıran bir tuş takımı ile bir Micro-Servo'yu kontrol edecek bir proje oluşturacağız.
Kullanılan malzemeler:
Arduino Uno
ekmek tahtası
4x4 Tuş Takımı
Mikro Servo
Adım 1: Tuş Takımını Kablolayın
Yapmanız gereken ilk şey, güç rayını ve topraklama rayını breadboard'unuzdaki Arduino'nuzdan bağlamaktır.
- 5V pinini güç rayına bağlayın (kırmızı)
- Topraklama rayına (mavi) bir Topraklama pimi (GND) bağlayın
Artık devre tahtasına güç geldiğine ve topraklandığına göre, bileşenlerimizi kablolamaya başlayabiliriz.
Tuş Takımını kablolamak kolaydır ancak tuş takımı ve arduino üzerindeki pinlere dikkat etmeniz gerekir. Dikkatimizi kodumuza çevirdiğimizde işimize yarayacaktır.
Tellerinizi kullanırken soldan başlamayı unutmayın!
- İlk pin 13'e gidiyor
- İkinci pin 12'ye gidiyor
- Üçüncü pin 11'e gidiyor
- Dördüncü pin 10'a gidiyor
- Beşinci pim 9'a
- Altıncı Pin'den 8'e
- Yedinci Pin'den 7'ye
- Sekizinci Pin'den 6'ya
Tuş takımını bağlarken dijital bir pwm pinini açık tutmayı unutmayın. Mikro servo için buna ihtiyacımız olacak
Koda geçmeden önce Keypad Library'yi kurduğunuzdan emin olun. Eskizinizde bulunabilir, ardından eskiz sekmesinde, kitaplığı içerir. Tuş takımını onsuz kullanamazsınız.
Şimdi koda dönelim ve tuş takımının çalıştığından emin olun ve ilgili değerleri verin
Hızlı Notlar: Tuş takımını kontrol etmek için if ifadesine sahip olduğunuzdan emin olun, aksi takdirde çalışmaz. Ayrıca gecikmelere karşı dikkatli olun, tuş takımından kaydedilen düğmelerle uğraşacaklar
#Dahil etmek
const bayt satırları = 4; //tuş takımı dolu olduğundan beri dört satır
const bayt sütunları = 4; //dört sütun, yukarıdakiyle aynı
karakter düğmeleri[satırlar][sütunlar] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
bayt satırP[satırlar] = {13, 12, 11, 10}; // tuş takımının satır pinleri
bayt sütunlarıP[sütunlar] = {9, 8, 7, 6}; // tuş takımının sütun pinleri
Tuş takımı = Tuş takımı(makeKeymap(düğmeler), satırP, sütunlarP, satırlar, sütunlar); // tuş takımı oluştur
geçersiz kurulum(){
Seri.başla(9600); }
boşluk döngüsü(){
char buttonPressed = pad.getKey(); //karakteri tuş takımından al if(buttonPressed) //tuş takımında hangi butona basıldığını göster { Serial.println(buttonPressed); } }
Adım 2: Mikro Servo'yu ekleyin
Şimdi servo motoru ekleyelim. Mikro sunucunun sadece üç kablosu olduğundan, bunu mevcut projemize eklemek gerçekten çok kolay.
- Kahverengi tel, breadboard üzerindeki topraklama rayına gidiyor
- Kırmızı, Güç rayına gider
- Orange, Arduino'daki Pin 3'e gider. Mikro sunucunun Arduino üzerinde bir PWM pinine sahip olması gerektiğini unutmayın. Bunun nedeni TIMER2 kullanan servodur.
Şimdi mikro servoyu doğru bağladığımızdan ve hareket ettiğinden emin olalım.
#include #include "Servo.h"
const bayt satırları = 4; //tuş takımı dolu olduğundan beri dört satır
const bayt sütunları = 4; //dört sütun, yukarıdakiyle aynı
karakter düğmeleri[satırlar][sütunlar] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
bayt satırP[satırlar] = {13, 12, 11, 10}; // tuş takımının satır pinleri
bayt sütunlarıP[sütunlar] = {9, 8, 7, 6}; // tuş takımının sütun pinleri
Tuş takımı = Tuş takımı(makeKeymap(düğmeler), satırP, sütunlarP, satırlar, sütunlar); // tuş takımı oluştur
Servo akımıServo; // bir servoyu kontrol etmek için servo nesnesi yarat
// çoğu kartta on iki servo nesnesi oluşturulabilir
int konum = 0; // servo konumunu saklamak için değişken
geçersiz kurulum(){
Seri.başla(9600); akımServo.attach(3); // pin 9'daki servoyu servo nesnesine bağlar
}
boşluk döngüsü(){
char buttonPressed = pad.getKey(); //karakteri tuş takımından al if(buttonPressed) //tuş takımında hangi butona basıldığını göster { Serial.println(buttonPressed); }
akımServo.write(95);
}
Adım 3: Servodaki Tuş Takımını Kullanmak için Kodu Değiştirin
Kodumuzu, tuş takımında belirli bir düğmeye bastığımızda servo belirli bir konuma hareket edecek şekilde değiştireceğimizi bilin. Önce önemli bir şey. 0 için servo konumu garipti. Sürekli dönüş servom olduğu için 0'a her yaklaştığında servo dönmeye başladı. Koda koyduğum sayı, bu olmadan gidebileceğim kadar düşüktü. Her neyse, işte son kodum:
#include #include
const bayt satırları = 4; //tuş takımı dolu olduğundan beri dört satır
const bayt sütunları = 4; //dört sütun, yukarıdakiyle aynı
karakter düğmeleri[satırlar][sütunlar] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
bayt satırP[satırlar] = {13, 12, 11, 10}; // tuş takımının satır pinleri
bayt sütunlarıP[sütunlar] = {9, 8, 7, 6}; // tuş takımının sütun pinleri
Tuş takımı = Tuş takımı(makeKeymap(düğmeler), satırP, sütunlarP, satırlar, sütunlar); // tuş takımı oluştur
Servo myServo; //
geçersiz kurulum(){
Seri.başla(9600); myServo.attach(5); // pin 9'daki servoyu servo nesnesine bağlar }
boşluk döngüsü(){
karakter tuşu = pad.getKey(); //karakteri klavyeden al if(key == '0') { myServo.write(11); Serial.println("0"); gecikme(15); } if(key == '1') { myServo.write(12); Seri.println("1"); gecikme(15); } if(key == '2') { myServo.write(24); Seri.println("2"); gecikme(15); } if(key == '3') { myServo.write(36); Seri.println("3"); gecikme(15); }
if(anahtar == '4')
{ myServo.write(48); Seri.println("4"); gecikme(15); }
if(anahtar == '5')
{ myServo.write(60); Seri.println("5"); gecikme(15); }
if(anahtar == '6')
{ myServo.write(72); Seri.println("6"); gecikme(15); }
if(anahtar == '7')
{ myServo.write(84); Seri.println("7"); gecikme(15); }
if(anahtar == '8')
{ myServo.write(96); Seri.println("8"); gecikme(15); }
if(anahtar == '9')
{ myServo.write(108); Seri.println("9"); gecikme(15); }
if(anahtar == '*')
{ myServo.write(120); Seri.println("*"); gecikme(15); }
if(anahtar == '#')
{ myServo.write(132); Serial.println("#"); gecikme(15); }
if(anahtar == 'A')
{ myServo.write(146); Seri.println("A"); gecikme(15); }
if(anahtar == 'B')
{ myServo.write(158); Serial.println("B"); gecikme(15); }
if(anahtar == 'C')
{ myServo.write(170); Seri.println("C"); gecikme(15); }
if(anahtar == 'D')
{ myServo.write(180); Seri.println("D"); gecikme(15); } }
Önerilen:
Arduino ile Arayüz Tuş Takımı. [Benzersiz Yöntem]: 7 Adım (Resimlerle)
Arduino ile Arayüz Tuş Takımı. [Benzersiz Yöntem]: Merhaba ve ilk talimatıma hoş geldiniz! :) Bu talimatta, klavyeyi arduino ile arayüzlemek için harika bir kitaplık paylaşmak istiyorum - 'Keypad Kitaplığı' dahil 'Parola kitaplığı'. Bu kütüphane, sahip olduğumuz en iyi özellikleri içerir
CircuitPython ile 4x4 Tuş Takımı Kullanma: 4 Adım
CircuitPython ile 4x4 Tuş Takımı Kullanma: Bu ucuz tuş takımı, CircuitPython projelerinize basit bir sayısal giriş yöntemi sunar. Adafruit ItsyBitsy M0 ekspres ile kullanacağım. Şunlara ihtiyacınız olacak: Tuş Takımı - benimki 4x4ItsyBitsy M0 Express veya benzeri bir boardMu Editor kurulu
Arduino Matrix Tuş Takımı 4x4 ile Modern ve Yeni ve Daha Kolay Dolap Örneği: 3 Adım
Arduino Matrix Tuş Takımı 4x4 ile Modern ve Yeni ve Daha Kolay Dolap Örneği: I2C devresi ile bir LCD tuş takımı matrisi 4x4 kullanmanın başka bir örneği
1602 I2C Sırt Çantası ile LCD Tuş Takımı Shield Modülü: 6 Adım
1602 LCD Keypad Shield Modül I2C Sırt Çantası ile: Daha büyük bir projenin parçası olarak, bazı basit menülerde gezinmek için bir LCD ekrana ve bir tuş takımına sahip olmak istedim. Diğer işler için Arduino'daki birçok I/O portunu kullanacağım, bu yüzden LCD için bir I2C arayüzü istedim. Bu yüzden biraz donanım satın aldım,
Arduino Hesap Makinesi Yapmak İçin Arduino İle Tuş Takımı ve LCD Nasıl Kullanılır: 5 Adım
Arduino ile Tuş Takımı & LCD Kullanımı Arduino Hesap Makinesi Yapmak İçin: Bu derste Arduino ile 4x4 matrix tuş takımı ve 16x2 LCD'yi nasıl kullanabileceğinizi ve basit bir Arduino Hesap Makinesi yapmak için nasıl kullanabileceğinizi paylaşacağım. Öyleyse başlayalım