Dmitry__ писал(а):Всего одна жизнь, и она заканчивается...
есть такое.
купи на али компас. не, лучше сам сделай, а то подсунут не то направление
--------
..блин, только вчера серию "гинтама(174)" тематическую посмотрел.
Dmitry__ писал(а):Всего одна жизнь, и она заканчивается...
Dmitry__ писал(а): Надо ось "х" не временем делать, а углом одной сервы, а "y" - углом второй сервы. Тогда пойдут закономерности.
Scorpio писал(а):И что нам это дало?
Dmitry__ писал(а):А последнюю картинку (в моем тексте) возможно нарисовать с другими начальными углами? Или первая серва упрется в ограничитель?
///////////// МАНИПУЛЯТОР ДЛЯ ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ скетч с управлением через пульт на потенциометрах //////////////////////////////
#include <Servo.h> // подключение библиотеки Servo
Servo servo1;//указываем сервопривод основного поворота (при увел. угла - поворот рычага ВЛЕВО)
Servo servo2;//указываем сервопривод дополнительного поворота (при увел. угла - поворот рычага ВПРАВО)
Servo servo3;//указываем сервопривод подъёмника (при увел. угла - поворот рычага ВВЕРХ)
byte a=110;//начальный угол
byte b=113;
byte a03=120;
byte A; byte B; //переменные для текущих значений углов поворота сервоприводов
byte a3=a03;
byte n=30;// единица временного интервала
byte K;// флаг для триггерного режима управления подъёмом пера
void setup()
{
pinMode(8,INPUT); //кнопка опуслания пера
//Serial.begin(9600);
servo1.attach(5);// подключаем переменную servo к соответствующему выводу платы Ардуино
servo2.attach(6);
servo3.attach(7);
servo1.write(a);//начальная установка положения
servo2.write(b);
servo3.write(a03);
delay(1000);
}
//////////////////////////////////////////////////////////////////////////////////////////////
void loop()
{
///////////////////////////////////////////////////////////
if (digitalRead (8)==LOW&&K==0)//если кнопка рисования нажата
{pero(1);K=1;}
if (digitalRead (8)==HIGH&&K==1)//если кнопка рисования отпущена
{pero(0);K=0;}
///////////////////////////////////////////////////////////
A=map(analogRead(A0), 461, 713, 40, 115);//пересчёт значений углов поворота валов серв
B=map(analogRead(A1), 43, 306, 83, 160);
///////////////////////////////////////////////////////////
if (A>39&&A<116&&B>82&&B<161)// если полученные значения углов лежат в границах допустимых
{servo1.write(A);servo2.write(B);delay(n);}
///////////////////////////////////////////////////////////
}
//////функция поднимания-опускания фломастера (значения аргумента 0 и 1 соответственно)/////
void pero(byte k)
{
while (a3>85&&k==1)
{servo3.write(a3);a3=a3-1;delay(n/2);}if(k==1){a3=85;}
while (a3<a03&&k==0)
{servo3.write(a3);a3=a3+1;delay(n/2);}if (k==0){a3=a03;}
}
Scorpio писал(а):А выводы где?
Scorpio писал(а):Желательно всеже не повторять, а научиться воспроизводить любую новую картинку, зная зависимости.
Scorpio писал(а):Недопонял, но вот сама рисовалка для желающих.
Scorpio писал(а):Недопонял
Scorpio писал(а):Так что ли:
Вернуться в Arduino и другие Xduino
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1