Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Чт июл 09, 2020 00:50:16
Собираю одну вещь, мне нужно чтобы от обычного джойстика (джойстик здесь в прямом смысле, а не в в смысле игровых контроллеров) можно было двигать сервоприводы. ( Обычные сервы от rc- моделек)
Есть много готовых проектов на Ардуино, но там джойстик на основе потенциометров. А те джойстики которые есть в подходящем мне форм-факторе почти все на основе датчика холла. Конечно можно найти у другого производителя потенциометровый джойстик, но датчик холла лучше, т.к. надёжнее и долговечнее, а это для меня главный приоритет.
Так вот, есть ли готовые проекты по подключению таких джойстиков к известным и доступным МК?
Чт июл 09, 2020 09:42:29
Готовых нет, но промышленные варианты попадались.
Основа - аналоговый датчик (возможно AH3503)...
Плюс кинематика.
Чт июл 09, 2020 11:21:00
Заказал вот такой джойстик. Теперь идет он ко мне.
https://www.ebay.com/itm/New-CH-Product ... 2749.l2649 Мой план таков - выход джойстика это 0-5в по каждой оси. Я буду считывать напряжение через ардуину (она вроде неплохо справляется с 0-5в) и через нее же управлять сервоприводами. Вот примерно такой скетч будет
- Код:
/*
Controlling a servo position using a potentiometer (variable resistor)
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
modified on 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Knob
*/
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int voltpin = 0; // analog pin for voltage
int sensorValue = analogRead(A0);
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
val = analogRead(voltpin); // reads the value of the voltage (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}