Мазмуну:

Вибрациялык кайтарым байланыш менен кеңейтилүүчү баскычты колдонуу: 7 кадам (сүрөттөр менен)
Вибрациялык кайтарым байланыш менен кеңейтилүүчү баскычты колдонуу: 7 кадам (сүрөттөр менен)

Video: Вибрациялык кайтарым байланыш менен кеңейтилүүчү баскычты колдонуу: 7 кадам (сүрөттөр менен)

Video: Вибрациялык кайтарым байланыш менен кеңейтилүүчү баскычты колдонуу: 7 кадам (сүрөттөр менен)
Video: Triventy com сайтында окуучулар менен кайтарым байланыш түзүү 2024, Июль
Anonim
Вибрациялык кайтарым байланыш менен кеңейтилүүчү баскычтын колдонмосу
Вибрациялык кайтарым байланыш менен кеңейтилүүчү баскычтын колдонмосу
Вибрациялык кайтарым байланыш менен кеңейтилүүчү баскычтын колдонмосу
Вибрациялык кайтарым байланыш менен кеңейтилүүчү баскычтын колдонмосу

Бул үйрөткүчтө, биз биринчи кезекте, 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 тартып ылайыкташтырылган */
#кошуу// SparkFun Haptic Motor Driver Library
#кошуу// I2C китепканасы
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 баскычынын видеосу

Image
Image

6 -кадам: Колкаптын прототиби

Мээлейлердин прототиби
Мээлейлердин прототиби
Мээлейлердин прототиби
Мээлейлердин прототиби

Титирөө кыймылдаткычына баскычты колдонуунун бир жолу - жогоруда көрсөтүлгөн кол кап. Биз узартылуучу "манжалардын учтарын" жасоо үчүн шприц сыяктуу арзан жеткиликтүү материалдарды өзгөрттүк. Биз токулган баскычтарды велкро менен модификацияланган шприцтердин аягына бекитип, кол каптын манжаларынын учтарындагы тешиктерди кесип, ар бир шприцти тешиктерге койдук. Түймөлөрдүн 4 пин секирүүчү зымдары шприцтер аркылуу сайылган жана жетишерлик узун болгондуктан, шприцтерди толук узундугуна чейин узарта аласыз. Arduino жана нан тактасы колкаптын башына велкро аркылуу бекитилет, бул баскычтардын зымдарын манжанын учунун кичинекей тешиги аркылуу оңой туташтырууга мүмкүндүк берет. Мотор драйвери вибрация моторун мээлейдин ичине жабыштыруу үчүн мээлейдин асты жагына тешиги менен бекитилет. Кийүүчү колкапты кийип алганда, вибрация мотору колдонуучунун билегинин астына отурат. Кийүүчү бетке тийгенде жана баскычтардын бирин басканда, уникалдуу кайтарым вибрация мотор аркылуу берилет.

Мындай мээлейдин артындагы ой жүгүртүү процесси аны тагынып жүргөн бирөөнүн кадимки манжаларынын учу жетпеген нерселерге "тийүүсүнө" жана бул беттерге тийип жаткандыгы жөнүндө пикирлерди кабыл алуусуна байланыштуу болмокчу. Дирилдөө кайтарымы кайсы манжанын бетине тийгенине жараша өзгөрөт, ошондуктан колдонуучу титирөө моделине таянып кайсы манжанын бетке тийгенин айтып бере алат.

Прототипти алдыга жылдыруунун көптөгөн жолдору бар, мисалы, манжаларды кеңейтүү же тийип жаткан беттин түрүнө жараша пикирлерди өзгөртүү. Идеалында, узартылуучу манжалар телескоптун жакшы варианттары үчүн 3D басып чыгаруу аркылуу түзүлмөк. Кнопкалардын ордуна температура сенсору колдонуучунун тийип жаткан бети канчалык ысык экени жөнүндө пикир билдирүүгө же ушул сыяктуу максаттар үчүн ным сенсорун колдонсо болот. Колдонуучуга тийип жаткан нерсенин канчалык алыс экенин билүүгө мүмкүнчүлүк берүү үчүн "манжанын" канчалык узартылганын сезүүнүн бир жолу. Бул прототипти андан ары алып кетүүнүн бир нече мүмкүн болгон варианттары.

Бул мээлей сезимдериңизди кеңейтүүнүн жана колдонуучу сезе турган жана түшүнө турган пикир жаратуунун оңой жолу катары жалпы материалдар менен жасалышы мүмкүн.

7 -кадам: уникалдуу титирөө менен бир нече баскычтардын коду

mutliple_buttons_to_vibmotor.ino

/ * SparkFunдан ылайыкташтырылган код https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */
#кошуу// SparkFun Haptic Motor Driver Library
#кошуу// I2C китепканасы
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 көрүү

Сунушталууда: