Нет,пока не заморачивался дополнительными "ходилками", при нажатии нескольких кнопок победит (по скетчу) с большим номером. Так что если прямо+влево то пойдёт влево...Ещё попробовал такой джойстик с G сенсором - даже прикольней получается, хотя вариант "походки под 45 градусов" надо бы придумать и добавить.
Простите за "не по теме"... Сын собрал сам компьютер из следующих комплектующих: материнская плата: gifabyte z170 d3h процессор: i7 6400t (инженерник) озу: kingston hyperx ddr4 2 плашки по 8 гб бп: enermax maxpro 600w Суть проблемы: при включении каждые 10-15 секунд происходит перезагрузка, возможности войти в bios нет, на мониторе - нет сигнала. Что пробовал: отключал\подключал одну плашку оперативы, доставал батарейку из материнки Есть ли варианты решения проблемы? Спасибо за помощь
Если брали всё в одном месте, то просто берите - это всё в кучу и несите в магаз, пусть они там калдуют (или возврат денег). Если всё БУ и куплено с рук, ну что тут можно сказать...путь тернист и длинен (скупой платит дважды), будите менять по 1 комплектующей и проверять в других рабочих компах (работает или нет).
вроде мать с камнем совместимы (что с разными биосами хз). искать проблему можно начать с отключения дискретной видюхи, если есть. туда же всякие винты, сидюки и прочее - оставить только проц и память. при включении 5в и 12в блока питания наверно проверяли же. потом акуратно из корпуса плату достать, проверить не погнута ли сильно плата (неправильно установленный кулер иногда может гнуть плату) и нормально ли кулер защёлкнут. плату на коробку от матери, включить и проверить. сразу память полностью достать или сначала пережим (перекос, деформация,... хз, как правильно назвать) платы кулером проверить и если не поможет, то и память потом достать. проверка прижима (матплаты сильно не любят деформаций) кулером это просто акуратно защёлки отстегнуть или вообще кулер снять. в проце защита стоит, не сгорит. а при сильном нагреве будет вырубаться. не помогает, тогда акуратно (очень акуратно) проц снять и посмотреть, не погнуты (приводить их в чуство тот ещё гиморой и легко угробить разьём одним неловким движением) ли контакты в разьёме. ещё раз - с контактами разьёма очень осторожно. не запачканы ли пины разьёма, допустим термопастой. у проца контакты жирными руками трогать не есть кхарашо, иногда контакт от этого плоховастый. если залапаны пины, акуратно со спиртикои или тёркой (без фанатизма и тёрку мягкую, а не те, у которых резина с чем-то намешана, что как нождачка).
без другой материнки и/или проца, самое последнее, это проверка матери без всего и проца в том числе. не особо помогает, если все деталюшки рабочие, но на плате стабилизатор или ещё что подгоревшее немного и не тянет нагрузку. посткарты на матери нет, у вас хотя бы простенькой скорей всего тоже. так что дальше это всё в сервис или туда, где покупалась (проц наверно в китае брался, как вариант сходить, где материнка покупалась).
ну это часть из того, что легко можно. главное не нервничать, т.е. не спешить, не то даже ещё рабочее можно доушатать. сначала вообще-то на плате можно проверить, не сильно ли греются какие чипы. только толк от этого не всегда есть - перегрев это может быть причина или следствие. да и что есть сильно греется понятие скорей субьективное. ещё слетевший биос может быть, а это уже специфическое для каждой материнки. и т.д. так что если простые варианты не помогают, особенно если нет другого проца или платы, лучше в сервис. только не стоит забывать что пины разьёма проца очень легко ушатать. термопастой не сложно чего запачкать (те, что отдельно покупаются иногда могут быть токопроводящими, по внешнему виду вроде все такие определить можно). ну и если в сервис везти и кулер не снять, акуратней - платы очень не любят деформации.
Слава Богу, всё оказалось не так страшно.., просто, видимо, не до щёлкнул сын (боялся сделать больно видюхе)соединение с материнкой. Пересоединили - запустилось, теперь буду дальше наблюдать чем дело кончится.Спасибо за точную наводку.
Дальше решил побаловаться с простеньким манипулятором-рисовалкой... не могу пока найти как "чёнибудь писать без синусов и косинусов, чтоб совсем понятно было".
///////////// МАНИПУЛЯТОР ДЛЯ ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ скетч с потенциометрами ////////////////////////////// #include <Servo.h> // подключение библиотеки Servo
Servo servo1;//указываем сервопривод основного поворота (при увел. угла - повор. рычага ВЛЕВО) Servo servo2;//указываем сервопривод дополнительного поворота (при увел. угла - повор. рычага ВПРАВО) Servo servo3;//указываем сервопривод подъёмника (при увел. угла - повор. рычага ВВЕРХ) int a01=80;//начальный угол int a02=95; int a03=105; int da1;//переменные хранения добавок к углам поворота int da2; int da3;
void setup() { servo1.attach(5);// подключаем переменную servo к соответствующему выводу платы Ардуино servo2.attach(6); servo3.attach(7); servo1.write(a01);//начальная установка положения servo2.write(a02); servo3.write(a03); delay(2000); } void loop() { da1 = analogRead(A0); // чтение данных потенциометров 1-3 и масштабирование значения к интервалу добавок углов da2 = analogRead(A1); da3 = analogRead(A2);
Да фиг с ней пока, удалось написать скетч для рисования двух цифр по потенциометру в качестве указателя, то есть указываем цифру, пока рисует первую, указываем на вторую...Принцип ясен - вместо цифр можно сварганить буквы, увеличить число символов - этакая рисующая машинка.
///////////// МАНИПУЛЯТОР ДЛЯ ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ скетч №3 две цифры по установке потенциометром ////////////////////////////// #include <Servo.h> // подключение библиотеки Servo
Servo servo1;//указываем сервопривод основного поворота (при увел. угла - поворот рычага ВЛЕВО) Servo servo2;//указываем сервопривод дополнительного поворота (при увел. угла - поворот рычага ВПРАВО) Servo servo3;//указываем сервопривод подъёмника (при увел. угла - поворот рычага ВВЕРХ) int a01=70;//начальный угол int a02=75; int a03=125; int da1=15;int da2=50;//переменные задающие изменение углов int a1;//переменные хранения текущих углов поворота int a2; int a3; int r=1;//счётчик прохода программы в loop() int n=20;// единица временного интервала int j;// переменная для выбранной цифры //int tablA[12]={a01,a02, a01+da2/4,a02+da2/2, a01+da2/2,a02+da2, a01+da2/2-da1,a02+da2, a01+da2/4-da1,a02+da2/2, a01-da1,a02};//данные угловых координат точек сегментов int tablB[70]={1,1,1,1,1,1,0, 0,0,0,1,1,0,0, 1,0,1,1,0,1,1, 0,0,1,1,1,1,1, 0,1,0,1,1,0,1, 0,1,1,0,1,1,1, 1,1,1,0,1,1,1, 0,0,1,1,1,0,0, 1,1,1,1,1,1,1, 0,1,1,1,1,1,1,};//коды цифр от 0 до 9 void setup() { servo1.attach(5);// подключаем переменную servo к соответствующему выводу платы Ардуино servo2.attach(6); servo3.attach(7); servo1.write(a01);//начальная установка положения servo2.write(a02); servo3.write(a03); delay(2000); } void loop() { if (r<3)// условие числа рисуемых цифр {int tablA[12]={a01,a02, a01+da2/4,a02+da2/2, a01+da2/2,a02+da2, a01+da2/2-da1,a02+da2, a01+da2/4-da1,a02+da2/2, a01-da1,a02};//данные угловых координат точек сегментов a3=a03; j=analogRead(A0)/108;// выбор-считывание установленной на потенциометре цифры //////////////////////////////// 1 //////////////////////////////// if (tablB[(7*j)+0]==1){f_(1);} a2=a02;a1=a01;servo2.write(a2);servo1.write(a1); while(a2<tablA[3]) {servo2.write(a2);a2=a2+2;a1=a1+1;servo1.write(a1);delay(n);} a1=tablA[2];a2=tablA[3]; f_(0);delay(50*n); /////////////////////////////// 2 ///////////////////////////////// if (tablB[(7*j)+1]==1){f_(1);} while(a2<tablA[5]) {servo2.write(a2);a2=a2+2;a1=a1+1;servo1.write(a1);delay(n);} a1=tablA[4];a2=tablA[5]; f_(0);delay(50*n); /////////////////////////////// 3 ///////////////////////////////// if (tablB[(7*j)+2]==1){f_(1);} while(a1>tablA[6]) {a1=a1-1;servo1.write(a1);delay(n);} a1=tablA[6]; f_(0);delay(50*n); /////////////////////////////// 4 ///////////////////////////////// if (tablB[(7*j)+3]==1){f_(1);} while(a2>tablA[9]) {servo2.write(a2);a2=a2-2;a1=a1-1;servo1.write(a1);delay(n);} a1=tablA[8];a2=tablA[9]; f_(0);delay(50*n); /////////////////////////////// 5 ///////////////////////////////// if (tablB[(7*j)+4]==1){f_(1);} while(a2>tablA[11]) {servo2.write(a2);a2=a2-2;a1=a1-1;servo1.write(a1);delay(n);} a1=tablA[10];a2=tablA[11]; f_(0);delay(50*n); /////////////////////////////// 6 ///////////////////////////////// if (tablB[(7*j)+5]==1){f_(1);} while(a1<tablA[0]) {a1=a1+1;servo1.write(a1);delay(n);} a1=tablA[0]; f_(0);delay(50*n); /////////////////////////////// 7 ///////////////////////////////// while(a2<tablA[3]) {servo2.write(a2);a2=a2+2;a1=a1+1;servo1.write(a1);delay(n);} a1=tablA[2];a2=tablA[3]; f_(0);delay(50*n); /////////////////////////////// 8 ///////////////////////////////// if (tablB[(7*j)+6]==1){f_(1);} while(a1>tablA[8]) {a1=a1-1;servo1.write(a1);delay(n);} a1=tablA[8]; f_(0);delay(50*n);
r=r+1;a01=a01-da1-5; } } //////функция поднимания-опускания маркера (значения аргумента 0 и 1 соответственно)///// void f_(int k) { while (a3>85&&k==1) {servo3.write(a3);a3=a3-1;delay(n);}if(k==1){a3=85;} while (a3<125&&k==0) {servo3.write(a3);a3=a3+1;delay(n);}if (k==0){a3=125;} }
Добавлено спустя 3 минуты 59 секунд: Правда сетка координатная коническая получается, но зато математика углов понятная.
Так рисует пока. Если переделать на вывод 4 цифр можно сделать рисующие часы - только на наш колорит: по нажатию на кнопку (под заказ со своей бумагой ) выписывает справку о текущем значении времени.