Ардуино - запись звука

Обсуждаем контроллеры компании Atmel.
Ответить
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

Еще такой вопрос. У меня модуль карты без преобразователя уровней, поэтому я запитал Аtmegu и карту от 3.3в. Счас добавляют часы ds1307. Там питание 5в. То что я питаю Атемегу от 3.3 сильно ли влияет на ее быстродействие. Я заметил счто скетч заливается гораздо медленнее. До этого я прводил эксперименты с кард модулем с преобзователями урвней и питал все от 5в. Потом мне что-то не понравилось и я перешел на 3.3.

Такие дала. Короче как влияет снижение питание на работу Атмеги?
Реклама
Друг Кота
Сообщения: 9246
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

какая мега ? ))

мега8 от RC генератора 8 МГц при 5 вольт...
мега8 от RC генератора ~7,2 МГц при 2 вольт...

мега328 от RC генератора 8 МГц при 5 вольт...
мега328 от RC генератора ~7,9 МГц при 2 вольт...

мега8 и мега328 от кварцевого генератора 8 МГц при 5 вольт...
мега8 и мега328 от кварцевого генератора 8 МГц при 2 вольт...

Добавлено after 53 seconds:
зачем ds1307... не понятно... можно сделать программно...
на да ладно)) пусть будет))
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

[uquote="roman.com",url="/forum/viewtopic.php?p=4240799#p4240799"]зачем ds1307... не понятно... можно сделать программно...
на да ладно)) пусть будет))[/uquote]

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

Добавлено after 2 minutes 5 seconds:
что бы Атмега сама считала время? а оно не уйдет за месяц на неделю вперед?
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

можно откалибровать. Но тут другой плюс-минус: часы один раз настроил, откалибровал и забыл. Тикают они и тикают. Нет питания - они на батарейки тикают.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

не, это тухлый вариант, думай как установить время , думай как держать....
Реклама
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

есть часы и на 3.3 в
Вот мне потому отдельные RTC симпатичны. У меня, например, PCF8563T. Один раз изучил, разобрался, сделал модуль на них ( с обратной стороны ещё место для еепром) и всё. И нет проблем, нет зависимости от микроконтроллера: https://kilkennycat.ru/electronic/rtc_eeprom.html
Контактная информация:
Реклама
Друг Кота
Сообщения: 9246
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

olegue писал(а):но по любому освоить запись ADC на влэшку надо обязательно.
надо))

сделай как я... )) када я осваивал запись Ардуино в память TFT экрана... я всё проверил в Протеусе))
вверху я вижу скорость работы SPI Ардуино...
внизу я вижу байты данных и команды которые передаёт Ардуино в память TFT экрана...
ILI9341-ардуино.jpg
(136.34 КБ) 48 скачиваний
сделать тоже самое со своей Ардуино))

правда это не отвечает на вопрос с какой максимальной скоростью может записывать флешка... в реале))
Но зато мы будем знать как работает твоя Ардуина))
:)

Добавлено after 36 minutes 2 seconds:
olegue писал(а):это тухлый вариант...
:dont_know:
включаем обычный таймер... таймер работает от кварца... каждую секунду срабатывает прерывание...
считаем секунды...
умножаем на 60... получаем минуты...
умножаем на 60... получаем часы...
умножаем на 24... получаем сутки...

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

кнопочками)) заходим в "меню" > "установка времени"

очень сложная задача))
olegue писал(а):думай как держать...
кнопочками)) заходим в "меню" > "коррекция таймера" > "+"... часы идут быстрей)) > "-"... часы идут медленней))

очень сложная задача))
Martian писал(а):Вот мне потому отдельные RTC симпатичны.
а мои 2 штуки мега128 получает время из... GPS навигатора)) вместе с координатами))
пульт_время.jpg
(147.97 КБ) 47 скачиваний
кораблик_время.jpg
(165.6 КБ) 42 скачивания
:)
очень сложная задача))

а моя мега8 получает время из... сервера))
а сервер получает время из компьютера))
а компьютер получает время из сервера точного времени... по Интернету (протокол NTP).
а сервер точного времени из Интернета получает время... из атомным часов...
атомные часы.jpg
(61.27 КБ) 59 скачиваний
:shock:

:)
очень сложная задача))
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

[uquote="roman.com",url="/forum/viewtopic.php?p=4240826#p4240826"]а мои 2 штуки мега128 получает время из... GPS навигатора)) вместе с координатами))[/uquote]
Сдуру можно и не такое сделать.
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

roman.com писал(а):да я осваивал запись Ардуино в память TFT экрана... я всё проверил в Протеусе))
да, пытаюсь в протеусе зарядить Ардуино, но пока безрезультатно, пробую подключить бинарник кода и ардуино иде, валит ошибки, гуглю, разбираюсь
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

ну короче, перешел я опять на 5в.

Код: Выделить всё

void dateTime(uint16_t* date, uint16_t* time) {
  DateTime now = rtc.now();

  // return date using FAT_DATE macro to format fields
  *date = FAT_DATE(now.year(), now.month(), now.day());

  // return time using FAT_TIME macro to format fields
  *time = FAT_TIME(now.hour(), now.minute(), now.second());
}


void writeWavHeader() { // write out original WAV header to file

  recByteSaved = 0;
  // rec.open("rec00000.wav", O_CREAT | O_TRUNC | O_RDWR);
  /*rec.open(NameRecord, O_CREAT | O_TRUNC | O_RDWR); /* Имя нового - записываемого файла на SD-карту. */
  SdFile::dateTimeCallback(dateTime);
   rec.open(filename, O_CREAT | O_TRUNC | O_RDWR); /* Имя нового - записываемого файла на SD-карту. */
   
время всадил вот так, но пока не совсем понятно как этот работает и еще не пробовал в железе.

отсюда взял
https://forum.arduino.cc/t/file-creatio ... d/336037/2

с часами провозился день. Пришлось привести их в чувство по этому видосу . На чип 1307 вообще не шло питание.
https://www.youtube.com/watch?v=b8-4o6A7dZs&t=105s

Добавлено after 4 minutes 44 seconds:
Изображение

оперативка уже заканчивается поэтому дальнейшее продолжение проект в пределах Ардуино УНО вряд ли возможно.

Добавлено after 1 minute 28 seconds:
97% уже занятно после подключения часов, непонятно будет ли нормлаьно работать с часами. Без часов прекрасно пишет файлы , самый большой был около 20 минут.
Друг Кота
Сообщения: 9246
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

я так понял в Протеусе нифига не заработало...

я брал готовый код из какого сайта... для Ардуино UNO специально для Протеуса... тупо скачал архив протеуса и у меня все завелось сразу))

када уже переходить на СИ будем ?)) уже видео пора подключать... а мы тут всё со звуком возимся))
:tea:
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

roman.com писал(а):када уже переходить на СИ будем ?))
А что, СИ++ недостаточно?
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

Ничего не вышло! sdfat+eeprom+ds1307 -осталось 58 байт sram , запись просто отказалась взлетать.
Есть мысль отказать от библиотеки EEPROM, а нахрена она если имя можно формировать от сек, мин час.
СЧас попробюу, может хоть какие то байты освободятся

удивительная штука ардуина )))
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Я в своем логгере названия файлов делал так-месяц-день-час-мин,то есть сейчас было бы 06070035
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

Неа eeprom вообще не при делах. Можно оставить

Добавлено after 52 seconds:
Novice user, да типо того, счас пробую вместо RTClib что то более легкое

Добавлено after 1 minute 44 seconds:
#include <Wire.h>
#include <TimeLib.h>
#include <DS1307RTC.h>
тоже самое и что RTClib по остатку Sram

Добавлено after 17 minutes 4 seconds:
Счас прокомпелировал только библиотеки , ахаха - всего 220 байт занимают. Те. сам скетч занимает много памяти. Счас попробую выяснить и выкинуть , может чего лишнего найду.

Добавлено after 1 hour 49 minutes 35 seconds:
давно я не сидел целый вечер столь непродуктивно....

попробовал заменить библиоткеи и cd попробовал и fat16. Ничего хорошего, тока хуже.
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

[uquote="olegue",url="/forum/viewtopic.php?p=4241808#p4241808"]удивительная штука ардуина )))[/uquote]
переходите на esp32 или stm )
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Друг Кота
Сообщения: 9246
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

1.jpg
(53.97 КБ) 51 скачивание
Ардуино UNO... на меги328... 32 кбайта памяти флеш... !!!
сколько я всего в мегу328 запихивал... всё подряд)) всё что есть в доме))
2.jpg
(120.99 КБ) 37 скачиваний
но мне так и не удалось заполнить всю память... 32 кбайт))
:tea:
тупая штука ардуина ))
:))

Добавлено after 12 minutes 45 seconds:
переходить на esp32... имеет смысл если тактовой частоты мало...

у меги328 максимум 25 мгц...
у esp32 до 240 мгц...

а зато мега328 жрёт электричества намного меньше)) мега328 - одна из самых мало потребляющих AVR... ~0,1 микроампер... поэтому мега328 может работать от одной батарейки... годами !
:)

Добавлено after 2 minutes 34 seconds:
Не переходите на stm... у stm НЕТ EEPROM !!! куда вы будете сохранять все данные...
ставить отдельно ещё и EEPROM ? нафиг надо... )))
:))
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

Нашел способ освободить память
Там буфер 512 и их там 2

byte buf00[512]; // buffer array 1
byte buf01[512]; // buffer array 2

уменьшил их до 256, ну и соотвественно везде поменял в скетче под эту цифру

свободной памяти стало сразу до фига
но запись ускорилась!!!!!???? (поэтому поясните кто в курсе че я там утварил)

но с назначением даты-времени файла пока ничего, чет хожу вокруг да около.

Добавлено after 5 minutes 13 seconds:
[uquote="Morroc",url="/forum/viewtopic.php?p=4241946#p4241946"][uquote="olegue",url="/forum/viewtopic.php?p=4241808#p4241808"]удивительная штука ардуина )))[/uquote]
переходите на esp32 или stm )[/uquote]

есть в наличии esp8266 и уже присматривался к ней. Код сэмплирования в принципе можно и отсюда переложить , но придется регистры АЦП пересмотреть. Гдето даже видель готовый код, если все сложить в кучку, то должно что-то получиться. Но вот вот должен довести до ума этот проект,нельзя бросать на полпути. Слишком уж близко к цели.
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

olegue писал(а):но запись ускорилась!!!!!????
команду записи теперь нужно слать только в конце одного из буферов (ведь буфер флешки остался неизменным - 512 и его по прежнему надо забивать полностью)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Друг Кота
Сообщения: 9246
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

а что там рассказывать...
уменьшили буфер в два раза... увеличили скорость в два раза...
будем писать по пол флешки )) 256 байт вместо 512 байт на сектор ))
это не нормально...
лучше тогда вообще отказать от буфера... и писать сразу на флешку...
или использовать один и тот же буфер на чтение и запись...
olegue писал(а):вот вот должен довести до ума этот проект,нельзя бросать на полпути.
)))
этот проект нафиг никому не нужен))

лучше бы сделал что-нибудь полезное... Например IP телефон... на Ардуино))
1.jpg
(57.95 КБ) 51 скачивание
:)
зачем ?

просто звонки по сотовой связи стоят дорого... особенно за границу))
например звонок из России в Киев... стоит аж 30 рублей за минуту !!!
приходится звонить по всяким Скайпам))

да только вот всякие Скайпы могут тоже заблокировать... как и всякие Твитеры... и т.д.
в России Твитер заблокировали.
а скоро заблокируют и всё остальное))

поэтому надо делать свой... Скайп))
Skype_Roman_Corporation.jpg
(186.09 КБ) 44 скачивания
и тогда никакие блокировки нам не страшны))
:)

надо делать полезные вещи... позволяющие экономить деньги...
а не просто всякие игрушки... типа диктофонов на флешке... )) и т.д.))
:facepalm:
Типа самодельный IP телефон... на Ардуино/AVR)) в этом проекте я с удовольствием по учавствую))
:tea:
Ответить

Вернуться в «AVR»