Мазмуну:
- 1 -кадам: талаптар
- 2 -кадам: ЖАБДУУ
- 3 -кадам: ПРОГРАММА
- 4 -кадам: НЕГИЗГИ КОД
- 5 -кадам: ТЕСТТИН КОДУ
- 6 -кадам: ОЮНДУ КОНТРОЛДОО
- 7 -кадам: ЖӨНДӨӨ
Video: Virtual Reality Suit Arduino колдонуу: 7 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Мен бул проектти кадимки компьютер оюндарын толук VR режиминде ойнотуу үчүн түздүм. Бул долбоор клавиатураңыздын баскычтарын басып же кармап туруу үчүн сиздин кыймылыңызды туурайт
Мисал- алдыга жылганда 'w' баскычын басуу аракети эмуляцияланат.
Мен Call of Duty 4: Modern Warfare оюнуна окшоштурдум, бирок атуу учурунда артка чегинген оюндарды тандабаңыз, анткени ал чычкандын демейки абалын өзгөртөт
1 -кадам: талаптар
Талаптар-
Бул костюмду жасоо үчүн керектүү нерселердин тизмеси бар
Сенсорлор-5
Күч сенсор-1
GPU 6050 - 4
(же)
GPU 6050 - 2 жана акселерометр - 2
Vr көз айнек
Vr иштетилген телефон
PC
WiFi түйүнү
Оюнчук мылтык
Компьютер оюну (Call of Duty- Modern Warfare 1 колдонгом)
Нан тактасынын зымдары (Эркек-Аял)
ARDUINO LEONARDO-2
Автотранспорт - 2
Кубат булагы (lipo)
Радуга зымдары
2 -кадам: ЖАБДУУ
*reload_pin, shoot_pin, night vision_pin, granata_pin, курал өзгөртүү_пинси сенсордук сенсорлор. aim_pin - бул күч сенсору жана чычкан MPU6050 тарабынан эмуляцияланган, башка сенсорлор акселерометр (поза, кыймыл1 & 2)
1.1) СОТТОО
SOLDER MPU 6050, акселерометр, сенсор жана зымдары бар күч сенсору
1.2) СИМ
MPU 6050 үчүн
Pin 2- SDA
Pin 3- SCL
GND - GND
5v - PWR/VCC
Move_pin1- үчүн
Pin A1- x огу
GND-GND
5v - PWR/VCC
Move_pin2- үчүн
Pin A2- x огу
GND-GND
5v - PWR/VCC
Пост_пин үчүн-
Pin A0- x огу
GND-GND
5v - PWR/VCC
qurol_пин үчүн -
сиг-5v
GND-GND
5v - PWR/VCC
Reload_pin үчүн -
pin12 - 5v
GND-GND
5v - PWR/VCC
Nightvision_pin үчүн -
пин 10 - 5в
GND-GND
5v - PWR/VCC
Shoot_pin үчүн -
Pin7 - 5v
GND-GND
5v - PWR/VCC
Aim_pin үчүн -
Pin 8 - 5v
5v - PWR/VCC
1.3) ЛАЙКТООЧУ Сымдар
Нан тактасынын зымдарын көк желе зымдары менен ээрчиңиз
1.4) изоляция
Кыска туташууларды болтурбоо үчүн зымдарды изоляциялаган жерге скотч менен чаптаңыз
3 -кадам: ПРОГРАММА
Видеону ноутбуктан телефонго чыгаруу үчүн Play дүкөнүнөн 'Remotr' аттуу колдонмону колдондум
2.1) REMOTR-
Компьютериңизге REMOTR тиркемесин орнотуңуз жана каттоо эсебин түзүңүз
Мына шилтеме-
remotrapp.com/#download
Смартфонуңузга REMOTR колдонмосун орнотуңуз
2.2) ВИДЕО СТРИМИНГ
Адегенде компьютерди да, ошол эле WiFi тармагын да туташтырып, эки түзмөктө тең REMOTR эсебиңизди киргизиңиз
азыр программалык камсыздоону каалаган оюнду кол менен кошуңуз
Эми колдонмо компьютерди администратор катары көрсөтөт, ал агымды баштоо үчүн аны басыңыз
VR режиминде агылтуу үчүн смартфонуңуздагы vr режимин иштетиңиз
Эгерде сиз түшүнбөй жатсаңыз, толук маалымат алуу үчүн бул шилтемени караңыз
remotrapp.com/en/howto
4 -кадам: НЕГИЗГИ КОД
Бул долбоордун коду катаал же татаал эмес, бирок узун
Бул жерде кодду көчүрүп, arduino файлыңызга чаптаңыз
ARDUINO
LEONARDO чычкан-
Мен Gabry295ти кайталап койдум. Бул чычкан коду анын башына негизделген Mouse көрсөтмө
#кошуу
#кошуу
#кошуу
#кошуу
int aim_pin;
int shoot_pin;
MPU6050 мпу;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
жараксыз орнотуу () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
while (1);
}
pinMode (7, INPUT);
pinMode (8, INPUT);
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300)/200; // Мен чекти жылдырбаганда менин mpu6050 бул баалуулуктарды көрсөткөндүктөн -300 жана +490 койдум
vy = -(gz+490)/200; // бул баалуулуктар жөнүндө көбүрөөк маалымат алуу үчүн Gabry295 тарабынан баш чычкандын кодун текшериңиз
Mouse.move (vx, vy);
кечигүү (20);
while (shoot_pin == HIGH);
{
Mouse.click ();
}
while (aim_pin == HIGH);
{
Mouse.click ();
}
}
Леонардо клавиатурасы
#кошуу
int Граната;
int gun_pin;
int reload_pin;
int motion1_pin;
int motion2_pin;
int posture_pin;
char nightvision_pin;
жараксыз орнотуу ()
{
pinMode (7, INPUT);
pinMode (8, INPUT);
pinMode (9, INPUT);
pinMode (10, INPUT);
pinMode (11, INPUT);
pinMode (12, INPUT);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Keyboard.begin ();
}
боштук цикл ()
{
Grenade_pin = digitalRead (8);
weapon_pin = digitalRead (9);
motion1_pin = analogRead (A1);
motion2_pin = analogRead (A2);
posture_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
эгер (граната == БИЙИК)
{
Keyboard.press ('g');
}
жатканда (qurol_пин == БИЙИК)
{
Keyboard.press ('q');
}
while (reload_pin == HIGH)
{
Keyboard.press ('r');
}
while (motion1_pin> 340 && motion1_pin <420)
{
Keyboard.press ('w');
}
жатканда (motion1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
while (motion2_pin> 340 && motion2_pin <420)
{
Keyboard.press ('w');
}
жатканда (motion2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
while (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
жатканда (posture_pin> 420)
{
Keyboard.press ('l');
}
жатканда (posture_pin <340)
{
Keyboard.press ('z');
}
while (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
5 -кадам: ТЕСТТИН КОДУ
Бул жерде функцияга жараша негизги коддон бөлүнгөн бир нече коддор
АТУУ-
#кошуу
int x;
жараксыз орнотуу () {
pinMode (8, INPUT);
Mouse.begin ();
}
void loop () {
x = digitalRead (8);
эгер (x == HIGH)
{
Mouse.click ('g');
}
}
Максат-
#кошуу
#кошуу
#кошуу
#кошуу
MPU6050 мпу;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
жараксыз орнотуу () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
while (1);
}
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300", анткени гироскоптун х огу кыймылдабай жатканда -350гө жакын маанилерди берет. Сыноо кодун колдонуп, нөлдөн алыс маанилер бар болсо чактап, башка нерсени алсаңыз, бул маанини өзгөртүңүз.
vy = -(gz_ -100)/200; // ушул жерде "-100" жөнүндө
ЖҮКТӨӨ-
#кошуу
int x;
жараксыз орнотуу () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
эгер (x == HIGH)
{
Keyboard.press ('r');
}
башка
{
Keyboard.release ('r');
}
}
NIGHT VISIO #include
int x;
жараксыз орнотуу () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
эгер (x == HIGH)
{
Keyboard.press ('g');
}
башка
{
Keyboard.release ('g');
}
}
КАРАЧА ЖАНА БАЛА-
#кошуу
int y;
жараксыз орнотуу () {
pinMode (A0, INPUT);
Serial.begin (9600);
}
void loop () {
y = analogRead (A0);
эгер (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
башка болсо (y> 260 && y <310)
{
Keyboard.press ('c');
}
башка болсо (y> 310)
{
Keyboard.press ('p');
}
}
6 -кадам: ОЮНДУ КОНТРОЛДОО
төмөнкүдөй оюн көзөмөлдөө өзгөртүү
ийилген - x
жакын - л
курал алмаштыруу - q
спринт - б
туруу/секирүү - z
түнкү көрүнүш - Н.
алдыга жылуу - w
граната - г
7 -кадам: ЖӨНДӨӨ
Акыры биз акыркы кадамга келдик, азыр arduino коюңуз
тактайларды кутуга салып, баштыкка салыңыз
Эми arduino микро USB'син ноутбуктун USB портуна туташтырыңыз, сенсорлорду жогоруда көрсөтүлгөндөй туташтырыңыз
*Жогорудагы сүрөттөрдөгү жебе белгилери сенсор туш болушу керек болгон багытты билдирет
Эгерде сизде кандайдыр бир шек болсо, комментарий калтыруудан тартынбаңыз жана тажрыйбаңыз менен бөлүшүүнү унутпаңыз
Ушуну менен рахмат жана
КОШ БОЛУҢУЗ.
Сунушталууда:
Arduino UNO менен дронду кантип жасоо керек - Микроконтроллерди колдонуу менен квадрокоптер жасаңыз: 8 кадам (сүрөттөр менен)
Arduino UNO менен дронду кантип жасоо керек | Микроконтроллерди колдонуу менен квадрокоптер жасаңыз: КиришүүМенин Youtube каналыма баш багыңыз Drone - бул абдан кымбат гаджет (продукт) сатып алуу. Бул постто мен аны кантип арзан баада жасоону талкуулайм. Анан кантип ушундай арзан баада өзүңүздүн колуңуз менен жасай аласыз … Индияда бардык материалдар (моторлор, ЭСК
Артка секирүү! Virtual Reality Game Arduino & Acclerometer колдонуу: 9 кадам
Артка секирүү! Virtual Reality Game Arduino & Acclerometer аркылуу: Бул үйрөткүчтө биз Arduino жана Acclerometer аркылуу Virtual Reality оюнун түзөбүз
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу - Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу - Rc Helicopter - Rc учагы Arduino колдонуу: 5 кадам (сүрөттөр менен)
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу | Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу | Rc Helicopter | Arduino менен Rc учагы: Rc машинасын иштетүү | Quadcopter | Дрон | RC учагы | RC кайыгы, бизге дайыма рецептор жана өткөргүч керек, RC QUADCOPTER үчүн бизге 6 каналдуу өткөргүч жана кабыл алгыч керек деп ойлойбуз жана TX менен RXтин бул түрү өтө кымбат, ошондуктан биз аны өзүбүздө жасайбыз
Blynk тиркемеси менен USB аркылуу смартфонду колдонуу менен Arduino башкаруу: 7 кадам (сүрөттөр менен)
Blynk тиркемеси менен USB аркылуу смартфонду колдонуу аркылуу Arduino башкаруу жөнөкөй чечим алыстан башкаруучу сиздин Arduino же c
7 сегменттин маанисин 8051 менен баскычты колдонуу менен көбөйтүү: 4 кадам (сүрөттөр менен)
8051 менен Push Butoon колдонуп 7 сегменттин маанисин көбөйтүү: Бул долбоордо биз 8051 микроконтроллери бар баскычты колдонуу менен жети сегменттин дисплейинин маанисин жогорулатабыз