Например TDA7294

Форум РадиоКот • Просмотр темы - модули Nrf24l01, ардуино, передача звука
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт апр 26, 2024 00:00:39

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Чт июл 21, 2022 18:04:05 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
зацепился вот за этот проект.Звук передается - все ок




Код:
/* Спец проект youtube - канала VirF Live Productions
Адрес канала www.youtube.com/c/VirFLiveProductions
Группа посвященная каналу https://vk.com/virf_live_productions
version 1.0 от 24.02.17
*/
#include <RF24.h>   
#include <SPI.h>
#include <RF24V.h>
RF24 radio(7,8);   
RF24V Sound(radio,0);
void setup() {
radio.begin();
radio.setChannel(0x4b);
radio.setDataRate(RF24_250KBPS); //250KBPS, 1MBPS, 2MBPS (250KBPS на nRF24L01 (без +) неработает)
Sound.begin();
Sound.reader();} //  - Включаем прием
void loop() {}



но хочется большего. Как можно определить что начался прием звука?
Т.е вот два модуля один передает , другой принимает. А вот я на паузу звук поставил,как на приемнике определить что звук на паузе.

Т.е когда я начал передавать приемник должен понять что я начал передавать, а когда я перестал передавать , то значит все конец связи.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Чт июл 21, 2022 19:58:52 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6889
Откуда: .ru
Рейтинг сообщения: 2
Всё ? С флешками закончили ?)) Перешли на радио ? )) А Интернет скоро будет ? ))
:))
В соседней теме мы подробно разбирали этот радио модуль... там же есть и куски кода...
https://www.radiokot.ru/forum/viewtopic ... 8&t=148087
Вложение:
PCM-256.jpg [150.85 KiB]
Скачиваний: 74

olegue писал(а):
Как можно определить что начался прием звука?

есть два способа:
1- опрашиваем (по SPI) статус модуля. Если приёмный буфер (RX FIFO) пуст, то STATUS = 0, значит приема нет.
2- опрашиваем вывод INT. Каждый раз при приёме пакета вывод INT переходит из высокого состояния (лог. "1") в низкое состояние (лог. "0"). Вывод INT должен быть предварительно настроен на "срабатывание по приёму пакета".

Мы проверяли оба способа.
Второй способ работает на ~25 % быстрей. Поэтому рекомендуется использовать его.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Чт июл 21, 2022 21:13:16 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
Цитата:
RX буфер в PRX режиме может хранить до трёх посылок. В регистре STATUS есть трёхбитное поле RX_P_NO из которого можно узнать, буфер пустой или для какого канала есть данные. Поле поле RX_P_NO принимает такие значения:

000-101: номер канала, для которого есть данные
110: это значение не используется
111: RX буфер пуст


т.е в режиме молчания буфер RX будет пуст? Но может ли он быть пуст, модули соеденины и идет прием хотя бы каких-то шумов по звуку и т.д. Вот что меня беспокоит.

Добавлено after 41 second:
И как до него добраться , до этого поля RX_P_NO, до регистра Status

Добавлено after 3 minutes 11 seconds:
roman.com писал(а):
Вывод INT должен быть предварительно настроен на "срабатывание по приёму пакета".

Мы проверяли оба способа.


Не могу найти этот вывод , может речь идет о выводе IRQ?

Добавлено after 13 minutes 46 seconds:
Код:
#if !defined (MINIMAL)
void RF24::print_status(uint8_t status)
{
  printf_P(PSTR("STATUS\t\t = 0x%02x RX_DR=%x TX_DS=%x MAX_RT=%x RX_P_NO=%x TX_FULL=%x\r\n"),
           status,
           (status & _BV(RX_DR))?1:0,
           (status & _BV(TX_DS))?1:0,
           (status & _BV(MAX_RT))?1:0,
           ((status >> RX_P_NO) & 0b111),
           (status & _BV(TX_FULL))?1:0
          );
}



((status >> RX_P_NO) & 0b111),


нашел такое. Это используется в каком-то стандартном скетче.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Чт июл 21, 2022 21:21:27 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6889
Откуда: .ru
Рейтинг сообщения: 2
конкретно в Nrf24l01 вывод IRQ
в других модулях вывод INT
это одно и то же)) и работают они одинаково)) просто называются по разному...
но чаще пишут INT...

Добавлено after 7 minutes 54 seconds:
Что ты хочешь не пойму... :dont_know:
olegue писал(а):
Как можно определить что начался прием звука?
Т.е вот два модуля один передает , другой принимает. А вот я на паузу звук поставил,как на приемнике определить что звук на паузе.

для начала надо понимать как всё работает...

Nrf24l01 - это цифровые модули... они передают только цифру)) 010101100101101010....

чтоб передавать через эти модули звук надо сначала этот самый звук оцифровать... обычно используется WAV формат... он же PCM-256.

А дальше всё точно так же как с флешкой)) только с флешкой мы всё цифровали и записывали на флешку... а тут мы всё цифруем и передаём по радио. Вот и вся разница))
1- цифруем звук - переводим WAV формат... он же PCM-256. 010101100101101010....
2- передаём в цифровом виде с помощью модуля Nrf24l01. 010101100101101010....
olegue писал(а):
вот я на паузу звук поставил...

значит первый Nrf24l01 ничего не передаёт.
второй Nrf24l01 соответственно ничего не принимает. Т.е. приёмный буфер FIFO у второго модуля пуст.

https://www.youtube.com/watch?v=bgpNbGDZrEg


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Чт июл 21, 2022 21:42:24 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
Нет , это не рация.

попытаюсь обьяснить на фонариках

1 модуль начал передавать звук
Второй моодуль начал принимать и зажегся фонарик
1 модуль перестал передават звук
Фонариг погас.

Добавлено after 3 minutes 28 seconds:
roman.com писал(а):
чтоб передавать через эти модули звук надо сначала этот самый звук оцифровать... обычно используется WAV формат... он же PCM-256.


там в библиотеках все уже цифруется и передается. Мне только нужно только определить при приеме звука момент начала приема звука и момент завершения приема звука.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Чт июл 21, 2022 23:16:42 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6889
Откуда: .ru
Рейтинг сообщения: 2
а что значит поставил на паузу ?
на паузе Nrf24l01 передаёт или нет ?



////////////////////////////////////////////// читать STATUS:
PORTC.5=0; // SS
tx=0; SPI(); x=rx; // SPI пустой
PORTC.5=1; // SS
////////////////////////////////////////////// флаг RX FIFO
if ((x & 0b00001110)==0b00001110) { // флаг .... 111. - RX FIFO - пуст
goto mesto_1; // сброс
};


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Пт июл 22, 2022 11:49:59 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
Короче , тут я немного в части задачи был неточен

сам неможнко запутался, паузу с передачей

Код:
void loop() {
     if( (radio.available()) && (V_Down==0))
     {
     digitalWrite(6, HIGH);   // turn the LED on (HIGH is the voltage level)
     V_Down=1;
     }
     else
     {
      V_Down=0;
      digitalWrite(6, LOW);   // turn the LED on (HIGH is the voltage level)
  }
     
      } //loop




работает как надо. Нажимаю на передачу - на втором устройстве загорается фонарик и идет прием сигнала. То что надо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Пт июл 22, 2022 13:41:13 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6889
Откуда: .ru
Рейтинг сообщения: 0
так никто и не понял... что это вообще такое...
радио телефон... радио микрофон... радио домофон... или просто рация))
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Пт июл 22, 2022 15:35:28 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
Так я ж наоборот стараюсь очистить вопрос от мусора, что бы тема не разбухла на 150 страниц в обсуждением того что "можно ж было сделать по другому".

Изображение

Вот еще вопрос.

Выход на звук идет с 9 и 10 ноги Ардуины.
В схеме применен усилок китайский PAM8403 и какое то нетипичное подклчюение (на сзхеме выше). Что если я хочу применить усилитель например лм386, там есть масса (общий) и вход. Как мне подлкючить с 9 и 10 ноги на LM386? И вообще что это за выход такой с 9 и 10 ноги, как его понимать?

Добавлено after 19 minutes 22 seconds:
попробовал 9 и массу , 10 и массу - звук идет и там и там , причем примерно одинаково на слух. Счас почитал ,что это возможно мостовой выход.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Пт июл 22, 2022 17:07:38 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6889
Откуда: .ru
Рейтинг сообщения: 2
9 и 10 ноги - это скорее всего быстрая ШИМ на таймере 1.
Вложение:
1.jpg [67.14 KiB]
Скачиваний: 53

Вложение:
ШИМ на таймере 1.jpg [60.57 KiB]
Скачиваний: 56

Вложение:
2.jpg [40.3 KiB]
Скачиваний: 46

Вложение:
3.jpg [50.07 KiB]
Скачиваний: 50

9 и 10 ноги - можно использовать для стерео)) Например 9 - левый канал, 10 - правый канал.

Но у нас я так понял моно. Поэтому 9 и 10 ноги - скорее всего просто дублируют друг друга)).

Значит просто одну из ног 9 или 10 подключить на вход LM386...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Вс июл 24, 2022 10:51:40 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
roman.com,, спасибо, как всегда очень доходчиво.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Вс июл 24, 2022 23:25:39 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
roman.com, Вопрос в тему , в которой Вы очень хорошо разбираетесь.

имею вот этот код
Спойлер
Код:
/* Спец проект youtube - канала VirF Live Productions
Адрес канала www.youtube.com/c/VirFLiveProductions
Группа посвященная каналу https://vk.com/virf_live_productions
version 1.2 от 12.05.17
*/
#include <RF24.h>   
#include <SPI.h>
#include <RF24V.h>
RF24 radio(7,8);   
RF24V Sound(radio,0);
boolean flag = 0;
boolean V_Up = 0;
boolean V_Down = 0;
void setup() {
pinMode(13, OUTPUT);

radio.begin();
radio.setChannel(0x4b);
radio.setAutoAck(0);
radio.setDataRate(RF24_1MBPS);
Sound.begin();
radio.setCRCLength(RF24_CRC_8);
digitalWrite(4,1);
}
void loop(){}
 
/*P.S. данный скетч по мимо своей непосредственной библиотеки "RF24V"
требует установку основной библиотеки "nRF24L01"
Ссылка на оригинальную библиотеку "nRF24L01" https://yadi.sk/d/RvbUfGFEwjRid
*/


он прекрасно компилируется и отлично работает на плате Ардуино на базе Atmega328

но у меня есть несколь Атмег8 .которые я бы хотел зарядить пользуясь тем что

код занимает всего 5кб, но у меня вылезно вот это. Нсколько это поправимо. Можно ли перенести проект на Атмегу 8

Спойлер
Код:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp: In member function &#39;void RF24V::begin()&#39;:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:35:1: error: &#39;TIMSK0&#39; was not declared in this scope
 TIMSK0 |= _BV(OCIE0B);
 ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:35:1: note: suggested alternative: &#39;TIMSK&#39;
 TIMSK0 |= _BV(OCIE0B);
 ^~~~~~
 TIMSK
In file included from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
                 from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\pgmspace.h:90,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28,
                 from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:35:15: error: &#39;OCIE0B&#39; was not declared in this scope
 TIMSK0 |= _BV(OCIE0B);
               ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:35:15: note: suggested alternative: &#39;OCIE1B&#39;
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp: In function &#39;void rampDown()&#39;:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:59:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 for(int i=0; i < ICR1; i++){
                ^
In file included from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:0:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:95:58: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
                                                     ~~~~~^~~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:63:9: note: in expansion of macro &#39;constrain&#39;
 OCR1B = constrain((current - i),0,ICR1); OCR1A = constrain((current - i),0,ICR1);
         ^~~~~~~~~
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:95:58: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
                                                     ~~~~~^~~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:63:50: note: in expansion of macro &#39;constrain&#39;
 OCR1B = constrain((current - i),0,ICR1); OCR1A = constrain((current - i),0,ICR1);
                                                  ^~~~~~~~~
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:30:0,
                 from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp: In function &#39;void TIMER0_COMPB_vect()&#39;:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:84:5: warning: &#39;TIMER0_COMPB_vect&#39; appears to be a misspelled &#39;signal&#39; handler, missing &#39;__vector&#39; prefix [-Wmisspelled-isr]
 ISR(TIMER0_COMPB_vect){handleButtons();}
     ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp: In function &#39;void handleRadio()&#39;:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:90:45: error: &#39;TIMSK1&#39; was not declared in this scope
 if(radi.available() ){boolean n=!whichBuff; TIMSK1 &= ~_BV(ICIE1);sei();radi.read(&buffer[n],32); buffEmpty[n] = 0;pauseCntr = 0;
                                             ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:90:45: note: suggested alternative: &#39;TIMSK&#39;
 if(radi.available() ){boolean n=!whichBuff; TIMSK1 &= ~_BV(ICIE1);sei();radi.read(&buffer[n],32); buffEmpty[n] = 0;pauseCntr = 0;
                                             ^~~~~~
                                             TIMSK
In file included from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
                 from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\pgmspace.h:90,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28,
                 from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:90:60: error: &#39;ICIE1&#39; was not declared in this scope
 if(radi.available() ){boolean n=!whichBuff; TIMSK1 &= ~_BV(ICIE1);sei();radi.read(&buffer[n],32); buffEmpty[n] = 0;pauseCntr = 0;
                                                            ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:90:60: note: suggested alternative: &#39;TICIE1&#39;
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:93:61: error: &#39;TIMSK1&#39; was not declared in this scope
  if(pauseCntr > 50){pauseCntr = 0;rampDown();streaming = 0; TIMSK1 &= ~(_BV(TOIE1) );
                                                             ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:93:61: note: suggested alternative: &#39;TIMSK&#39;
  if(pauseCntr > 50){pauseCntr = 0;rampDown();streaming = 0; TIMSK1 &= ~(_BV(TOIE1) );
                                                             ^~~~~~
                                                             TIMSK
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:95:2: error: &#39;TCCR0A&#39; was not declared in this scope
  TCCR0A &= ~_BV(COM0A1);
  ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:95:2: note: suggested alternative: &#39;TCCR1A&#39;
  TCCR0A &= ~_BV(COM0A1);
  ^~~~~~
  TCCR1A
In file included from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
                 from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\pgmspace.h:90,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28,
                 from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:95:17: error: &#39;COM0A1&#39; was not declared in this scope
  TCCR0A &= ~_BV(COM0A1);
                 ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:95:17: note: suggested alternative: &#39;COM1A1&#39;
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:100:24: error: &#39;TIMSK1&#39; was not declared in this scope
  if(radi.available() ){TIMSK1 &= ~_BV(ICIE1);sei(); radi.read(&buffer[0],32);
                        ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:100:24: note: suggested alternative: &#39;TIMSK&#39;
  if(radi.available() ){TIMSK1 &= ~_BV(ICIE1);sei(); radi.read(&buffer[0],32);
                        ^~~~~~
                        TIMSK
In file included from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
                 from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\pgmspace.h:90,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28,
                 from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:100:39: error: &#39;ICIE1&#39; was not declared in this scope
  if(radi.available() ){TIMSK1 &= ~_BV(ICIE1);sei(); radi.read(&buffer[0],32);
                                       ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:100:39: note: suggested alternative: &#39;TICIE1&#39;
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:109:2: error: &#39;TCCR0A&#39; was not declared in this scope
  TCCR0A |= _BV(COM0A1);
  ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:109:2: note: suggested alternative: &#39;TCCR1A&#39;
  TCCR0A |= _BV(COM0A1);
  ^~~~~~
  TCCR1A
In file included from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
                 from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\pgmspace.h:90,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28,
                 from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:109:16: error: &#39;COM0A1&#39; was not declared in this scope
  TCCR0A |= _BV(COM0A1);
                ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:109:16: note: suggested alternative: &#39;COM1A1&#39;
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp: In function &#39;void RX()&#39;:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:113:11: error: &#39;TIMSK1&#39; was not declared in this scope
 void RX(){TIMSK1 &= ~_BV(OCIE1B) | _BV(OCIE1A);ADCSRA = 0; ADCSRB = 0; buffEmpty[0] = 1; buffEmpty[1] = 1;
           ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:113:11: note: suggested alternative: &#39;TIMSK&#39;
 void RX(){TIMSK1 &= ~_BV(OCIE1B) | _BV(OCIE1A);ADCSRA = 0; ADCSRB = 0; buffEmpty[0] = 1; buffEmpty[1] = 1;
           ^~~~~~
           TIMSK
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:113:60: error: &#39;ADCSRB&#39; was not declared in this scope
 void RX(){TIMSK1 &= ~_BV(OCIE1B) | _BV(OCIE1A);ADCSRA = 0; ADCSRB = 0; buffEmpty[0] = 1; buffEmpty[1] = 1;
                                                            ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:113:60: note: suggested alternative: &#39;ADCSR&#39;
 void RX(){TIMSK1 &= ~_BV(OCIE1B) | _BV(OCIE1A);ADCSRA = 0; ADCSRB = 0; buffEmpty[0] = 1; buffEmpty[1] = 1;
                                                            ^~~~~~
                                                            ADCSR
In file included from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
                 from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\pgmspace.h:90,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28,
                 from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:119:102: error: &#39;ICIE1&#39; was not declared in this scope
 radi.openWritingPipe(pipes[0]);radi.openReadingPipe(1,pipes[1]); radi.startListening(); TIMSK1 = _BV(ICIE1);}
                                                                                                      ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:119:102: note: suggested alternative: &#39;TICIE1&#39;
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp: In function &#39;void __vector_5()&#39;:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:123:31: error: &#39;OCR0A&#39; was not declared in this scope
 if(visCtr >= 32 && streaming){OCR0A = buffer[whichBuff][0] << 2;visCtr = 0;}}}
                               ^~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:123:31: note: suggested alternative: &#39;OCR1A&#39;
 if(visCtr >= 32 && streaming){OCR0A = buffer[whichBuff][0] << 2;visCtr = 0;}}}
                               ^~~~~
                               OCR1A
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp: In function &#39;void __vector_6()&#39;:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:157:1: error: &#39;TIMSK1&#39; was not declared in this scope
 TIMSK1 &= ~(_BV(OCIE1A));sei();radi.writeFast(&buffer[a],32);buffEmpty[a] = 1;TIMSK1 |= _BV(OCIE1A);}}
 ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:157:1: note: suggested alternative: &#39;TIMSK&#39;
 TIMSK1 &= ~(_BV(OCIE1A));sei();radi.writeFast(&buffer[a],32);buffEmpty[a] = 1;TIMSK1 |= _BV(OCIE1A);}}
 ^~~~~~
 TIMSK
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp: In function &#39;void TX()&#39;:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:183:11: error: &#39;TIMSK1&#39; was not declared in this scope
 void TX(){TIMSK1 &= ~(_BV(ICIE1) | _BV(TOIE1));
           ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:183:11: note: suggested alternative: &#39;TIMSK&#39;
 void TX(){TIMSK1 &= ~(_BV(ICIE1) | _BV(TOIE1));
           ^~~~~~
           TIMSK
In file included from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
                 from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\pgmspace.h:90,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28,
                 from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:183:27: error: &#39;ICIE1&#39; was not declared in this scope
 void TX(){TIMSK1 &= ~(_BV(ICIE1) | _BV(TOIE1));
                           ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:183:27: note: suggested alternative: &#39;TICIE1&#39;
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:185:1: error: &#39;TCCR0A&#39; was not declared in this scope
 TCCR0A &= ~_BV(COM0A1);
 ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:185:1: note: suggested alternative: &#39;TCCR1A&#39;
 TCCR0A &= ~_BV(COM0A1);
 ^~~~~~
 TCCR1A
In file included from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
                 from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\pgmspace.h:90,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28,
                 from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:185:16: error: &#39;COM0A1&#39; was not declared in this scope
 TCCR0A &= ~_BV(COM0A1);
                ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:185:16: note: suggested alternative: &#39;COM1A1&#39;
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:219:1: error: &#39;ADCSRB&#39; was not declared in this scope
 ADCSRB |= _BV(ADTS0) | _BV(ADTS0) | _BV(ADTS2);byte prescaleByte = 0;
 ^~~~~~
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:219:1: note: suggested alternative: &#39;ADCSR&#39;
 ADCSRB |= _BV(ADTS0) | _BV(ADTS0) | _BV(ADTS2);byte prescaleByte = 0;
 ^~~~~~
 ADCSR
In file included from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\io.h:99:0,
                 from c:\users\������\appdata\local\arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7\avr\include\avr\pgmspace.h:90,
                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28,
                 from C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:4:
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:219:15: error: &#39;ADTS0&#39; was not declared in this scope
 ADCSRB |= _BV(ADTS0) | _BV(ADTS0) | _BV(ADTS2);byte prescaleByte = 0;
               ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:219:15: note: suggested alternative: &#39;ADPS0&#39;
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:219:41: error: &#39;ADTS2&#39; was not declared in this scope
 ADCSRB |= _BV(ADTS0) | _BV(ADTS0) | _BV(ADTS2);byte prescaleByte = 0;
                                         ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:219:41: note: suggested alternative: &#39;ADPS2&#39;
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:225:50: error: &#39;ADATE&#39; was not declared in this scope
  ADCSRA = prescaleByte;ADCSRA |= _BV(ADEN) | _BV(ADATE);TIMSK1 = _BV(OCIE1B) | _BV(OCIE1A);}
                                                  ^
C:\Users\������\Documents\Arduino\libraries\RF24V\RF24V.cpp:225:50: note: suggested alternative: &#39;ADIE&#39;
Несколько библиотек найдено для "SPI.h"
 Используется: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI
Не используется: C:\Program Files (x86)\Arduino\libraries\SPI
Используем библиотеку RF24-master в папке: C:\Users\Леонид\Documents\Arduino\libraries\RF24-master (legacy)
Используем библиотеку SPI версии 1.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI
Используем библиотеку RF24V в папке: C:\Users\Леонид\Documents\Arduino\libraries\RF24V (legacy)
exit status 1
Ошибка компиляции для платы Arduino NG or older.


Добавлено after 1 minute 45 seconds:
речь идет обо использовании Ардуино на базе Atmega 8 т.е это платы Ардуино NG или older

Сразу говорю , сделать такое чисто на АВР мне не подсилу. Слабоват умишком.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Вс июл 24, 2022 23:57:14 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 298
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1226
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Нет. В библиотеках к ATmega328 (RF24, RF24V) используются биты/регистры, которых в ATmega8 нет: ADCSRB, ADATE, ADTS2, ADTS0, COM0A1 ...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Пн июл 25, 2022 09:25:29 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2957
Откуда: Беларусь
Рейтинг сообщения: 0
таки да, насколько это сложно перебить на атмегу8?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: модули Nrf24l01, ардуино, передача звука
СообщениеДобавлено: Пн июл 25, 2022 17:20:42 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6889
Откуда: .ru
Рейтинг сообщения: 0
я не разбираюсь в ардуино...
ну открой любую библиотеку и посмотри... https://iarduino.ru/file/27.html
там слишком много менять))

по мне так проще сделать на простом AVR...
хотел тоже побаловаться... да руки не дошли))

RF24 radio(7,8);
RF24V Sound(radio,0);
void setup() {
radio.begin();
radio.setChannel(0x4b);
radio.setDataRate(RF24_250KBPS); //250KBPS, 1MBPS, 2MBPS (250KBPS на nRF24L01 (без +) неработает)
Sound.begin();
Sound.reader();} // - Включаем прием
:roll:

а где битрейт ?
тоже пробовал просто МК нагружать...
8 кбит/с... 16 кбит/с... 32 кбит/с...
8 бит... 16 бит...

оптимально 16 кбит/с... 16 бит...
:roll:
передавать не пробовал... но можно попробовать))
но если подключить вместо стика микрофон... а вместо датчика динамик... и повысить частоту передачи пакетов... то должно работать))
Вложение:
PCM-256.jpg [126.3 KiB]
Скачиваний: 52


radio.begin();
radio.setChannel(0x4b);
radio.setAutoAck(0);
radio.setDataRate(RF24_1MBPS);
Sound.begin();
radio.setCRCLength(RF24_CRC_8);
digitalWrite(4,1);

radio.setDataRate(RF24_1MBPS);
:roll:
лучше - radio.setDataRate(RF24_250KBPS); //250KBPS - дальность заметно больше))

radio.setCRCLength(RF24_CRC_8);
:roll:
лучше - radio.setCRCLength(RF24_CRC_16); - надёжность заметно больше))
и т.д.
:tea:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y