Отговори на тема  [ 30 мнения ]  Отиди на страница 1, 2  Следваща
Arduino R3 + Adafruit RTC/SD logger + BME280 + ... 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Мар 16, 2006 9:42 am
Мнения: 12095
Местоположение: Гьотеборг
Мнение Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Кажете си мнението... и не се смейте много. Кода е компилация от различни примери и библиотеки, и разбира се адаптиране към това което аз искам.
Железата Arduino Uno R3 + Adafruit RTC/SD logger + BME280 + ... (ще има още сензори за които някои колеги ми помогнаха, но нямам желязото при мене)
Чета BME280/I2C и 3.3V на единия аналогов вход(просто за тест),
чете и часовника/DS1307/I2C и пише на SD картата/SPI
Освен това стринга го праща към серийния порт, откъде логвам в Excel/GNU plot или каквото имам подръка.
Логвам през 5сек, и има неща за доооправяне - като задаване на име на файл, сверяване на часовника и т.н.

Имах някакви странни проблеми, че часовника спираше на някакво време и винаги почваше оттам - не е много ясно какво бях настъпил там, и дали още не е настъпено и мирише здраво...
Надвам се на някой да му е полезно. Наздраве!

Нужни блиботеки
https://github.com/adafruit/SD
https://github.com/adafruit/RTClib
https://github.com/adafruit/Adafruit_BME280_Library

p.s. това нещо изяде доста от паметта на Атмега328, но вероятно може да бъде оптимизирано. Или да сменя с Мега2560


Прикачени файлове:
test_rev06.zip [1.94 KiB]
317 пъти
Сря Апр 20, 2016 7:40 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Grubi написа:
p.s. това нещо изяде доста от паметта на Атмега328, но вероятно може да бъде оптимизирано. Или да сменя с Мега2560


Забравих да те питам какво толкова си се увлякал по тия арди и меги?

За да направиш нещо по-сериозно с тях се изисква доста умения и усилия. Понякога това си струва, особено ако искаш да направиш от нищо нещо. Но твоят случай не е такъв сякаш. Предполагам искаш да си свършиш работата, а не да доказваш нещо...


Сря Апр 20, 2016 8:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Мар 16, 2006 9:42 am
Мнения: 12095
Местоположение: Гьотеборг
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
искам да си свърша работата по-възможно най-простия начин, и ако някой иска да повтаря/променя след мене да е читаемо и обяснено
другия начин е LabView (блокови схеми, картинки, код, безумно скъп хардуер и лицензи) - само за да логваш същите прости неща
или пък Matlab/Simulink - но дори и те имат интерфейс към Ардуино

Ако искам да усложнявам може да се ползва Ардунино DUE (ARM), или и разни лоботомиращи софтуери Firmata/Processing
разбира се другото са малинките, Python и другите модули с Linux/Windows

а да доказвам на някой нещо - да, може би на колегите ми в работата, че може и без LabView и подобни.
или че Ардуино и разновидностите му може да се използват и да вършат работа

Знам, че е за любители, но ако има време и пари за нещо по-сериозно тогава ще се захващам със сериозните
А случая доста се прближава до "от нищо - нещо" или "пари нема - действайте"

p.s. другото вярно, че това си е елементарно линейно изпълнение - не използвам таймери, прекъсвания, математики (освен тези които не виждам в библиотеките). ако (а те ще) ми потрябват - ще се уча в движение


Сря Апр 20, 2016 8:51 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Нямах предвид финансовата страна. Всъщност ардиното никак не евтино дори по абсолютна стойност. Ако пък вземеш предвид съотношението цена/функционалност ще видиш че си даваш парите на вятъра ;-)
Просто малките 8-бит са вече няколко порядъка по-ограничени като ресурси. Вършат работа само при елементарни задачки. От там нагоре или ти трябва да си много добър, или ще навлезеш в безкрайни оптимизации и борба с вятъра. Утре ще ти се наложи да мериш малко по-бързо или по-точно или да пращаш по USB/ethernet и си до там.
Губиш си времето и парите...


Сря Апр 20, 2016 9:33 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Мар 16, 2006 9:42 am
Мнения: 12095
Местоположение: Гьотеборг
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Записвам си...


Сря Апр 20, 2016 10:29 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Дек 19, 2005 12:21 pm
Мнения: 1037
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Аз за случай в който:

1. няма нужда от real time
2. има постоянно захранване
3. няма ограничение в мястото
4. няма значение цената за 1 бройка

бих сложил и деректно платка с Линукс - малинки или къпинки - няма значение въпрос на вкус. Четеш си датчици по I2C, SPI, UART, пишеш даните някъде, комуникираш по WiFi, Ethernet. Ако решиш да е по-шарено може и уеб интерфейс със визуализации да му качиш, или да предоставиш данните по REST API.

В твоя случай единственото предимство, което виждам за Ардуиното е, че има готов примерен код за четене на датчиците.


Чет Апр 21, 2016 8:44 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Мар 16, 2006 9:42 am
Мнения: 12095
Местоположение: Гьотеборг
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
в случая имам конкретна задача, и се казва
че крайното устройство трябва да е евтино
и достъпно (като хардуер, софтуер и налични ресурси),
дотолкова че да бъде използвано и от ученици в не-специализирани
училища. А може би днешните хлапаци израстват с Linux / Python

Избрал съм Ардуиното защото:
0. Забравих - GUIто го има за Windows, Linux, Mac, също отворено. Сигурно и GCC e така...
1. Е отворен хардуер и код, с купища тествани библиотеки.
2. Има го във всякакви разновидности (Мега, ПИК, АRM, май и други)
3. Оригиналните платки не са много евтни, но човек може
да си направи собствени или да редактира съществуващите.
Можеш да си го купиш от местния магазин за IT джунджурии - по нашенско поне(другите магазини ги закриха...)
4. Копираните платки и шилдове са в пъти по-евтини.
5. Стандартното разположение на изводите - добре е за тестова платка.
6. Няма нужда от отделен програматор и отделно захранване (поне за повечето неща).
7. Захранва се, програмира се и след това се чете през един и същи USB порт (въпреки, че понякога е проблем).
8. С шилдовете може да се направят доста интересни и функционални "кулички".

Сигурно мога да продължавам със списъка. Ако някой иска да надгражда, платки и системи има всякакви.
А и винаги може човек да затрие bootloadera, и да започне с нормално програмиране.

Между другото сложих кода да го погледнете, който има време и да забиете по някоя критика.


Чет Апр 21, 2016 9:39 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Като изключим покупката от местната бакалийка, май същото важи за повечето евал и не-евал платки...
Аз не исках да навлизаме в спор кое е по-по-най... Истината е че има много алтернативи. Нормално е по-простите неща да са малко по-масови, това важи за какъв да е продукт. Майбах се купува рядко, не го продават под път и над път и т.н. Макар че сравнението не е съвсем удачно, понеже Майбаха не е по джоба на всеки, докато при контролерите разликите в цените са нищожни, даже както казах и предния пост цената изобщо не е най-силната страна на ардиното и мегите.

Каквото и да избереш винаги ще има някой, който да те пита "абе защо избра тва?"... В случая си плачеш да те питаме, щото вземаш нещо дето уж го мислиш като за основа, а тръгваш да го ползваш по начин по който няма да стигнеш далеко. Примерно това да ползваш стрингове, удобно е нали? Само че изобщо не е техника за контролери с 2К RAM. Както и файлови системи и работа с SD карти и т.н.
С две думи, моето мнение е че или основата ти е кофти за тоя начин на работа, или начинът ти не е за тая основа...


Чет Апр 21, 2016 10:32 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 1:48 pm
Мнения: 4906
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Не знам каква е тази арду болест , но даже и при нас чиповете за за свободния пазар, има тенденция да се прави шилд и за ардуино или подобни...
явно да се угоди на средногорските(високопланоинските ) познания на хората - и всичко се опростява до немайкде - най-новите проучвания за този тип пазар са, че масовия потребител не желае да чете даташитове, иска да цъкне датчик за температура и готово - пакет от софтуерни драйвери, платки за ардуино. това линейност, шум, темп диапазон, и прочие не били важни.
то примера ми не е много удачен, защото точно с темп сензори това е възможно да се прави и се прави, но ако вземеш няколко гигахерзов ЦАП, или някое индустриялно/медикъл чипче, ако имаш маниджър с убеждението, че с ардуино всичко за две минути става.... трудно ще се разберете :)
и лошото после почва - хората поват да Не правят нещо защото не можело да стане с ардуино :!:
същото е и с малинките - много добре имаш линукс, имаш тв-изход, имаш флаш, имаш и2ц и спи, но ако опреш до реално време->много данни->обработка... малко ще се охълцаш, колкото и да изглежда лесно отстрани.

малко лирично стана отклонението :)
иначе за демонстратор на ученици може и да ти свърши работа ;)

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Чет Апр 21, 2016 3:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Мар 16, 2006 9:42 am
Мнения: 12095
Местоположение: Гьотеборг
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Питах за едно, то друго стана. И не искам да се състезавам/сравнявам с никой
Колкото мога с контролерите толкова, а колко описания/чаршафи съм копал и ще копая,
мисля че ми стигат. Другия път ще го направя аналогово :rolleyes: , без никакви контролери.

слагам точка на темата, даже направо си е за триене
@Рек ако може да я забърше


Чет Апр 21, 2016 4:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Темата не трябва да се трие. В момента си е много полезна. Показва, че с ардуино, готови библиотеки и шилдове можеш набързо да сглобиш работещ портотип и да си свършиш работата.
Разбира се можеш да проектрираш платка, да чакаш месец да пристигне от китай, да направиш след това още 2-3 ревизии докато стане перфектна. Може и да избереш и 32 битов контролер, който макар и по-евтин само за да размигаш светодиод изисква повече писане от колкото този проект. Освен разбира се, ако компилатора не изплюе някаква странна грешка, която ще има да й се чудиш какво значи поне седмица.
32 битов контролер е като 800 кубиков пистов мотоциклет, а 8 битовите микроконтролери са като бебешка триколка, която обаче е по-скъпа от пистовия мотоциклет.
Значи с пистовия хем е по-евтино и по забавно, но една малка грешка и си в мозъчна смърт. Докато с триколката бавно и полека, като обикаляш големите улици и магистрали по някое време стигаш до където си тръгнал.

_________________
Warriors of the Night, ASSEMBLER!!!


Чет Апр 21, 2016 8:24 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Мда, насила хубост не става...
ike, преди да мина на 32-бит работех с 16, а преди това дълги години с 8-бит. Мисля че имам добра представа за възможностите и на едните и на другите. Така че като съветвам нещо, го съветвам на база опит, а не на предположения какви грешки давали компилаторите и как можело да се пребиеш.


Чет Апр 21, 2016 9:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Фев 13, 2013 3:35 pm
Мнения: 1803
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
Както ти казах, нещо стандартните им библиотеки станаха умопомрачително големи- явно да си продават по-паметливите чипове. По принцип и 8(88) ми стигаше...
Тези задачки са си за 8 битов.
Използвам вграденият таймер за RTC, но доста си харчи за на батерийно захранване- най-вероятно нещо стои включено?


Чет Апр 21, 2016 9:32 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
miro_atc написа:
Мда, насила хубост не става...


Сам казваш, че си ги минал всичките. Не е ли нормално хората да минат по твоите стъпки и настъпвайки 8, 16 и накрая 32 битови мотики да се научат, как стават нещата.
Ето един прост пример. Много бърза мигалка(генератор на правоъгълни импулси) за AVR.


Код:
org 0x0000
rjmp main

main:
ldi r16, 0xFF
out DDRB, r16
loop:
sbi PortB, 3
cbi PortB, 3
rjmp loop



Можеш ли да ми покажеш деасемблиран код за 32 битов контролер по желание, който върши същата работа.

_________________
Warriors of the Night, ASSEMBLER!!!


Пет Апр 22, 2016 10:35 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: Arduino R3 + Adafruit RTC/SD logger + BME280 + ...
ike написа:
Сам казваш, че си ги минал всичките. Не е ли нормално хората да минат по твоите стъпки и настъпвайки 8, 16 и накрая 32 битови мотики да се научат, как стават нещата.

Имаш погрешна представа, че 8-бит са някаква абстракция за 32. Не са. Ако искаш да започнеш от нула и чисто теоретично, то се започва от машината на Тюринг. Това е абстракция и то правилната, защото на нейна база се извеждат много теореми и т.н.
А освен теоретичната абстракция, програмирането има и много практика за учене, която обаче се развива основно от тенденциите при компютрите и после известна част се пренася и при контролерите. Само че при малките поради липса на ресурси и други причини не може да се пренесе. Съответно остават много неща, които няма как да ги научиш и да ги разбереш. Примерът, който си дал е едно от тях. Тоя код дето си го дал мога с лекота да ти го портна, примерно за SAM защото те ползват почти същата периферия като AVR, обаче НЯМА да ти го портна защото ТАКА НЕ СЕ ПРАВИ мигалка.
Има много неща, които ти убягват. Първо самият код мига с твърде висока честота, за да се нарече мигалка. Второ, един контролер може да прави мноооооого повееееече неща от това да мига ламба, но както си го написал тоя код нищо друго няма може да прави. Всъщност дори и само за мигалка пак не се държи така в цикъл щото какъвто и да е контролера той харчи!! С две думи кофти код, нулева съвместимост с друг код, нулева възможност за портване и ако утре ако смениш AVR-а с друг и трябва да почваш да пишеш всичко отначало. Това не е ПРОГРАМИРАНЕ. Първо трябва да се научиш да програмираш собствената си работа, а след това работата на един контролер.
Все пак за да не бъда съвсем голословен ето как го правя аз (примерът е качен на публичен сървър преди доста години):
Код:
/**
* example how to drive pins directly...
*
* Note:
*    There are target specific things like the PIN_DESC type and it's value.
*    So these things are defined either in the OS or in the target directory of
*    the project.
*    The code here is supposed to be universal. We just want to flash a led,
*    we don't care if the actual board is using Atmel, ST or Luminary CPUs.
*    We don't care if the pin is PA0 or PB1. We don't care if the pin needs to be
*    asserted low or high. These are target specific things.
*    All we need here is to have a pin that can drive a led. We assume the pin
*    definition is called PIN_LED and we ask assertion or deassertion of this pin.
*    If you want to change the pin, just go in drivers.h in the target's directory
*    and change the definition.
*
*/
void led_thread(void)
{
   PIN_DESC led_pin = PIN_LED;

   PIO_Cfg(led_pin);
   while(1)
   {
      PIO_Assert(led_pin);
      tsk_sleep(100);
      PIO_Deassert(led_pin);
      tsk_sleep(500);
   }
}


Пет Апр 22, 2016 12:34 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 30 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 11 госта


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

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни