Показать сообщение отдельно
Старый 07.09.2015, 11:12   #31
lenivets
Пользователь
 
Регистрация: 06.07.2014
Возраст: 33
Регион: Украина
Машина: Passat b6
Сообщений: 41
lenivets is on a distinguished road
По умолчанию

Все выходные просидел с паяльником...
Решил не заморачиватся и переплатить все же за реле для Arduino.
  • 1х 12в реле без опто развязки.
  • 1х 2х5в реле с опто развязкой.
  • 1х БП 5в <2А

Намучился с проводами.. пересобрал несколько раз..
В итоге весь вечер ломал голову почему реле не могло подключить Хаб - оказалось *прекрасный* DC/DC бай Китай таун не выдавал никаких 3А и он просто падал при щелчке реле + запитке Хаба.
Пришлось повесить Конденсатор после этого БП на 4700.
Выпаял диод с отдельного (АСС) БП чтоб не светил постоянно..надеюсь потребление меньше будет ))


Надеюсь кто-то сможет разобраться в куче проводки или дать советы - как эти макароны сделать надежней.. вроде ронял нечего не отвалилось
Но, все же хочется собрать надежно и красиво.

Самое печальное -
Нечерта не изменилось..
Планшет или не определяет Хаб. Пытался включать и Хаб первый -> Планш и наоборот.
USB OTG - 4 и 5 пин через 128Ом резистор в MicroUSB.
Я бы сказал стало даже хуже.. чем было при старой схеме.
Теперь задумываюсь о том чтоб реле на запитку планшета поменять на соединение ID и Grnd пина.. что скажите ?


Скетч: (убрал кусок под кнопки..)
Код:
int ACC = 5;
int Hub = 14;
int Nex = 16;
int flagACC = 0;

int analogPin=A0;
int data;
unsigned long flag = 0;
unsigned long eventTime = 0;
unsigned long pauseMillis = 0;

void setup()
{
  pinMode(ACC,INPUT);
  pinMode(A3,OUTPUT);
  
  Keyboard.begin();
  pinMode(A0,INPUT);
  digitalWrite(A0,HIGH);
  digitalWrite(A3,HIGH);
}
void loop()
{
     if (digitalRead(ACC)== HIGH && flagACC == 0)
   {
     pinMode(Hub,OUTPUT);
     pauseMillis = millis();
     flagACC = 1;
   }
  if (millis()-pauseMillis>=5000 && flagACC == 1) // пауза 2 секунды
   {
   pinMode(Nex,OUTPUT);
   pauseMillis = 0;
   }
   
  if (digitalRead(ACC)== LOW && flagACC == 1)
   {
   digitalWrite(Hub, HIGH);
   pauseMillis = millis();
   flagACC = 0;
   }
  if (millis()-pauseMillis>=10000 && flagACC == 0) // пауза 10 минут
   {
   digitalWrite(Nex, HIGH);
   pauseMillis = 0;
    digitalWrite(A3,LOW);
   } 
...
}

По фото:
АСС - Красный.
+ - желтый
- - черный.

(первое реле запитывается от +12в (само в себя).
от верхнего БП + идет на Arduino и на IN первого реле (12в).
Все минуса которые можно было развел на Хабе. (хороший блин получился..)


Ах да.. еще спалил паяльник..купил новый.. а это барахло проработало 3часа..потом просто становилось черным...
ПС.
Как выбрать паяльник ?)))
Миниатюры
Нажмите на изображение для увеличения
Название: IMG_2054.jpg
Просмотров: 729
Размер:	122.0 Кб
ID:	40974   Нажмите на изображение для увеличения
Название: IMG_2053.jpg
Просмотров: 730
Размер:	103.1 Кб
ID:	40975   Нажмите на изображение для увеличения
Название: IMG_2051.jpg
Просмотров: 707
Размер:	128.0 Кб
ID:	40976  
lenivets вне форума   Ответить с цитированием