İçindekiler:
- Adım 1: Şematik Zaman
- Adım 2: Kodlama Zamanı
- Adım 3: Tüm Bunlar Ne Anlama Geliyor?
- 4. Adım: Sorun Giderme
- Adım 5: Herhangi Bir Sorunuz Varsa Yorum Kısmından Sormaktan Çekinmeyin ve Abone Olmayı Unutmayın
Video: Tuş Takımı Servo Kilidi: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Herkese merhaba, umarım gününüz güzel geçmiştir. Umarım değilse, bu eğitime ve bazı terapötik müziklere biraz açık fikirlilikle geri sarabilirsiniz. Programlama bir güçlük olabilir. Neyse ki, bu öğretici bir güçlük değil, bu yüzden (güçlü bir sesle) adlı popüler bir şeyi başarabilirsiniz: ULTIMATE SERVO KEYPAD LOCK!!! Bu gerçekten benim tanıtımım, umarım beğenmişsinizdir. Her neyse, parmaklarımızı yazmak için ısıtalım. (Harika bir şarkı: can-can şarkısı (klasik müzik)).
Gereçler:
-Senin parmakların
- Ellerin de önemli.
-Arduino için USB kablosu
-Her türlü arduino mevcut (Arduino Mega'm var)
-Matrix Tuş Takımı (tuş takımı - ebay, tuş takımı - amazon)
-Mikro veya Standart servo (mikro servo kullanıyorum)
-*Opsiyonel* Breadboard - herhangi bir tür
-*Opsiyonel* Güç kaynağı (5V)
Adım 1: Şematik Zaman
Peki, ilk ne yapmalı? Arduino'yu bilgisayara bağlayın. Ardından tuş takımını bağlayın. *Not - arduino üzerindeki ilk dijital pin olarak tuş takımındaki son pinden gelen pinleri bağlamanız gerekir. Ve bundan sonra sağdan sola gidin*. Tuş takımının arduino üzerinde 2-9 pinleri vardır. Servo, dijital sinyaller olarak pin 10'a sahiptir. Arduino, tuş takımı ve servo ile 5V'nin topraklarını da bağlayın. *Ayrıca, servonun en iyi şekilde harici bir güç kaynağıyla veya 5V'luk (duvar prizi) bir adaptörle kullanıldığını unutmayın, ancak yine de isteğe bağlıdır.* Toprakları ve 5V'u fiziksel olarak bağlamanız gerekmez, demek istediğim şu ki sadece Arduino'dan servoya bir tel takmak için. Bu şema yeni başlayanlara yardımcı olmuyor, bu yüzden kısa ayrıntılı açıklamama izin verin. Temel olarak, son pin 2'dir ve birincisi 9'dur, ikisi 8'dir, üçü 7'dir vb. Soldan sağa gidin 2 2.
Adım 2: Kodlama Zamanı
Tamam, şimdi kodlama kısmına geldik! Gerçek sihrin gerçekleştiği yer burası! Yani önce keypad ve servoyu test etmek için bir test programı var. Buraya:
//www.elegoo.com//2016.12.9
/* @file CustomKeypad.pde
|| @versiyon 1.0 || @yazar Alexander Brevig || @contact [email protected] || || @açıklama || | Tuş takımı boyutunu ve tuş değerlerini değiştirmeyi gösterir. || # */ #Dahil etmek
const bayt SATIRLAR = 4; //dört satır
const bayt COLS = 4; //dört sütun //keypadlerin düğmeleri üzerindeki sembolleri tanımlayın char hexaKeys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5 ', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; bayt rowPins[SATIR] = {9, 8, 7, 6}; //tuş takımının satır pin çıkışlarına bağlan bayt colPins[COLS] = {5, 4, 3, 2}; // tuş takımının sütun pinlerine bağlanın
//NewKeypad sınıfının bir örneğini başlat
Tuş takımı özelKeypad = Tuş takımı(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
geçersiz kurulum(){
Seri.başla(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }
//www.elegoo.com//2016.12.08 #include
Servo myservo; // 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() {
myservo.attach(9); // pin 9'daki servoyu servo nesnesine bağlar }
boşluk döngüsü () {
for (konum = 0; konum = 0; konum -= 1) { // 180 dereceden 0 dereceye gider myservo.write(poz); // servoya 'pos' gecikmesi(15) değişkeninde pozisyona gitmesini söyle; // servonun pozisyona ulaşması için 15ms bekler } }
İşte proje kodu (Dürüst olacağım, pek bir şey yapmadım, sadece servo kısmını ekledim, tüm kodu yapanlara teşekkürler!):
#include Password.h
#include Tuş Takımı
/*
|| Matris Tuş Takımını Kullanarak Basit Parola Girişi || 05.04.2012 Güncellemeler Nathan Sobieck: [email protected] || *
/* şifreyi doğrulamak içindir
//# şifre denemesini sıfırlamak içindir
/////////////////////////////////////////////////////////////////
#Dahil etmek
//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip
Şifre şifre = Şifre ("1234");
Servo myservo; // bir servoyu kontrol etmek için servo nesnesi yarat
#define servoPin 10
const bayt SATIRLAR = 4; // Dört satır
const bayt COLS = 4; // sütunlar // Keymap karakter anahtarlarını tanımlayın[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', ' B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} };
byte rowPins[ROWS] = { 9, 8, 7, 6 }; // ROW0, ROW1, ROW2 ve ROW3 tuş takımını bu Arduino pinlerine bağlayın.
bayt colPins[COLS] = { 5, 4, 3, 2, }; // COL0, COL1 ve COL2 tuş takımını bu Arduino pinlerine bağlayın.
// Tuş Takımını Oluştur
Tuş takımı tuş takımı = Tuş takımı(makeKeymap(tuşlar), rowPins, colPins, ROWS, COLS);
geçersiz kurulum() {
myservo.attach(servoPin); // pin 9'daki servoyu servo nesnesine bağlar
Seri.başla(9600);
keypad.addEventListener(keypadEvent); // bu tuş takımı için bir olay dinleyicisi ekle
myservo.write(0);
}
boşluk döngüsü () {
keypad.getKey();
}
//bazı özel olaylarla ilgilen
void keypadEvent(KeypadEvent eKey) { switch (keypad.getState()) { case PRESSED: switch (eKey) { case '*': checkPassword(); kırmak; varsayılan: password.append(eKey); } } }
geçersiz checkPassword() {
if (password.evaluate() == true) { Serial.println("Success"); //Çalışırsa çalıştırılacak kodu ekleyin
myservo.write(180);
gecikme(3000);
myservo.write(0);
parola sıfırlama();
} else if (password.evaluate() == false) {
Serial.println("Yanlış");
myservo.write(0);
//Çalışmadıysa çalıştırılacak kodu ekleyin
}
}
Adım 3: Tüm Bunlar Ne Anlama Geliyor?
Yukarıdaki kod (ilk kod), Servo'ya "süpürmesi" veya sadece 0'dan 180 dereceye gitmesi için bir sinyal verecektir. Ya da sadece soldan sağa veya sağdan sola yarım bir dönüş çemberini tamamlamak. Kod hakkında daha fazla ayrıntı istiyorsanız, size söyleyebilirim. Sadece lütfen sor. Zarar yok, sadece küçük bir soru. Hadi ama, yapabilirsin! Her neyse, ortadaki kod tuş takımının her düğmesini test ediyor. Ve kodun sonuncusu, "1234" şifresini yazdığınızda servo ile "kilidi açar", tahmin ettiniz, tuş takımı.
4. Adım: Sorun Giderme
S: Tuş takımım çalışmıyor.
C: İlk pinin 9 olduğunu unutmayın, o yüzden oradan aşağı inin. Ayrıca arduino'yu bilgisayarın USB portuna bağladığınızdan ve Arduino'yu programladığınızdan emin olun.
S: Servo çalışmıyor.
C: Servo pininin pin 10 olduğunu ve ortak bir toprağa ihtiyacınız olduğunu unutmayın, eğer doğrudan Arduino'dan bağlanıyorsanız, turuncu pinin (mikro servo üzerindeki) pin 10 olduğunu, kırmızı pinin 5V olduğunu ve kahverengi pin GND pinidir.
S: Arduino çalışmıyor:
A: Bağladın mı? Bu kişisel bir sorun gibi geliyor
Adım 5: Herhangi Bir Sorunuz Varsa Yorum Kısmından Sormaktan Çekinmeyin ve Abone Olmayı Unutmayın
Hoşçakal, öğreticimi görüntülediğiniz için teşekkürler. Eğlenceliydi.
Önerilen:
Matrix Tuş Takımı Kullanarak Arduino Dijital Kod Kilidi Projesi: 9 Adım
Matrix Tuş Takımını Kullanarak Arduino Dijital Kod Kilidi Projesi: Zio M Uno ve Hex 4x3 Matrix Tuş Takımı kullanarak Arduino ve Qwiic sistemi ile bir dijital kod kilidi cihazı oluşturun.Projeye genel bakışBu proje için, kullanıcıların girip tuşlayabileceği basit bir dijital kod kilidi oluşturacağız. Bu eğitimde, kullanımı göstereceğiz
Tuş Takımı ile Servo Konumlandırma: 3 Adım
Tuş Takımı ile Servo Konumlandırma: Bu talimatta, Arduino Uno ile çalıştıran bir tuş takımı ile bir Mikro Servoyu kontrol edecek bir proje oluşturacağız. Kullanılan Malzemeler:Arduino UnoBreadboard4x4 Tuş TakımıMicro-Servo
Arduino Mikro Servo Tuş Takımı: 3 Adım
Arduino Mikro Servo Tuş Takımı: Bu proje için bir tuş takımı ile üç haneli bir değer girişine dönen bir mikro servo oluşturdum. Kurulumu çalıştırmak için gereken kütüphaneler "Servo.h" ve "Keypad.h". Her ikisi de arduino.exe programına kurulabilir. Malzeme
Tuş Takımı Düğmesi Servo Konumlandırıcı: 3 Adım
Tuş Takımı Düğmesi Servo Konumlandırıcı: Bu talimatta, tuş takımındaki bir düğmeye basabilecek ve hangi karaktere basıldığına bağlı olarak servo motor belirli bir derece dönecektir. Bir düğmeye her basıldığında program sürekli döngüye girer
Tuş Takımı Kapı Kilidi: 7 Adım (Resimli)
Tuş Takımı Kapı Kilidi: Arduino UNOBreadboardLCD 1602 ModülüPotansiyometre 10KΩServo Motor4X4 Membran Anahtar ModülüBuzzerYeşil LEDKırmızı LEDJumper Kabloları