Мазмуну:
- 1 -кадам: Схемалык убакыт
- 2 -кадам: коддоо убактысы
- 3 -кадам: Мунун баары эмнени билдирет?
- 4 -кадам: Мүчүлүштүктөрдү оңдоо
- 5 -кадам: Эгерде сизде кандайдыр бир суроолор болсо, Комментарийлер бөлүмүндө сурап, жазылууну унутпаңыз
Video: Баскычтоп Servo Lock: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Салам баарына, жакшы күн өткөрдүңүз деп үмүттөнөм. Эгерде үмүт жок болсо, анда сиз бул окуу куралына жана кээ бир терапиялык музыкага ачык ой жүгүртүү менен артка кайрыла аласыз. Программалоо кыйын болушу мүмкүн. Бактыга жараша, бул окуу куралы эч кандай түйшүк эмес, андыктан сиз популярдуу нерсени (күчтүү үн менен) аткара аласыз: ULTIMATE SERVO KEYPAD LOCK !!! Бул чын эле менин киришүүм, сизге жакты деп үмүттөнөм. Эмнеси болсо да, терүү үчүн манжаларыбызды жылыталы. (Салкын ыр: болот-ыр (классикалык музыка)).
Берилиштер:
-Манжаларыңыз
-Сиздин колуңуз да маанилүү
-USB кабели Arduino үчүн
-Ардуинонун бардык түрү бар (менде Arduino Mega бар)
-Matrix баскычтобу (клавиатура - ebay, keypad - amazon)
-Micro же Standard servo (мен микро сервону колдонуп жатам)
-* Кошумча* Нан тактасы - каалаган түрү
-* Кошумча* Электр энергиясы менен камсыздоо (5V)
1 -кадам: Схемалык убакыт
Ошентип, биринчи эмне кылыш керек? Ардуинону компьютерге туташтырыңыз. Кийинки баскычтопту туташтырыңыз. *Эскертүү - сиз ардуинодогу биринчи санариптик пин катары клавиатуранын акыркы пининен пиндерди туташтырышыңыз керек. Жана андан кийин оңдон солго*. Баскычтоптун ардуинодо 2-9 пинтери бар. Серводо санарип сигналдар катары пин 10 бар. Ардуино, клавиатура жана сервоприёмникти жана 5Vди да байлаңыз. * Ошондой эле көңүл буруңуз - servo эң жакшы тышкы кубат булагы же 5V адаптери менен колдонулат (дубал плагин), бирок ал дагы эле милдеттүү эмес. жөн гана Arduino тартып servo үчүн зым тиркөө үчүн. Бул схема жаңы баштагандарга жардам бербейт, андыктан кыскача түшүндүрүп берейин. Негизинен, акыркы пин 2 жана биринчи 9, экөө 8, үчөө 7 жана башкалар. Солдон оңго 2 2.
2 -кадам: коддоо убактысы
Макул, азыр биз коддоо бөлүгүнө кирдик! Бул жерде чыныгы сыйкырчылык болот! Ошентип, алгач клавиатураны жана сервону текшерүү үчүн тест программасы бар. Бул жерде:
//www.elegoo.com//2016.12.9
/* @file CustomKeypad.pde
|| @version 1.0 || @author Александр Бревиг || @contact [email protected] || || @description || | Баскычтоптун өлчөмүн жана ачкыч маанилерин өзгөртүүнү көрсөтөт. || # */ # кошуу
const байт ROWS = 4; // төрт катар
const байт COLS = 4; // төрт тилке // баскычтоптогу символдорду аныктайт char hexaKeys [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; байт rowPins [ROWS] = {9, 8, 7, 6}; // клавиатуранын байт colPins'инин катарына туташуу [COLS] = {5, 4, 3, 2}; // баскычтоптун мамычанын пинуттарына туташуу
// NewKeypad классынын инстанциясын инициализациялоо
Клавиатура customKeypad = Баскычтоп (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);
жараксыз орнотуу () {
Serial.begin (9600); } void loop () {char customKey = customKeypad.getKey (); if (customKey) {Serial.println (customKey); }}
//www.elegoo.com//2016.12.08 #include
Servo myservo; // сервону көзөмөлдөө үчүн servo объектисин түзүү
// көпчүлүк такталарда он эки servo объект түзүлүшү мүмкүн
int pos = 0; // servo абалын сактоо үчүн өзгөрмө
жараксыз орнотуу () {
myservo.attach (9); // servo объектиге пин 9дагы сервону тиркейт}
void loop () {
үчүн (pos = 0; pos = 0; pos -= 1) {// 180 градустан 0 градуска чейин барат myservo.write (pos); // servoга "pos" кечигүү абалына өтүүсүн айт (15); // servo позициясына жетүү үчүн 15ms күтөт}}
Бул жерде долбоордун коду (мен сизге чынын айтсам, мен көп деле кылган жокмун, жөн эле сервопроцентти кошуп койдум, бардык кодду жасаган адамдарга рахмат!):
#Сырсөздү кошуу.h
#баскычтопту кошуу
/*
|| Matrix баскычын колдонуу менен жөнөкөй сырсөздү киргизүү || 4/5/2012 Жаңыртуулар Натан Собиек: [email protected] || *
/* паролду ырастоо үчүн
//# сырсөз аракетин баштапкы абалга келтирүү
/////////////////////////////////////////////////////////////////
#кошуу
//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip
Сырсөздүн паролу = Сырсөз ("1234");
Servo myservo; // сервону көзөмөлдөө үчүн servo объектисин түзүү
#аныктоо servoPin 10
const байт ROWS = 4; // Төрт катар
const байт COLS = 4; // мамычалар // Keymap char баскычтарын аныктаңыз [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};
байт rowPins [ROWS] = {9, 8, 7, 6}; // ROW0, ROW1, ROW2 жана ROW3 клавиатурасын бул Arduino казыктарына туташтырыңыз.
байт colPins [COLS] = {5, 4, 3, 2,}; // Баскычтопту COL0, COL1 жана COL2 бул Arduino казыктарына туташтырыңыз.
// Баскычтопту түзүү
Баскычтоп баскычы = Баскычтоп (makeKeymap (баскычтар), rowPins, colPins, ROWS, COLS);
жараксыз орнотуу () {
myservo.attach (servoPin); // серво объектисине пин 9дагы сервону бекитет
Serial.begin (9600);
keypad.addEventListener (keypadEvent); // бул баскычтоп үчүн окуя угуучуну кошуу
myservo.write (0);
}
void loop () {
keypad.getKey ();
}
// кээ бир өзгөчө окуяларга кам көрүңүз
void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); тыныгуу; демейки: password.append (eKey); }}}
жараксыз checkPassword () {
if (password.evaluate () == true) {Serial.println ("Ийгилик"); // Иштесе кодду кошуңуз
myservo.write (180);
кечигүү (3000);
myservo.write (0);
password.reset ();
} if if (password.evaluate () == false) {
Serial.println ("Туура эмес");
myservo.write (0);
// иштебесе иштетүү үчүн кодду кошуңуз
}
}
3 -кадам: Мунун баары эмнени билдирет?
Жогорудагы код (биринчиси) Сервого "шыпыруу" үчүн сигнал берет же 0дөн 180 градуска чейин барат. Же жөн эле солдон оңго же оңдон солго айлануунун жарым тегерегин бүтүрүү. Эгерде сиз код боюнча көбүрөөк маалымат алгыңыз келсе, мен сизге айта алам. Жөн гана сураңыз. Эч кандай зыяны жок, жөн эле кичинекей суроо. Эгер муну кыла албайт, келе жатат! Кандай болбосун, ортодогу код клавиатуранын ар бир баскычын текшерет. Ал эми коддун акыркысы "1234" сырсөзүн тергенде, серво менен "кулпусун ачат", сиз ойлоп таптыңыз, клавиатура.
4 -кадам: Мүчүлүштүктөрдү оңдоо
С: Менин баскычтоп иштебейт.
Ж: Биринчи пин 9 экенин унутпаңыз, ошол жерден түшүңүз. Ошондой эле, ардуинону компьютердин USB портуна туташтырып, Arduino программасын жасаңыз.
С: Серво иштебейт.
Ж: Серво пини 10 -пин экенин жана сизге жалпы негиз керек экенин унутпаңыз, эгер сиз Arduinoдон түз туташып жатсаңыз, кызгылт сары пин (микро серводо) пин 10, кызыл пин 5В жана күрөң пин - бул GND пини.
С: Arduino иштебейт:
Ж: Сиз аны туташтырдыңыз беле? Бул жеке көйгөй окшойт
5 -кадам: Эгерде сизде кандайдыр бир суроолор болсо, Комментарийлер бөлүмүндө сурап, жазылууну унутпаңыз
Саламатсызбы, менин окуу куралымды көргөнүңүз үчүн рахмат. Кызыктуу болуп жатат.
Сунушталууда:
Osu! Баскычтоп: 8 кадам (Сүрөттөр менен)
Osu! Баскычтоп: Мен жакында эле ритм оюнун ойной баштадым osu! жана коммерциялык мини клавиатуранын видеосун көргөндөн кийин, мен өзүмдү долбоорлоо кызыктуу долбоор болот деп ойлогом. Ошондон көп өтпөй мен аны үйрөткүчтөргө коюу жакшы болот деп чечтим
Lego 4x4 баскычтоп матрицасы: 8 кадам (сүрөттөр менен)
Lego 4x4 баскычтоп матрицасы: Мен акыркы бир нече жумада үйдө тыгылып жатканымда, акыры башымда айланып жүргөн кээ бир долбоорлорду аягына чейин чыгардым. Мен акыркы бир нече жумада Lego долбоорлорумдун көбүн негиз катары колдонуп келем
Программалануучу баскычтоп: 5 кадам (Сүрөттөр менен)
Программалануучу баскычтоп: Бул долбоордо мен эң көп колдонулган баскычтарды, тиркемелерди жана башкаларды картага түшүрүү үчүн салыштырмалуу жөнөкөй жана арзан программалоочу баскычтарды кантип жасоону көрсөтөм
Баскычтоп пианино: 3 кадам
Баскычтоп фортепианосу: Бул окуу куралы 4х4 баскычтопту жана пассивдүү зумерди колдонуу менен 8 ноталуу фортепианону кантип түзүүнү көрсөтөт. Бул долбоордо 1ден 8ге чейинки баскычтар фортепианодо ноталарды ойнойт, ал эми A-D баскычтары алдын ала коюлган обондорду ойнотот
Баскычтоп менен Servo Positoning: 3 кадам
Баскычтоп менен сервистик позитонинг: Бул көрсөтмөдө биз микро-сервону Arduino Uno менен баскычтоп менен башкара турган долбоор түзөбүз. Колдонулган материалдар: Arduino UnoBreadboard4x4 KeypadMicro-Servo