Ардуино как заменитель пульта

zlou_tapok
Offline
Зарегистрирован: 17.10.2019

Помоги кто нибудь. Ардуино присобачил к аудиоресиверу, и накинул на ик приеимник, скетчем напилил команду что бы при приеме кода выключения на пин выводил минус на 0.2 секунды, минус запилил на выключатель ресивера. все работает но плата (где кнопки управления рессивером) отказываются работать, при отключении с минусовым пином все работает

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Оч. хорошо. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Имеется 

1. ХЗ какое устройство
2. к нему ХЗ для чего, по ХЗ какой схеме подключена ардуина
3. в ардуину "запилен" ХЗ какой скетч.
4. ХЗ какая плата по ХЗ какой причине при этом отказывается работать.
5. отказ этот проявляется в ХЗ чём

Можно уточнить, она отказывается принципиально или беспринципно? В смысле, написала письменный отказ или просто втихаря саботирует? От этого зависит, что дальше делать.

zlou_tapok
Offline
Зарегистрирован: 17.10.2019
 
Это аудио ресивер. К нему подключено ардуино 
 
точнее подключено к ик приемнику аудио ресивера. (sig на пин2, 5v к 5v, земля к земле) 
питание ардуино осуществляется с постоянного 5 v аудиоресивера.
Пин 13 подключен на ВЫКЛЮЧАТЕЛЬ аудиоресивера. ( при подачи земли аудиоресивер выключается или включается)
 
При приеме определенного кода с неоригинального пульта аудиоресивер через ардуино выключается и включается,
 
ВОПРОС!!!! Плата с остальными кнопками управление (где подключен пин 13 (минус с ардуино по команде)), отказываются работать, при разрыве цепи прдуино и кнопки выключения, кнопки работают.
#include "IRremote.h"
#include <Servo.h>. 

IRrecv irrecv(2); // указываем вывод, к которому подключен приемник
decode_results results;

Servo myServo;

int ledPin = 13;         // the PWM pin the LED is attached to
int brightness = 0;    // how bright the LED is
int pic = false;
int ServoStep = 90;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // запускаем прием
  pinMode(ledPin, OUTPUT);
  myServo.attach(5);
  myServo.write(ServoStep);
  
}

void loop() {
  if ( irrecv.decode( &results )) { // если данные пришли
    switch ( results.value ) {
    case 4294967295:
         digitalWrite(ledPin, HIGH);   // включает светодиод
  delay(1000);                  // ждет секунду
  digitalWrite(ledPin, LOW);    // выключает светодиод
  delay(1000);
         break;     
    }
    Serial.println( results.value); // печатаем данные   
    irrecv.resume(); // принимаем следующую команду
  }
}

 

 
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Понятно. Удачи.

Пионер
Offline
Зарегистрирован: 04.02.2019

А серва что делает? На кнопки нажимает?

zlou_tapok пишет:

скетчем напилил команду что бы при приеме кода выключения на пин выводил минус на 0.2 секунды

В этом скетче или другом?

На фотке видно , что у вас ардуино. Но что и куда подсоединили - не видать. И как вы получаете "минус"?Может логический ноль ?

 

zlou_tapok
Offline
Зарегистрирован: 17.10.2019

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

zlou_tapok
Offline
Зарегистрирован: 17.10.2019
Вот схема соединения
 
 
 
Вот схема на ик приемнике 
 
 
 
И схема на кнопку выключения аудиоресивера
 
 

 

Пионер
Offline
Зарегистрирован: 04.02.2019

Пионер пишет:

 И как вы получаете "минус"?Может логический ноль ?

Вопрос остается открытым - логический ноль или минусовое напряжение?

И попробуйте без ардуино включить ресивер кнопкой, и ,держа ее нажатой , попробуйте реакцию других кнопок ресивера на нажатие.

zlou_tapok
Offline
Зарегистрирован: 17.10.2019

нужен минус, но получился ноль. реакция кнопок на нажатой такая же. он не работают. получается нужен скейч правильный? можете помочь получить минус по команде? ну или хотябы направьте на путь

gfx125
Offline
Зарегистрирован: 27.05.2017

zlou_tapok пишет:
нужен минус, но получился ноль.

для начала возьми тестер и замерь что на кнопке выключения ресивера относительно общего провода (GND)?