Мазмуну:
- 1-кадам: Моторду титиретүү баскычы үчүн керектүү компоненттер
- 2-кадам: Вибрация моторун орнотуу үчүн баскычтын схемалары
- 3-кадам: Вибрация моторун орнотуу баскычын орнотуу
- 4 -кадам: Код
- 5-кадам: Vibration Motor Set-Up баскычынын видеосу
- 6 -кадам: Колкаптын прототиби
- 7 -кадам: уникалдуу титирөө менен бир нече баскычтардын коду
Video: Вибрациялык кайтарым байланыш менен кеңейтилүүчү баскычты колдонуу: 7 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул үйрөткүчтө, биз биринчи кезекте, Arduino Uno менен термелүү кыймылдаткычын кеңири баскыч аркылуу кантип башкарууну көрсөтөбүз. Басуу баскычтары боюнча көпчүлүк окуу куралдары физикалык нан тактасындагы баскычты камтыйт, ал эми бул окуу куралында, баскыч анын ордуна секиргич кабелдер аркылуу нан тактасына туташуу үчүн өзгөртүлгөн. Бул баскыч мотордун күчүн жана титирөө моделин башкарууга мүмкүндүк берет. Андан кийин, биз бул орнотууну колдонгон кийилүүчү технологиянын мүмкүн болгон прототибин көрсөтөбүз. Бул кийиле турган манжанын учу бар, аягына чейин бекитилген мээлей, такталган баскычтын негизинде ээсине уникалдуу вибрация пикирин берүү үчүн программаланган.
1-кадам: Моторду титиретүү баскычы үчүн керектүү компоненттер
- Arduino Uno
- Breadboard
- Монета Vibrator Vibration Motor
- Grove Button
- Эркектен Эркекке секирүүчү зымдар (x10)
- Jumper Wire 4 Pin
- Haptic Motor Driver
- Эркектен Аялга Edge Connector
- Кандооч
2-кадам: Вибрация моторун орнотуу үчүн баскычтын схемалары
Мурунку диаграмма Fritzing.org менен түзүлгөн.
3-кадам: Вибрация моторун орнотуу баскычын орнотуу
1 -кадам: Вибрация моторунун айдоочусуна четиндеги туташтыргычты кошуңуз. Монетанын вибраторунун зымдарын дирилдөөчү мотор айдоочусунун терминалдарына кошуп коюңуз.
2 -кадам: 4 пин секирүүчү кабелин туташтыргычка туташтырыңыз.
3 -кадам: секиргич зымдардын бирин колдонуп, Arduinoдогу GRD пинин нан тактасындагы катарга туташтырыңыз.
4 -кадам: Башка секирүүчү зымды колдонуп, Arduinoдогу Volt 3.3 пинин нан тактасындагы башка катарга туташтырыңыз.
5 -кадам: Эми биз вибрация моторунун айдоочусун Arduino менен байланыштырабыз. Үчүнчү секирүүчү зымды колдонуп, дирилдөө мотору драйвериндеги GND пинин Ардуинодон GRD пини сыяктуу эле нан тактасына туташтырыңыз. Вибрация моторунун айдоочусундагы VCC (вольт) үчүн башка зым менен, тактайдын вольт катарына чейин ушундай кылыңыз.
6 -кадам: титирөө моторунун айдоочусундагы SDA пинин түз Arduinoдогу SDA пинине туташтыруу үчүн дагы бир зымды колдонуңуз. Дагы, экөөндө тең SCL төөнөгүчтөрү менен ушундай кылыңыз. Же болбосо, 5 -кадамга окшош ыкманы карманыңыз жана Arduinoдогу SDA жана SCL казыктарын секирүүчү зымдар аркылуу нан тактасындагы өз катарларына туташтырыңыз. Андан кийин, SDA төөнөгүчтүн мотор айдоочусундагы SDA пинине туташтырылган катарынан зым өткөрүңүз. Мотор айдоочусунун SCL пинине чейин нан тактасындагы SCL катарында ушундай кылыңыз.
7 -кадам: Эми биз баскычты вибрация моторунун айдоочусуна жана Arduino менен туташтырып бүтүрөбүз. Баскычтын үзүлүшүнө туташкан 4 пиндүү секиргичтен GRDди нандын үстүндөгү башка GRD зымдары менен бир катарга туташтыруу үчүн башка секирүүчү зымды колдонуңуз. Вольт менен дагы бир жолу кылыңыз (VCC).
8 -кадам: SIGден баскычтын үзүлүшүндөгү акыркы жазууну Arduinoдогу пинге туташтырыңыз (биздин код үчүн 7 -пинди колдонгонбуз).
9 -кадам: Arduino'yү сайыңыз жана кодду жүктөңүз, жана анын иштешин көрүңүз!
4 -кадам: Код
Button-Vibration-Motor.c
/ * Код https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 тартып ылайыкташтырылган */ |
#кошуу |
#кошуу |
SFE_HMD_DRV2605L HMD; // Хаптик мотор драйверинин объектисин түзүңүз |
int баскычы = 7; // баскыч үчүн кирүүчү пин 7ди тандаңыз |
int button_val = 0; // пин статусун окуу үчүн өзгөрмө |
voidsetup () |
{ |
/ * Haptic мотор драйверинин объектин баштоо */ |
HMD.begin (); |
Serial.begin (9600); |
HMD. Mode (0); // Ички триггер киргизүү режими - Ойнотууну баштоо үчүн GO () функциясын колдонуу керек. |
HMD. MotorSelect (0x36); // ERM мотору, 4x тормоздук, Орточо укуруктун пайда болушу, 1.365x артка EMF пайдасы |
HMD. Library (2); // ERM моторлору үчүн 1-5 & 7, LRA моторлору үчүн 6 |
} |
voidloop () |
{ |
/ * Вибрация моторун иштетүү */ |
HMD.go (); |
button_val = digitalRead (баскыч); |
эгер (button_val == HIGH) { |
/* Бул баскыч басылганын каттоого алып келет, debugginh үчүн колдонуңуз*/ |
Serial.println ("Баскыч басылды."); |
/ * Толкун формасындагы китепканада 0-122 ар кандай толкундар бар */ |
HMD. Waveform (0, 69);} |
башка { |
/ * Эгерде баскыч басылбаса, анда вибрациялык моторду токтотуңуз */ |
HMD.stop (); |
} |
} |
GitHub тарабынан ❤ уюштурулган rawButton-Vibration-Motor.c көрүү
5-кадам: Vibration Motor Set-Up баскычынын видеосу
6 -кадам: Колкаптын прототиби
Титирөө кыймылдаткычына баскычты колдонуунун бир жолу - жогоруда көрсөтүлгөн кол кап. Биз узартылуучу "манжалардын учтарын" жасоо үчүн шприц сыяктуу арзан жеткиликтүү материалдарды өзгөрттүк. Биз токулган баскычтарды велкро менен модификацияланган шприцтердин аягына бекитип, кол каптын манжаларынын учтарындагы тешиктерди кесип, ар бир шприцти тешиктерге койдук. Түймөлөрдүн 4 пин секирүүчү зымдары шприцтер аркылуу сайылган жана жетишерлик узун болгондуктан, шприцтерди толук узундугуна чейин узарта аласыз. Arduino жана нан тактасы колкаптын башына велкро аркылуу бекитилет, бул баскычтардын зымдарын манжанын учунун кичинекей тешиги аркылуу оңой туташтырууга мүмкүндүк берет. Мотор драйвери вибрация моторун мээлейдин ичине жабыштыруу үчүн мээлейдин асты жагына тешиги менен бекитилет. Кийүүчү колкапты кийип алганда, вибрация мотору колдонуучунун билегинин астына отурат. Кийүүчү бетке тийгенде жана баскычтардын бирин басканда, уникалдуу кайтарым вибрация мотор аркылуу берилет.
Мындай мээлейдин артындагы ой жүгүртүү процесси аны тагынып жүргөн бирөөнүн кадимки манжаларынын учу жетпеген нерселерге "тийүүсүнө" жана бул беттерге тийип жаткандыгы жөнүндө пикирлерди кабыл алуусуна байланыштуу болмокчу. Дирилдөө кайтарымы кайсы манжанын бетине тийгенине жараша өзгөрөт, ошондуктан колдонуучу титирөө моделине таянып кайсы манжанын бетке тийгенин айтып бере алат.
Прототипти алдыга жылдыруунун көптөгөн жолдору бар, мисалы, манжаларды кеңейтүү же тийип жаткан беттин түрүнө жараша пикирлерди өзгөртүү. Идеалында, узартылуучу манжалар телескоптун жакшы варианттары үчүн 3D басып чыгаруу аркылуу түзүлмөк. Кнопкалардын ордуна температура сенсору колдонуучунун тийип жаткан бети канчалык ысык экени жөнүндө пикир билдирүүгө же ушул сыяктуу максаттар үчүн ным сенсорун колдонсо болот. Колдонуучуга тийип жаткан нерсенин канчалык алыс экенин билүүгө мүмкүнчүлүк берүү үчүн "манжанын" канчалык узартылганын сезүүнүн бир жолу. Бул прототипти андан ары алып кетүүнүн бир нече мүмкүн болгон варианттары.
Бул мээлей сезимдериңизди кеңейтүүнүн жана колдонуучу сезе турган жана түшүнө турган пикир жаратуунун оңой жолу катары жалпы материалдар менен жасалышы мүмкүн.
7 -кадам: уникалдуу титирөө менен бир нече баскычтардын коду
mutliple_buttons_to_vibmotor.ino
/ * SparkFunдан ылайыкташтырылган код https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */ |
#кошуу |
#кошуу |
SFE_HMD_DRV2605L HMD; // Хаптик мотор драйверинин объектисин түзүңүз |
int button_middle = 7; |
int button_index = 5; // баскыч үчүн киргизүү пинин тандаңыз |
int button_ring = 9; |
int button_pinky = 3; |
voidsetup () |
{ |
HMD.begin (); |
Serial.begin (9600); |
HMD. Mode (0); // Ички триггер киргизүү режими - Ойнотууну баштоо үчүн GO () функциясын колдонуу керек. |
HMD. MotorSelect (0x36); // ERM мотору, 4x тормоздук, Орточо укуруктун пайда болушу, 1.365x артка EMF пайдасы |
HMD. Library (2); // ERM моторлору үчүн 1-5 & 7, LRA моторлору үчүн 6 |
} |
voidloop () |
{ |
HMD.go (); // вибрация моторун иштетүү |
/ * Кайсы баскыч басылганын текшериңиз жана толкун формасы 0-122 */ |
if (digitalRead (button_middle) == HIGH) { |
Serial.println ("Баскыч басылды."); |
HMD. Waveform (0, 112);} |
elseif (digitalRead (button_index) == HIGH) { |
HMD. Waveform (0, 20); |
} |
elseif (digitalRead (button_ring) == HIGH) { |
HMD. Waveform (0, 80); |
} |
elseif (digitalRead (button_pinky) == HIGH) { |
HMD. Waveform (0, 100); |
} |
/ * Эгерде эч кандай баскыч басылбаса, анда токтоңуз */ |
башка { |
HMD.stop (); |
} |
} |
GitHub тарабынан ❤ уюштурулган rawmutliple_buttons_to_vibmotor.ino көрүү
Сунушталууда:
Arduino негизделген долбоорлор үчүн NRF24L01 Transceiver модулун колдонуу менен зымсыз байланыш: 5 кадам (Сүрөттөр менен)
Arduino негизиндеги долбоорлор үчүн NRF24L01 Transceiver модулун колдонуу менен зымсыз байланыш: Бул роботтор жана микро контроллерлер жөнүндө менин экинчи үйрөткүч окуу куралым. Роботуңуздун тирүү жана күтүлгөндөй иштеп жатканын көрүү чынында эле таң калыштуу, эгерде сиз роботту же башка нерселерди зымсыз тез жана көзөмөлдөп турсаңыз, анда мен үчүн кызыктуу болот деп ишенем
Solderdoodle Plus: Touch Control менен ширетүүчү темир, LED кайтарым байланыш, 3D басылган корпус жана USB кубатталуучу: 5 кадам (сүрөттөр менен)
Solderdoodle Plus: Touch Control менен ширетүүчү темир, LED кайтарым байланыш, 3D басып чыгарылган корпус жана USB кубатталуучу: Solderdoodle Plus үчүн Kickstarter долбоорунун баракчасына баруу үчүн төмөндөгү чыкылдатыңыз, зымсыз USB кайра заряддалуучу ысык көп курал жана өндүрүш моделине алдын ала заказ бериңиз! Https: //www.kickstarter.com/projects/249225636/solderdoodle-plus-cordless-usb-rechargeable-ho
IR негизделген тахометрден кайтарым байланыш системасын колдонуп, кыймылдаткычтын айлануусун автономдуу башкаруу: 5 кадам (сүрөттөр менен)
IR негизделген тахометрден кайтарым байланыш системасын колдонуп, кыймылдаткычтын RPMнин автономдуу башкарылышы: Процессти автоматташтыруу керек, ал жөнөкөй/коркунучтуу болобу. Мен бул долбоорду жасоо идеясын таптым. кичинекей жерибизди сугаруу/сугаруу ыкмалары. Учурдагы камсыздоо линиясынын жоктугу
7 сегменттин маанисин 8051 менен баскычты колдонуу менен көбөйтүү: 4 кадам (сүрөттөр менен)
8051 менен Push Butoon колдонуп 7 сегменттин маанисин көбөйтүү: Бул долбоордо биз 8051 микроконтроллери бар баскычты колдонуу менен жети сегменттин дисплейинин маанисин жогорулатабыз
Аудио жалынга кайтарым байланыш: 7 кадам
Audio Flame Feedback: Бул көрсөтмө сизге жарык башкарылуучу үн генераторун кантип курууну көрсөтөт. Бул жерде мен үн генератору жана шам менен туруксуз кайтарым скульптурасын курдум. Баяндамачы шамды жаркылдатып, шамдын жарыгы сигналды модуляциялайт