Мазмуну:

$ 3 Макей Макейге альтернатива: 4 кадам (Сүрөттөр менен)
$ 3 Макей Макейге альтернатива: 4 кадам (Сүрөттөр менен)

Video: $ 3 Макей Макейге альтернатива: 4 кадам (Сүрөттөр менен)

Video: $ 3 Макей Макейге альтернатива: 4 кадам (Сүрөттөр менен)
Video: Бмв или мерседес 2024, Ноябрь
Anonim
$ 3 Макей Макейге альтернатива
$ 3 Макей Макейге альтернатива
$ 3 Макей Макейге альтернатива
$ 3 Макей Макейге альтернатива

Makey Makey - бул USB клавиатурасын эмуляциялаган жана кандайдыр бир өткөргүч нерседен (алюминий фольга, банан, камыр ж.. Макей Макейдин эки терс жактары бар: (1) наркы жана (2) жерге туташуу зарылдыгы.

Бул долбоор $ 2 STM32F1 тактасын жана сыйымдуу сезүүнү колдонуп арзан альтернатива болуп саналат. Бул Makey Makey 12ден айырмаланып 10 гана киргизүүгө ээ, бирок анын артыкчылыгы бар, клавиатураны эмуляциялоодон тышкары, USB геймпад контролерун (санариптик джойстик) туурай алат.

Бөлүктөр:

  • "кара таблетка" STM32F103c8 тактасы (Aliexpressте 1.90 доллар; бул жерде көбүрөөк маалымат)
  • нан (Aliexpress'те 1 доллардан аз) жана секирүүчү зымдар; же жөн эле бир тутам аял-эркек дюпондук туташтыргычтар (40 пакет үчүн Aliexpressте 0,70 доллар)
  • кашаалар, аллигатор клиптери ж.

Куралдар:

  • компьютер
  • Баштапкы такта программалоо үчүн UART-USB адаптери (бир Arduino Uno же Mega арзан CH340 бирдигин аткарат)
  • баштыктарды ширетүү үчүн ширетүүчү темир (сиз ошондой эле тестирлөө клиптерин колдоно аласыз, бирок алар кээде түшүп кетет)

Программалык камсыздоо менин ADCTouchSensor китепканамда камтылган мисал эскиз болуп саналат, ал сенсорго STM32F1 тактасында бир пин менен сыйымдуулугун сезүүгө мүмкүндүк берет (ал AVR үчүн martin2250 китепканасына негизделген).

Эскертүү: Кургак аба ырайында же статикалык маселе болгон жерде (мисалы, килемде), ачык металл коннекторлоруна тийбеңиз, эгерде сиз STM32F1 тактасына электростатикалык зыян келтиресиз. Мен картошка, банан, камыр ж. Башка жагынан алганда, такта болгону $ 1.90.

Билим берүү ишмердүүлүгүнүн идеялары:

  • Кандай нерселер өткөргүч экенин жана аларды башкаруу беттери катары колдонууга болорун билүү үчүн эксперимент жүргүзүңүз. (Мисалы, карандаш коргошун карандаш менен; камырга каршы шамга каршы ойноо.)
  • Үйдө жасалган контроллерди колдонгон Scratch оюндарын жазыңыз.
  • Чычканды басууга/кыймылга, башка баскычтарга, төрттөн ашык джойстиктин багыттарына ж.

1 -кадам: Bootloaderди өнүктүрүү тактасына орнотуңуз

Bootloaderди өнүктүрүү тактасына орнотуңуз
Bootloaderди өнүктүрүү тактасына орнотуңуз
Bootloaderди өнүктүрүү тактасына орнотуңуз
Bootloaderди өнүктүрүү тактасына орнотуңуз
Bootloaderди өнүктүрүү тактасына орнотуңуз
Bootloaderди өнүктүрүү тактасына орнотуңуз

Black Pill иштеп чыгуу системасынын ортосуна эки учтуу төөнөгүчтөрдү (B0-/борбору/B0+; B1-/борбору/B1+) жана четтерин бойлой узун баштарды (эгер шашып жатсаңыз же кааласаңыз) балдарды чаташтыра турган керексиз казыктарды болтурбоо үчүн, сизге A0-A10 жана G үчүн төөнөгүчтөр керек).

Сиз 3.3v түзмөктөргө шайкеш келген UARTдан USB көпүрөсүнө муктажсыз. Сиз ch340ти Aliexpressтен 0,66 долларга заказ кылсаңыз болот, бирок мен Arduino Mega нокаутун тегеректеп отуруп калдым, мен интернеттен тапкан сонун трюк бар эле. Эгерде Arduinoдо сиз баштапкы абалга келтирүүчү түйүндү кыска зым менен жерге кыска кылсаңыз, анда ал UARTдан USB көпүрөсүнө айланат-эч кандай эскиздин кереги жок. Жалгыз амал - бул RX жана TX энбелгиси тескери болуп калат: Arduino "RX" төөнөгүчүн өткөрүп берет жана анын "TX" пини алат. Arduino 5v жана Black Pill 3.3v менен иштейт, бирок stm32f103 боюнча PA9 жана PA10 төөнөгүчтөрү 5Вга чыдамдуу, ошондуктан көйгөй болбошу керек.

Сиз кошкон баштыктарга B0+ ден борборго жана B1ден борборго секиргич коюңуз.

Төмөндөгү байланыштарды жасаңыз:

  • PA9 UART көпүрөсүнө RX (эгер сиз Arduino трюкун колдонуп жатсаңыз "TX")
  • PA10 UART көпүрөсүнө TX (эгер сиз Arduino трюкун колдонуп жатсаңыз "RX")
  • G UART көпүрөсүнүн жерине

Сиз нанды же эркек-ургаачы секиргичтерди колдонсоңуз болот, же эгер сиз баштыктарды ширетүүдөн мурун кылгыңыз келсе, тесттик клиптерди колдоно аласыз (сүрөттөгүдөй).

Жүктөгүч экиликти жүктөп алыңыз. Сиз generic_boot20_pb12.bin каалайсыз.

Windowsто STнин Flash Loader Demonstrator программасын орнотуңуз. Linux'та (жана, балким, OS X, ал тургай Windows, эгер сиз командалык сап куралдарын кааласаңыз), анын ордуна бул питон скриптин колдонуңуз, бирок менин көрсөтмөлөрүм Windows үчүн болот. UART көпүрөсүн компьютериңизге туташтырыңыз.

Кара таблетканы анын USB порту аркылуу күйгүзүңүз (эгер сиз компьютерди колдонсоңуз, ал таанылбаган USB түзмөгүнө нааразы болот; буга көңүл бурбаңыз). Flash Loader Демонстраторун баштаңыз. UART көпүрөсү үчүн COM портун тандаңыз. Эгер бар болсо, "Коргоону алып салууну" тандаңыз. 128кб флеш версиясын эмес, 64кб тандаңыз. Жана жүктөгүч бинарды жүктөңүз.

Баарын өчүрүп, андан кийин секиргичти B0+/борборунан B0-/борборуна жылдырыңыз. Эми сизде Arduino IDE менен колдоно турган жүктөгүч бар.

2 -кадам: Arduino IDE орнотуу

Arduino IDE орнотуу
Arduino IDE орнотуу

Сизде акыркы Arduino IDE орнотулган деп ойлойм.

Куралдар | Тактайлар | Такта менеджери, Arduino Zero колдоосун орнотуңуз (жөн эле Zero издеп, табылган жазууну чыкылдатып, анан орнотуңуз). Ооба, сиз нөл менен иштебейсиз, бирок бул туура gcc компиляторун орнотот.

Андан кийин, stm32duino өзөгүн жүктөп алыңыз. Windowsто мен zip файлын жүктөөнү сунуштайм, анткени мен файлдарды текшергенде (svn менен), мен оңдоону талап кылган Windows инструменттеринин каталогундагы файлдар менен кээ бир көйгөйлөргө туш болдум. Бутакты Arduino/Hardware/Arduino_STM32ге коюңуз (демек сизде Arduino/Hardware/Arduino_STM32/STM32F1 ж.б. сыяктуу папкалар болот) Windowsто драйверлерди / win / install_drivers.bat иштетип орнотуңуз.

3 -кадам: CapacitiveController эскизин орнотуңуз

CapacitiveController эскизин орнотуңуз
CapacitiveController эскизин орнотуңуз
CapacitiveController эскизин орнотуңуз
CapacitiveController эскизин орнотуңуз
CapacitiveController эскизин орнотуңуз
CapacitiveController эскизин орнотуңуз

Arduino IDEде Sketch | тандаңыз Китепкана кошуу | Китепканаларды башкаруу. "ADCTouchSensor" издеп, 0.0.6 же андан жаңысын орнотуңуз. Кайталап, "USBHID" издеп, менин USBHID_stm32f1 китепканамды орнотуңуз.

Файлды тандоо | Мисал | ADCTouchSensor | CapacitiveController.

Куралдар астындагы төмөнкү жөндөөлөрүңүз бар экенин текшериңиз:

  • Такта: Жалпы STM32F103C8
  • Жүктөө ыкмасы: STM32duino жүктөгүч

Тактайды компьютерге сайып, оң жебенин "жүктөө" баскычын чыкылдатыңыз. Жүктөө билдирүүсү консолдо пайда болгондон кийин, тактаны баштапкы абалга келтирүүңүз керек (андагы баштапкы абалга келтирүү баскычын басыңыз).

4 -кадам: Байланыштар жана баскычтар

Байланыштар жана баскычтар
Байланыштар жана баскычтар
Байланыштар жана баскычтар
Байланыштар жана баскычтар
Байланыштар жана баскычтар
Байланыштар жана баскычтар

Түзмөк ажыратылганда, зымдарды STM32F1 төөнөгүчтөрүнөн башкаруу беттериңизге өткөрүңүз. Аллигатор клиптери, кыстырма же жөн эле секиргичтерди объекттерге жабыштыруу менен туташыңыз. Сиз нанды же аялдан эркекке секиргичтерди колдонсоңуз болот. Компьютердеги Tetris үчүн биз клавиатура режимин жана жебе баскычтарын колдондук; планшеттеги Pac Man үчүн биз USB OTG кабелин жана джойстик режимин колдондук.

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

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

Кээ бир жакшы башкаруу беттери:

  • жемиштер жана жашылчалар
  • камыр ойноо
  • алюминий фольга (жогорку статикалык шарттарды кошпогондо)
  • карандаш менен басылган кагаздар
  • дагы көптөгөн нерселер менен эксперимент кыл! (ошондой эле кээ бир беттер үчүн баштапкы коддо if (сенсорлор -> окуу ()> 25) 25ти өзгөртүүгө аракет кылсаңыз болот)

Баскычтоп режиминин туташуулары:

  • A10 ажыратылган бойдон калтырыңыз
  • A0: боштук
  • A1: өйдө
  • А2: солго
  • A3: төмөн
  • A4: туура
  • A5: w
  • A6: a
  • A7: s
  • B0: d
  • B1: f

Gamepad/Joystick режиминин туташуулары:

  • Джойстик режимин коюу үчүн A10'ду жерге (G) туташтырыңыз
  • A0: 1 баскычы
  • A1: өйдө
  • А2: солго
  • A3: төмөн
  • A4: туура
  • A5-A7, B0, B1: 2-6 баскычтары

Кеңеш:

Эгерде сиз эркектен ургаачыга секиргичтерди колдонуп жатсаңыз, анда эки секириктин эркек учтарын бири-бирине тыгып, джойстик режимин A10-жерге туташтырсаңыз болот, ошону менен аялдан-аялга секиргич пайда болот.

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