roboforum.ru

Технический форум по робототехнике.

Вопросы новичка.

Re: Вопросы новичка.

dimamichev » 18 июл 2020, 17:40

Нет, надо куб отрывать от конструкции :)

Re: Вопросы новичка.

dimamichev » 19 июл 2020, 21:32

Синхрон сделал.Теперь приложение только с подключённым кубом работает (у меня СОМ4), обойти изящно кнопкой это не получается :(

Re: Вопросы новичка.

Scorpio » 20 июл 2020, 01:08

Крутяк! С отключением-подключением куба разберешься думаю.

Re: Вопросы новичка.

dimamichev » 21 июл 2020, 09:22

Разобрался с портом, две кнопки сделал, чтоб отключение куба не приводило к остановке приложения, добавил название эффекта к исполнению. Надо останавливаться, а то совсем запутаюсь в коде.
Вложения
kadr_2.png

Re: Вопросы новичка.

dimamichev » 21 июл 2020, 20:26

Сделал ритм под музыку.

Re: Вопросы новичка.

Scorpio » 21 июл 2020, 23:48

Можешь, когда захочешь!

Re: Вопросы новичка.

dimamichev » 04 авг 2020, 17:20

Код: Выделить всёРазвернуть
//функция построения примитива призмы-цилиндра
void setup() {
size(900, 650, P3D);
}
void draw() {
  background(0);
  lights();
translate(width/8, (height/3));

noStroke();
fill(0,255,127);

  translate(0,100,50);
  rotateX(-PI/6);
  prizma_(200,75,70);//цилиндр уже
  translate(160,0,0);
  prizma_(200,75,12);//призмы
  translate(150,0,0);
  prizma_(200,75,6);
  translate(150,0,0);
  prizma_(200,75,4);
  translate(130,0,0);
  prizma_(200,75,3);
}
//////////////////////////////////////////////////////////
void prizma_(int h,int r,int N)//аргументы - высота, радиус, число граней призмы-цилиндра
{
for(int i=0;i<N;i++)
{
  translate(2*PI*r/N,0,0);
  rotateY(2*PI/N);
  rect(0,0,2*PI*r/N,h);
  rotateX(PI/2);triangle(0,0,2*PI*r/N,0,2*PI*r/(2*N),-r);rotateX(-PI/2);
  translate(0,h,0);rotateX(PI/2);triangle(0,0,2*PI*r/N,0,2*PI*r/(2*N),-r);rotateX(-PI/2);translate(0,-h,0);
  }

}
//////////////////////////////////////////////////////////

Не нашёл в процессенге библиотек про 3Д примитивы. Решил попробовать сам нарисовать. Сделать как в опенскад одной фигурой цилиндр-призма-конус-пирамида-усечённая пирамида жабры коротки :(
Вложения
призма-цилиндр.jpg

Re: Вопросы новичка.

dimamichev » 05 авг 2020, 16:55

Код: Выделить всёРазвернуть
//функция построения примитива светодиода и пример применения
///////////////////
float rotX = 0.0, rotY = 0.0;
int lastX, lastY;
float distX = 0.0, distY = 0.0;
float X,Y;
///////////////////
int R=50;
void setup() {
size(900, 650, P3D);
}
void draw() {
  background(0);
  lights();
translate(width/2, (height/3));
////////////////////
if (mousePressed ){X=rotX + distY; Y=rotY + distX;}
rotateX(X); rotateY(Y);
///////////////////
noStroke();
fill(0,255,170);

svetodiod_(R); fill(0,255,170);
translate(4*R,0,0);svetodiod_(R); fill(0,255,170);
translate(-8*R,0,0);svetodiod_(R); fill(0,255,170);
translate(12*R,0,0);svetodiod_(R); fill(0,255,170);
translate(-16*R,0,0);svetodiod_(R); fill(0,255,170);
}
//////////////////////////////////////////////////////////
void svetodiod_(float d)
{

prizma_(3*d/2,d,70);
translate(0,-80*d/100,0);sphere(d);translate(0,80*d/100,0);
translate(0,3*d/4,0);prizma_(3*d/8,5*d/4,70);translate(0,-3*d/4,0);
fill(255);
translate(0,4*d,-d/2);box(d/6,7*d,d/6);translate(0,-4*d,d/2);
translate(0,4*d,d/2);box(d/6,7*d,d/6);translate(0,-4*d,-d/2);


}
void prizma_(float h,float r,int N)//аргументы - высота, радиус, число граней призмы-цилиндра
{
translate(-r*sin(PI/N),-h/2,r*cos(PI/N));
for(int i=0;i<N;i++)
{
  translate(2*r*sin(PI/N),0,0);
  rotateY(2*PI/N);
  rect(0,0,2*r*sin(PI/N),h);
  rotateX(PI/2);triangle(0,0,2*r*sin(PI/N),0,r*sin(PI/N),-r*cos(PI/N));rotateX(-PI/2);
  translate(0,h,0);rotateX(PI/2);triangle(0,0,2*r*sin(PI/N),0,r*sin(PI/N),-r*cos(PI/N));rotateX(-PI/2);translate(0,-h,0);
  }
translate(r*sin(PI/N),h/2,-r*cos(PI/N));
}
//////////////////////////////////////////////////////////
/////////////////// функции положения курсора и вращения колеса ////////////////////////////////////////////
void mousePressed() { lastX = mouseX; lastY = mouseY; }//когда нажата
void mouseDragged() {  distX = radians(mouseX - lastX); distY = radians(lastY - mouseY); }//когда движется
void mouseReleased() {  rotX += distY; rotY += distX;distX = distY = 0.0; }//когда отпущена
void mouseWheel(MouseEvent event){R=R+5*event.getCount();}//приближение-удаление куба с помощью колеса мыши

Вот полезная штука из цилиндра.
Сделал для тренировки ещё пирамиду-конус. Дальше ясно всё-берём треугольники и делаем любую поверхность - замкнутую или не очень, вот и всё 3D моделирование примитивов... Эх надо было учить лучше математику.
Вложения
светодиоды.jpg

Re: Вопросы новичка.

Scorpio » 06 авг 2020, 00:30

:Bravo:

Добавлено спустя 2 часа 1 минуту 44 секунды:
Тебе новое задание. Кстати, на процессинге вроде можно для смартфонов писать проги.

Re: Вопросы новичка.

Myp » 06 авг 2020, 01:18

капец, он уже собрал 7 тыщ баксов
при этом он даёт демо версию программы которая работает 10 часов
к картонному роботу 10 часовую прогу....

Re: Вопросы новичка.

Scorpio » 06 авг 2020, 02:03

dimamichev сделает без ограничений )))

Re: Вопросы новичка.

dimamichev » 06 авг 2020, 09:42

Scorpio писал(а):
Кстати, на процессинге вроде можно для смартфонов писать проги.

Да, есть библиотека. Пишут, что процессинг часто используют для создания особенных интерфейсов, было бы полезно в приложение смартфона вставить
3Д регуляторов - крутилок. Вот нарисовал для пробы пока на пк.
Вложения
башня.jpg

Re: Вопросы новичка.

dimamichev » 26 сен 2020, 12:21

Как учитель технологии ездил в соседний обл.центр в кванториум на курсы для "Точек роста" (новое многолетнее увлечение нашего министерства). За несколько часов учили программировать микроконтроллеры, печатать на 3 Д принтере, управлять роботами. Чистым откровением стала лаба где светодиоды включали к пинам без резисторов, питали от пк плату. 15 плат по 3-4 светодиода на каждой, извращались час - ни один не сгорел. Спросил у преподавателя как так?, - "это нормально, Ардуино выдерживает"- был ответ, потом правда всем добавил, что можно питать и от 3,3 В. Но включать низким уровнем. Решил под впечатлением собрать заброшенные деталюшки в шасси.
Вложения
вид — копия.jpg

Re: Вопросы новичка.

Scorpio » 26 сен 2020, 18:24

Светодиод - светодиоду рознь. Бывают уже со встроенным ограничителем по току, для питания от 5, или даже от 12В напрямую.

Re: Вопросы новичка.

dimamichev » 26 сен 2020, 19:49

Лучше бы со встроенным стабилизатором тока, с рабочим напряжением 3-12 Вольт )
Проверять на домашней ардуинке не хочется, а в кванториуме ради смеха подключал параллельно синий и красный - синий тогда не мигал.


Rambler\'s Top100 Mail.ru counter