roboforum.ruТехнический форум по робототехнике. |
|
|
|
Реклама | ||||
|
|
|||
dimamichev писал(а):Нет ли простых приложений чтоб комплектацию деталек (stl расширение) для конструкций визуализировать в одной картинке?
Реклама | ||||
|
|
|||
dimamichev писал(а):..пока посылка с саморезами идёт
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Arduino UNO
//
////////////////////////
//ПАУК 3 СЕРВОПРИВОДА ТЕСТ
//
#include <Servo.h>
byte dd=10;//амплитуда ходьбы
byte n=5;// постоянная временного интервала
byte i=0;//счётчик
byte j=0;//счётчик
byte a=90;//угол "серединный"
byte b=90;//угол "серединный"
byte c=95;//угол "серединный"
////////////////////////////
Servo servo_a;
Servo servo_b;
Servo servo_c;
void setup()
{
servo_a.attach(5);//вывод управления сервоприводом ПРАВАЯ ПАРА
servo_a.write(a+dd);// установка начального значения
servo_b.attach(6);//вывод управления сервоприводом ЛЕВАЯ ПАРА
servo_b.write(b+dd);// установка начального значения
servo_c.attach(7);//вывод управления сервоприводом ЦЕНТРАЛЬНАЯ ПАРА
servo_c.write(c-dd);// установка начального значения
}
/////////////////////////////////////////////////////////////////////////////////////////
void loop()
{
for(j=0;j<12;j++)//шаги вперёд
{
vpered();
}
delay(1000);//пауза
//////////////////
for(j=0;j<12;j++)//шаги назад
{
nazad();
}
delay(1000);//пауза
//////////////////
for(j=0;j<7;j++)//шаги-разворот влево
{
levo();
}
delay(1000);//пауза
for(j=0;j<7;j++)//шаги-разворот вправо
{
pravo();
}
delay(1000);//пауза
///////////////////
for(j=0;j<20;j++)//виляние тушкой на месте
{
vilanie();
}
delay(1000);//пауза
///////////////////
for(j=0;j<15;j++)//шаги-топтание на месте
{
na_meste();
}
delay(1000);//пауза
}
/////////////////////////////////////////////////////////////////////////////////////////
void vpered(){
///////////// ВПЕРЁД /////////////
servo_c.write(c-dd);// установка начального значения
servo_a.write(a+dd);// установка начального значения
servo_b.write(b+dd);// установка начального значения
/////////// такт 1 ///////////
for(i=0;i<2*dd;i++)
{
servo_a.write(servo_a.read()-1);
servo_b.write(servo_b.read()-1);
delay(n);
}
/////////// такт 2 ///////////
for(i=0;i<2*dd;i++)
{
servo_c.write(servo_c.read()+1);
delay(n);
}
/////////// такт 3 ///////////
for(i=0;i<2*dd;i++)
{
servo_a.write(servo_a.read()+1);
servo_b.write(servo_b.read()+1);
delay(n);
}
/////////// такт 4 ///////////
for(i=0;i<2*dd;i++)
{
servo_c.write(servo_c.read()-1);
delay(n);
}
}
///////////////////////////////////////////////////////////////////////////////////////
void nazad(){
///////////// НАЗАД /////////////
servo_c.write(c+dd);// установка начального значения
servo_a.write(a+dd);// установка начального значения
servo_b.write(b+dd);// установка начального значения
/////////// такт 1 ///////////
for(i=0;i<2*dd;i++)
{
servo_a.write(servo_a.read()-1);
servo_b.write(servo_b.read()-1);
delay(n);
}
/////////// такт 2 ///////////
for(i=0;i<2*dd;i++)
{
servo_c.write(servo_c.read()-1);
delay(n);
}
/////////// такт 3 ///////////
for(i=0;i<2*dd;i++)
{
servo_a.write(servo_a.read()+1);
servo_b.write(servo_b.read()+1);
delay(n);
}
/////////// такт 4 ///////////
for(i=0;i<2*dd;i++)
{
servo_c.write(servo_c.read()+1);
delay(n);
}
}
/////////////////////////////////////////////////////////////////////////////////////////
void levo(){
///////////// ВЛЕВО /////////////
servo_c.write(c-dd);// установка начального значения
servo_a.write(a+dd);// установка начального значения
servo_b.write(b-dd);// установка начального значения
/////////// такт 1 ///////////
for(i=0;i<2*dd;i++)
{
servo_a.write(servo_a.read()-1);
servo_b.write(servo_b.read()+1);
delay(n);
}
/////////// такт 2 ///////////
for(i=0;i<2*dd;i++)
{
servo_c.write(servo_c.read()+1);
delay(n);
}
/////////// такт 3 ///////////
for(i=0;i<2*dd;i++)
{
servo_a.write(servo_a.read()+1);
servo_b.write(servo_b.read()-1);
delay(n);
}
/////////// такт 4 ///////////
for(i=0;i<2*dd;i++)
{
servo_c.write(servo_c.read()-1);
delay(n);
}
}
///////////////////////////////////////////////////////////////////////////////////////////
void pravo(){
///////////// ВПРАВО /////////////
servo_c.write(c-dd);// установка начального значения
servo_a.write(a-dd);// установка начального значения
servo_b.write(b+dd);// установка начального значения
/////////// такт 1 ///////////
for(i=0;i<2*dd;i++)
{
servo_a.write(servo_a.read()+1);
servo_b.write(servo_b.read()-1);
delay(n);
}
/////////// такт 2 ///////////
for(i=0;i<2*dd;i++)
{
servo_c.write(servo_c.read()+1);
delay(n);
}
/////////// такт 3 ///////////
for(i=0;i<2*dd;i++)
{
servo_a.write(servo_a.read()-1);
servo_b.write(servo_b.read()+1);
delay(n);
}
/////////// такт 4 ///////////
for(i=0;i<2*dd;i++)
{
servo_c.write(servo_c.read()-1);
delay(n);
}
}
///////////////////////////////////////////////////////////////////////////////////////////
void na_meste(){
///////////// ТОПТАНИЕ НА МЕСТЕ /////////////
servo_c.write(c-dd);// установка начального значения
/////////// такт 1 ///////////
for(i=0;i<2*dd;i++)
{
servo_c.write(servo_c.read()+1);
delay(2*n);
}
/////////// такт 2 ///////////
for(i=0;i<2*dd;i++)
{
servo_c.write(servo_c.read()-1);
delay(2*n);
}
}
///////////////////////////////////////////////////////////////////////////////////////////
void vilanie(){
///////////// ВИЛЯНИЕ ТУШКОЙ /////////////
servo_c.write(c-dd);// установка начального значения
servo_a.write(a+dd);// установка начального значения
/////////// такт 1 ///////////
for(i=0;i<2*dd;i++)
{
servo_a.write(servo_a.read()-1);
delay(n);
}
/////////// такт 2 ///////////
for(i=0;i<2*dd;i++)
{
servo_a.write(servo_a.read()+1);
delay(n);
}
}
///////////////////////////////////////////////////////////////////////////////////////
Вернуться в Arduino и другие Xduino
Сейчас этот форум просматривают: Yandex [Bot] и гости: 0