![Cyborg Computer Mouse: 4 кадам (Сүрөттөр менен) Cyborg Computer Mouse: 4 кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/images/010/image-29708-j.webp)
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51
![Cyborg Computer Mouse Cyborg Computer Mouse](https://i.howwhatproduce.com/images/010/image-29708-1-j.webp)
Көптөгөн изилдөөлөр кадимки компьютердик чычканды колдонуу позасы коркунучтуу болушу мүмкүн деп божомолдойт. Компьютер колдонуучулары чычканды клавиатурадан дээрлик үч эсе көп колдонушат. Экспозиция ылдамдыгы жогору болгондуктан, компьютердик чычканды колдонууда жогорку учуңуздун абалын жакшыртуу абдан маанилүү.
Бул абстракттуу долбоор үчүн биз адамдарга сырткы технологиянын кереги жок компьютердин экраны аркылуу өтүүгө мүмкүндүк берген тагынуучу жабдык жасайбыз. Ошентип, биз горизонталдык бетиндеги түзмөктү чыкылдатуунун ордуна табигый кыймылдарды колдоно алабыз. Бул ошондой эле оозеки презентацияларды жагымдуу кылып, экрандарды туруп туруп колдонууга мүмкүнчүлүк берет.
Ал эми прототип индексти джойстик катары колдонот, ортоңку манжаны сол басуу үчүн, оң басуу үчүн шакек манжасы жана аппаратты күйгүзүү жана өчүрүү үчүн pinky. Бармак баскычтар басылган бет катары кызмат кылат. Мунун баары мээлейге кошулат.
Жабдуулар
- (x1) Ардуино Леонардо
- (x1) Protoboard
- (x1) Джойстик модулу
- (x3) баскыч
- (x20 ±) Зымдан секиргичтер
- (x3) 1KΩ резисторлору
- (x1) Мээлей тигүүчү комплект
- Velcro Hot силикон
- Wire Soldering комплект
- 3D басылган бөлүгү
1 -кадам: Аппаратты орнотуу
![Аппаратты орнотуу Аппаратты орнотуу](https://i.howwhatproduce.com/images/010/image-29708-2-j.webp)
Дизайнды жакшыраак түшүнүү үчүн Fritzing эскизин киргиздик. Адегенде компоненттерди протоборго орнотууну сунуштайбыз. Мына ушундай жол менен сиз баары ширетүүдөн мурун иштеп жатканын текшере аласыз.
2 -кадам: Кодду жана тестти жүктөө
Байланыштар түзүлгөндөн кийин USB A (M) ды микро USB B (M) га компьютерден Arduino Leonardo га туташтырып, эскизин жүктөңүз. Эскизде көчүрүү, өзгөртүү жана өркүндөтүү үчүн тартынбаңыз.
ЭСКЕРТҮҮ: Mouse.move () буйругун колдонгондо, Arduino чычканыңызды ээлеп алат! Буйрукту колдонуудан мурун сизде көзөмөл бар экенин текшериңиз. Бул Arduino Leonardo, Micro же Due үчүн гана иштейт
Мына бул долбоордун коду:
// Пиндерди аныктоо#кирет; const int mouseMiddleButton = 2; // чычкан үчүн киргизүү пин Орто баскычы const int startEmulation = 3; // чычкан эмуляциясын күйгүзүү жана өчүрүү үчүн которуу const int mouseLeftButton = 4; // чычкан үчүн кирүүчү пин сол баскычы const int mouseRightButton = 5; // чычкан үчүн киргизүүчү пин оң баскычы const int joystickX = A1; // джойстик X огу const int joystickY = A0; // джойстик Y огу
// джойстикти окуу үчүн параметрлер:
int cursorSpeed = 10; // X же Y кыймылынын чыгуу ылдамдыгы int responseDelay = 5; // чычкандын жооп кечигүүсү, мс int threshold = cursorSpeed / 4; // эс алуу босогосу int center = cursorSpeed / 2; // эс алуу абалынын мааниси int mouseMiddleState = 0;
логикалык mouseIsActive = false; // чычканды башкаруу керекпи же жокпу
int lastSwitchState = LOW; // мурунку которуу абалы
жараксыз орнотуу () {
pinMode (startEmulation, INPUT); // которгуч пин pinMode (mouseMiddleButton, INPUT); // орто чычкан баскычы pinMode (mouseLeftButton, INPUT); // чычкандын сол баскычы pinMode (mouseRightButton, INPUT); // чычкандын оң баскычы
Mouse.begin (); // чычканды көзөмөлгө алуу
}
void loop () {
// которууну окуу: int switchState = digitalRead (startEmulation);
// эгерде ал өзгөрүп, бийик болсо, чычкан абалын которуңуз:
if (switchState! = lastSwitchState) {if (switchState == LOW) {mouseIsActive =! mouseIsActive; }}
// кийинки цикл үчүн которуу абалын сактаңыз:
lastSwitchState = switchState;
// окуу жана эки окту масштабдоо:
int xReading = readAxis (A1); int yReading = readAxis (A0);
// эгер чычканды башкаруу абалы активдүү болсо, чычканды жылдырыңыз:
if (mouseIsActive) {Mouse.move (xReading, yReading, 0); // (x, y, чычкан дөңгөлөгүн жылдыруу)}
// СОЛГО
// чычкан баскычын окуп, чыкылдатыңыз же чыкылдатыңыз: // эгер чычкан баскычы басылса: if (digitalRead (mouseLeftButton) == HIGH) {// чычкан басылбаса, аны басыңыз: if (! Mouse.isPressed (MOUSE_LEFT)) {Mouse.press (MOUSE_LEFT); кечиктирүү (100); // бир жана эки жолу чыкылдатуу Mouse.release (MOUSE_LEFT) иштетүү үчүн кечигүү; }}
// болбосо чычкан баскычы басылбайт:
else {// эгер чычкан басылса, аны кое бериңиз: if (Mouse.isPressed (MOUSE_LEFT)) {Mouse.release (MOUSE_LEFT); }}
// ТУУРА
// чычкан баскычын окуп, чыкылдатыңыз же чыкылдатыңыз: // эгер чычкан баскычы басылса: if (digitalRead (mouseRightButton) == HIGH) {// чычкан басылбаса, аны басыңыз: if (! Mouse.isPressed (MOUSE_RIGHT)) {Mouse.press (MOUSE_RIGHT); кечиктирүү (100); // бир жана эки жолу чыкылдатууну иштетүү үчүн кечиктирүү Mouse.release (MOUSE_RIGHT); }}
// болбосо чычкан баскычы басылбайт:
else {// эгер чычкан басылса, аны кое бериңиз: if (Mouse.isPressed (MOUSE_RIGHT)) {Mouse.release (MOUSE_RIGHT); }}
// MIDDLE
// чычкан баскычын окуп, чыкылдатыңыз же чыкылдатыңыз: // эгер чычкан баскычы басылса: if (digitalRead (mouseMiddleButton) == HIGH) {// чычкан басылбаса, аны басыңыз: if (! Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 0) {Mouse.press (MOUSE_MIDDLE); mouseMiddleState = 1; // актуалдуу болуп саналат}}
// болбосо чычкан баскычы басылбайт:
else {// эгер чычкан басылса, аны кое бериңиз: if (Mouse.isPressed (MOUSE_MIDDLE) && mouseMiddleState == 1) {Mouse.release (MOUSE_MIDDLE); mouseMiddleState = 0; }}
кечигүү (answerDelay);
}
/*
огун окуйт (x же y үчүн 0 же 1) жана аналогдук киргизүү диапазонун 0дөн */ га чейинки диапазонго чейин таразалайт
int readAxis (int thisAxis) {
// аналогдук кирүүнү окуу: int read = analogRead (thisAxis);
// окууну аналогдук киргизүү диапазонунан чыгаруу диапазонуна картага түшүрүү:
окуу = карта (окуу, 0, 1023, 0, cursorSpeed);
// эгерде чыгуу көрсөткүчү сыртта болсо
// эс алуу абалынын босогосу, аны колдонуңуз: int расстояние = окуу - борбор;
if (abs (расстояние) <босого) {расстояние = 0; }
// бул ог үчүн аралыкты кайтарыңыз:
кайтуу аралыгы; }
3 -кадам: Прототипти орнотуу
![Прототипти орнотуу Прототипти орнотуу](https://i.howwhatproduce.com/images/010/image-29708-3-j.webp)
![Прототипти орнотуу Прототипти орнотуу](https://i.howwhatproduce.com/images/010/image-29708-4-j.webp)
![Прототипти орнотуу Прототипти орнотуу](https://i.howwhatproduce.com/images/010/image-29708-5-j.webp)
Биринчи кадам - кол капка велкро тигүү, ар бир манжаңызга бирден велкронун төрт тилкесин тигиш керек. Велкронун жумшак бөлүгүн тигип бердик.
Ар бир баскычтын эки зымы бар, бири тийиштүү казыктардан башталып, баскычтын оң бутуна, экинчиси терс бутка туташат. Терс зымдын экинчи учунда биз ар бир баскычтын каршылыгын плюс джойстиктин терс зымын Arduino тактасынын GND менен туташкан акыркы зымга кошобуз. Ошол эле параллелдүү байланыш оң жагы үчүн иштейт. (3 баскыч жана джойстиктин оң буту)
Секиргичтерди кошкондон кийин, биз зымдардын ортосуна тыгылып калышы үчүн, катуу велкро-тилкелерди кийебиз. Акырында биз джойстик модулун термо клей менен 3D басып чыгардык. Төмөндө. STL файлын таба аласыз.
4 -кадам: Чычкан катары колуңузду колдоно баштаңыз
![Image Image](https://i.howwhatproduce.com/images/010/image-29708-7-j.webp)
![](https://i.ytimg.com/vi/XljOQMzc5RE/hqdefault.jpg)
![Колуңузду чычкан катары колдонууну баштаңыз! Колуңузду чычкан катары колдонууну баштаңыз!](https://i.howwhatproduce.com/images/010/image-29708-8-j.webp)
![Колуңузду чычкан катары колдонууну баштаңыз! Колуңузду чычкан катары колдонууну баштаңыз!](https://i.howwhatproduce.com/images/010/image-29708-9-j.webp)
Проект сизге жакса, Assistive Tech конкурсунда бизге добуш бериңиз.
Сунушталууда:
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)
![Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен) Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/images/001/image-1574-23-j.webp)
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: Мен бул блогумда кызыктуу долбоорлордун топтомунда бул Rapsberry PI колдонууну пландап жатам. Аны текшерүүдөн тартынбаңыз. Мен Raspberry PIди колдонууну каалагам, бирок жаңы жерде клавиатура же чычкан жок болчу. Мен Raspberry орнотконума бир топ убакыт болду
Samytronix Pi: DIY Raspberry Pi Desktop Computer (Жеткиликтүү GPIO менен): 13 кадам (Сүрөттөр менен)
![Samytronix Pi: DIY Raspberry Pi Desktop Computer (Жеткиликтүү GPIO менен): 13 кадам (Сүрөттөр менен) Samytronix Pi: DIY Raspberry Pi Desktop Computer (Жеткиликтүү GPIO менен): 13 кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/images/009/image-24501-j.webp)
Samytronix Pi: DIY Raspberry Pi Desktop Computer (Жеткиликтүү GPIO менен): Бул долбоордо биз Samytronix Pi деп атаган Raspberry Pi Desktop компьютерин жасайбыз. Бул рабочий компьютердин түзүлүшү негизинен 3мм лазердик акрил барактан жасалган. Samytronix Pi HD монитор, динамиктер жана эң негизгиси кирүү менен жабдылган
IoT Mouse-Friendly Live Trap: 6 кадам (Сүрөттөр менен)
![IoT Mouse-Friendly Live Trap: 6 кадам (Сүрөттөр менен) IoT Mouse-Friendly Live Trap: 6 кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/images/003/image-8937-4-j.webp)
IoT Mouse-Friendly Live Trap: Бул чычкандарды зыян келтирбестен кармоо үчүн тузак, андыктан аларды сыртка коё аласыз. Эгерде жакындык сенсору чычканды аныктаса, Servo мотору эшикти жабат. Сиз капкагын билдирүү үчүн сизге тез кабар жана/же электрондук почта келет
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)
![Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен) Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/006/image-15346-7-j.webp)
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: Бул компьютерди кантип ажыратуу керектиги жөнүндө көрсөтмө. Негизги компоненттердин көбү модулдук жана оңой эле алынып салынат. Ошентсе да, бул боюнча уюштуруу маанилүү. Бул сизди бөлүктөрдү жоготпоого, ошондой эле кайра чогултууга жардам берет
Cyborg Zombie Evolution: 9 Кадам (Сүрөттөр менен)
![Cyborg Zombie Evolution: 9 Кадам (Сүрөттөр менен) Cyborg Zombie Evolution: 9 Кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10959022-cyborg-zombie-evolution-9-steps-with-pictures-j.webp)
Cyborg Zombie Evolution: Бул буу доорунан steampunk жашына чейин жакшы белгилүү … ал салкынбы, сойлоп кетеби, сүйкүмдүүбү же үчөөбү, бир убакта жандыкты тирилтип, электр энергиясын алат. Бул киборг зомбисинде a & q деп аталган жалгыз гальваникалык клетка болгон учурда