Перейти к содержимому

kharlashkin

Дата регистрации: 13 ноя 2013
Вне сайта Был на сайте Сегодня, 12:30

Сообщения пользователя

В теме:Arduino и аналоги

04 Февраль 2017 - 21:17

Добавил в сообщение о модернизации серв фото процесса, прошу камнями сильно не кидать - снимал на телефон.


В теме:Arduino и аналоги

03 Февраль 2017 - 23:27



:no1:

Класс!

Спасибо, Pavel3333! Хотел отметить, что обычным паяльником я бы туда не подлез никак, так что для мелких деталюшек китайская usb-поделка самое оно. Осталось самое интересное теперь - довести до ума платформу, т.е. модернизировать сервы для отдачи значений в Blender, закрепить датчики на основе и платформе. Оформить инструкцию и визуализацию.

Вчера просидел весь вечер с магнитометром, думаю нужно калибровать его ручками и немного изменять математику Arduino скетча. Кстати хорошая ссылка на инструкцию по калибровке. Если все получиться с датчиками, подумываю следующим этапом зачудить отслеживание движений человека ;)


В теме:Arduino и аналоги

03 Февраль 2017 - 23:12

Сегодня получил обратную связь от сервопривода. Фотографии не стал пока делать - буду перепаивать остальные сделаю обязательно.

Подопытный с коробком спичек для оценки размера

Вскрыл крышку сервы на 4-х длинных саморезах.

Запустил тестовый скетч "Sweep" из примеров и мультиметром поискал контакт с плавающим значением. Повезло и попал с первого раза :)

Место припайки
С припаянным проводком

Припаял проводок на платку, вывел наружу вместе с остальными 3-мя, опять проверил мультиметром - все работает, показывало плавающие значения по памяти вроде от 0,7 до 2,1 В.

Собственно проверочный код:

#include <Servo.h>

Servo myservo; 

int pos = 0;    
int analogPin = 3;     
int val = 0; 

void setup() {
  myservo.attach(9);  
  Serial.begin(9600);
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { 
    myservo.write(pos);             
    val = analogRead(analogPin);    
    Serial.println(val);
    delay(50);                       
  }
  for (pos = 180; pos >= 0; pos -= 1) { 
    myservo.write(pos);              
    val = analogRead(analogPin);   
    Serial.println(val);
    delay(50);                       
  }
}

И вывод в порт:

Учитывая, что аналоговый вход в ардуинке понимает 0 В как 0, а 5 вольт как 1023, то можно рассчитать, что забираются с сервы значения от 0,53 до 2,2 вольт или получается точность 0,53 градуса. Видно из лога, что есть неточности - но учитывая стоимость серв лучшего и ждать нельзя было ;)


В теме:Arduino и аналоги

02 Февраль 2017 - 11:37

В последний раз я успешно работал с UART на AVR два или три года назад. С того момента нет ни времени, ни особого желания. Код на ассемблере и C для работы с UART как-то не работал, а поиск причины занял бы очень много времени. И что самое обидное, причиной стала бы какая-нибудь мелочь, которую я пропустил в даташите.

Так успешно или не успешно ;)


В теме:Arduino и аналоги

01 Февраль 2017 - 14:53

Нашел похожий проект платформы в blender на просторах - буду изучать.

Azbuka, Как-то давно не появлялся... Так уверенно писал о вводе/выводе в/из arduino, хотел спросить о примере реализации.


© Mr 13