треск в arduino

Viktor_lomako
Offline
Зарегистрирован: 30.04.2022

здраствуйте я делаю свой проект и я хочу поменять звук включение но у меня не издаёт звук только издаёт треск трррррррррррр типо такого иза чего такая проблема делал на tinkercad

вот моя схема: https://fastpic.org/fullview/117/2022/0430/f25712e8ef4a903adfb384724efb33f3.png.html

 

 

вот мой код:
 

#include<IRremote.h>
int resiv = 11;
int buzzer = 12;
long prestroMillis = 0;
IRrecv irrecv(resiv);
decode_results results;

void setup()
{
	irrecv.enableIRIn();
  	for(int a = 0; a < 7; a++)
    {
    	pinMode(a, OUTPUT);
    }
  	pinMode(buzzer, OUTPUT);
}

void pinOn(int pin)
{
	digitalWrite(pin, HIGH);
  	delay(700);
  	digitalWrite(pin, LOW);
}


void decodingIR()
{
	switch(results.value)
    {
    	case 0xFD30CF:
      		pinOn(0);
      		break;
      	case 0xFD08F7:
      		pinOn(1);
      		break;
      	case 0xFD8877:
      		pinOn(2);
      		break;
      	case 0xFD48B7:
      		pinOn(3);
      		break;
      	case 0xFD28D7:
      		pinOn(4);
      		break;
      	case 0xFDA857:
      		pinOn(5);
      		break;
      	case 0xFD6897:
      		pinOn(6);
      		break;
      	case 0xFD00FF:
      		pinOn(10);
      		digitalWrite(buzzer, HIGH);
  			tone(buzzer, 2000, 800);
      		break;
    }
}

void loop()
{
  	if(irrecv.decode(&results))
    {
      	decodingIR();
      	for(int b = 0; b < 2; b++)
        {
          	irrecv.resume();
        }
    }
}
/*
0 - FD30CF 
1 - FD08F7 
2 - FD8877 
3 - FD48B7 
4 - FD28D7 
5 - FDA857 
6 - FD6897 
7 - FD18E7 
8 - FD9867 
9 - FD58A7 
Power - FD00FF 
Mute/EQ - FDB04F 
vUp - FD807F 
vDown - FD906F 
cUp - FD50AF 
cDown - FD10EF
*/













 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

видимо используется один и тот же таймер, а если так попробовать:
 

int resiv = 5;

 

Viktor_lomako
Offline
Зарегистрирован: 30.04.2022

ua6em пишет:

видимо используется один и тот же таймер, а если так попробовать:
 

int resiv = 5;

 

не работает я могу дать ссылку

https://www.tinkercad.com/things/51V9r0ez4Vl?sharecode=4CMeek_uGXhrTUUMF...

kalapanga
Offline
Зарегистрирован: 23.10.2016

Надо ещё библиотеке сказать, что другой таймер использовать. В документации всё есть:

https://github.com/Arduino-IRremote/Arduino-IRremote#incompatibilities-t...

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018
А простой код работает ?
void setup() {
  pinMode(12, OUTPUT);
  tone(12,262);
  delay(500);
  tone(12,294);
  delay(500);
  tone(12,330);
  delay(500);
  tone(12,349);
  delay(500);
  tone(12,392);
  delay(500);
  tone(12,440);
  delay(500);
  tone(12,494);
  delay(500);
  noTone(12);
}

void loop() {
}

 

 

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

может так попробовать?
 

#include<IRremote.h>
int resiv = 11;
int buzzer = 12;
long prestroMillis = 0;
IRrecv irrecv(resiv);
decode_results results;

void setup()
{
	irrecv.enableIRIn();
  	for(int a = 0; a < 7; a++)
    {
    	pinMode(a, OUTPUT);
    }
  	pinMode(buzzer, OUTPUT);
}

void pinOn(int pin)
{
	digitalWrite(pin, HIGH);
  	delay(700);
  	digitalWrite(pin, LOW);
}


void decodingIR()
{
	switch(results.value)
    {
    	case 0xFD30CF:
      		pinOn(0);
      		break;
      	case 0xFD08F7:
      		pinOn(1);
      		break;
      	case 0xFD8877:
      		pinOn(2);
      		break;
      	case 0xFD48B7:
      		pinOn(3);
      		break;
      	case 0xFD28D7:
      		pinOn(4);
      		break;
      	case 0xFDA857:
      		pinOn(5);
      		break;
      	case 0xFD6897:
      		pinOn(6);
      		break;
      	case 0xFD00FF:
      		pinOn(10);
      		//digitalWrite(buzzer, HIGH);
                irrecv.stop();
  		tone(buzzer, 2000, 800);
                delay(8);
                irrecv.start(8000); // to compensate for 8 ms stop of receiver. This enables a correct gap measurement.
      		break;
    }
}

void loop()
{
  	if(irrecv.decode(&results))
    {
      	decodingIR();
      	for(int b = 0; b < 2; b++)
        {
          	irrecv.resume();
        }
    }
}
/*
0 - FD30CF 
1 - FD08F7 
2 - FD8877 
3 - FD48B7 
4 - FD28D7 
5 - FDA857 
6 - FD6897 
7 - FD18E7 
8 - FD9867 
9 - FD58A7 
Power - FD00FF 
Mute/EQ - FDB04F 
vUp - FD807F 
vDown - FD906F 
cUp - FD50AF 
cDown - FD10EF
*/












 

inspiritus
Offline
Зарегистрирован: 17.12.2012

Если не разбираешься в том, что делаешь, пытайся решать задачи по-одной.

и отчего дублированы не только топики, но и ответы в оных?

Viktor_lomako
Offline
Зарегистрирован: 30.04.2022

ua6em пишет:

может так попробовать?
 

#include<IRremote.h>
int resiv = 11;
int buzzer = 12;
long prestroMillis = 0;
IRrecv irrecv(resiv);
decode_results results;

void setup()
{
	irrecv.enableIRIn();
  	for(int a = 0; a < 7; a++)
    {
    	pinMode(a, OUTPUT);
    }
  	pinMode(buzzer, OUTPUT);
}

void pinOn(int pin)
{
	digitalWrite(pin, HIGH);
  	delay(700);
  	digitalWrite(pin, LOW);
}


void decodingIR()
{
	switch(results.value)
    {
    	case 0xFD30CF:
      		pinOn(0);
      		break;
      	case 0xFD08F7:
      		pinOn(1);
      		break;
      	case 0xFD8877:
      		pinOn(2);
      		break;
      	case 0xFD48B7:
      		pinOn(3);
      		break;
      	case 0xFD28D7:
      		pinOn(4);
      		break;
      	case 0xFDA857:
      		pinOn(5);
      		break;
      	case 0xFD6897:
      		pinOn(6);
      		break;
      	case 0xFD00FF:
      		pinOn(10);
      		//digitalWrite(buzzer, HIGH);
                irrecv.stop();
  		tone(buzzer, 2000, 800);
                delay(8);
                irrecv.start(8000); // to compensate for 8 ms stop of receiver. This enables a correct gap measurement.
      		break;
    }
}

void loop()
{
  	if(irrecv.decode(&results))
    {
      	decodingIR();
      	for(int b = 0; b < 2; b++)
        {
          	irrecv.resume();
        }
    }
}
/*
0 - FD30CF 
1 - FD08F7 
2 - FD8877 
3 - FD48B7 
4 - FD28D7 
5 - FDA857 
6 - FD6897 
7 - FD18E7 
8 - FD9867 
9 - FD58A7 
Power - FD00FF 
Mute/EQ - FDB04F 
vUp - FD807F 
vDown - FD906F 
cUp - FD50AF 
cDown - FD10EF
*/












 

все равно трещит

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а код из #4 работает?

bizzon
Offline
Зарегистрирован: 29.03.2016

А пищалка активная?

Green
Offline
Зарегистрирован: 01.10.2015

У меня заказчик был. С парктроником. В ТЗ пьезо на 3 с копейками КГЦ. Задаю tone под эту пищалку, и получаю претензии... Какое то не чистое звучание, какой то треск... Куча взаимных препирательств... Когда выясняется что у него АКТИВНАЯ пищалка. Ну ППЦ!
Боюсь, что здесь такая же ситуация.

bizzon
Offline
Зарегистрирован: 29.03.2016

Вот нисколько не сомневаюсь