Комнатная метеостанция на беспроводных модулях ATmega128RFA1.
- Войдите на сайт для отправки комментариев
Сб, 14/05/2016 - 20:04
Хотя такие игрушки набили оскомину, тем не менее интерес к ним не ослабевает, особенно у начинающих ардуинщиков. Представляю еще одно решение. Устройство реализовано на двух ардуино совместимых модулях SparkFun ATmega128RFA1 Development Board.
ATmega128RFA1 - экономичный 8-битный микроконтроллер на основе RISC-архитектуре AVR, дополненной высокоскоростным РЧ трансивером ISM-диапазона 2.4ГГц. Он является производным от микроконтроллера ATmega1281и РЧ трансивера AT86RF231.
Благодаря выполнению большинства инструкций за один цикл синхронизации, микроконтроллер достигает производительности близкой к 1 MIPS/МГц, что позволит разработчику систем оптимизировать соотношение потребляемой мощности и производительности исполнения инструкций.
РЧ трансивер поддерживает передачу данных на скорости от 250 кбит/сек до 2Мбит/сек, обработку посылок, обладает отличной чувствительностью приемника и высокой выходной мощностью передатчика. Все эти особенности обеспечат надежность беспроводной передачи данных.
Собственно остается только подкинуть к модулю датчики и модуль отображения и самое главное заставить модули общаться между собой. Я условно обозвал ПРИЕМНИК-ом модуль для отображения результатов, а ПЕРЕДАТЧИК-ом модуль для рабты с уличным датчиком влажность-температура. ПРИЕМНИК также содержит на борту часы DS1307 , датчик DHT-11 и дисплей ТМ-1638. В дальнейшем планирую еще добавить барометрический датчик. Посылка из Китая застряла где то еще с февраля, так что пока так.
Примитивно все хозяйство можно изобразить так:
ПЕРЕДАТЧИК

ПРИЕМНИК
ПЕРЕДАТЧИК в железе. Закреплен непосредственно возле окнна.

Датчик DHT-22 тонким, очень тонким проводником (чтобы жена не ругалась и не портить пластиковую раму) соединен с ПЕРЕДАТЧИК-ом и выведен за окно. Конечно в идеале весь модуль надо разместить на улице или балконе, но у меня 1-й этаж и подарить дуракам модуль за 40 баксов как-то нет желания.

ПРИЕМНИК находится в соседней комнате. Индикация выполнена 5-ти секундным циклом с выводом результата: температуры и влажности на улице, температуры и влажности в помещении, даты и времени. В правом нижнем углу я вставил возможные варианты отображения.

Для компиляции кода потребуется "заточка" Arduino IDE под ATmega128RFA1. Ну это кому интересно могу подсказать.
Скетч для ПЕРЕДАТЧИКа
// Термометр // Модуль передатчика версия 2 передача температуры и влажности // Ведущий САМ - приемник // ВЕРСИЯ 13.04.2016 // последняя рабочая версия #include "DHT.h" #define DHTPIN A0 // what pin we're connected to #define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT11 // DHT 11 // Connect pin 1 (on the left) of the sensor to +5V // Connect pin 2 of the sensor to whatever your DHTPIN is // Connect pin 4 (on the right) of the sensor to GROUND // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor DHT dht(DHTPIN, DHTTYPE); #include "RadioFunctions.h" int led=34; //int analogPin = 3; // номер порта к которому подключен источник питания //int val = 0; //float volt=0; int a; int a1; int a2; int a3; int b; //float aval; //int ivolt; //int uvolt=0; byte c=B00110000; int z=0; byte c1=B00110000; byte c2=B00110000; byte c3=B00110000; byte N=B01001110; byte K=B01001011; byte svolt=0b00000000; int ii=1; void setup() { Serial.begin(9600); // Start up serial Serial1.begin(115200); rfBegin(11); // Initialize ATmega128RFA1 radio on channel 11 (can be 11-26) // Send a message to other RF boards on this channel rfPrint("ATmega128RFA1 Dev Board Online!\r\n"); } //-------------------------------------------------------------------------------- void loop() { // delay(1000); if (rfAvailable()) // If data receievd on radio... { // delay(10000); // if(ii==1){ if(rfRead()==0b01100011){ Serial.print("PRINAL"); // считываем значение температуры и влажности int h = dht.readHumidity(); int t = dht.readTemperature(); expand(h); // check if returns are valid, if they are NaN (not a number) then something went wrong! if (isnan(t) || isnan(h)) { Serial.println("Failed to read from DHT"); } else { Serial.print("Humidity: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(t); Serial.println(" *C"); } // передаем влажность 1 rfWrite(N); // начало посылки Serial.println("Poslal N"); delay(z); rfWrite(c1); delay(z); rfWrite(c2); delay(z); rfWrite(c3); delay(z); // rfWrite(B00111101); Serial.write(c1); Serial.write(c2); Serial.write(c3); Serial.println(' '); c1=B00110000; c2=B00110000; c3=B00110000; // int t = dht.readTemperature(); expand(t); // передаем температуру rfWrite(c1); delay(z); rfWrite(c2); delay(z); rfWrite(c3); delay(z); rfWrite(B00111101); // конец посылки Serial.println("Poslal K"); // rfWrite(K); //конец посылки Serial.write(c1); Serial.write(c2); Serial.write(c3); Serial.println(' '); c1=B00110000; c2=B00110000; c3=B00110000; //} } } } //---------------------------------------------------------------------------------- // Функции конвертирования // разложение числа на цифры void expand(int a){ if (a >= 0 && a<10) // если а > =0 and a<10 { convert(a); c3=c; } if (a >= 10 && a<100) // если а > =10 and a<100 { a1 = a / 10; convert(a1); c2=c; a2 = a - a1 * 10; convert(a2); c3=c; } if (a >= 100 && a<1000) // если а > =10 and a<100 { a1 = a / 100; convert(a1); c1=c; a2 = (a - a1 * 100) / 10; convert(a2); c2=c; a3 = a - (a2 * 10 + a1 * 100); convert(a3); c3=c; } return; } //конвертирование из 10-тичного в 2-чное void convert(int b){ switch (b) { case 0: c = B00110000; break; case 1: c = B00110001; break; case 2: c = B00110010; break; case 3: c = B00110011; break; case 4: c = B00110100; break; case 5: c = B00110101; break; case 6: c = B00110110; break; case 7: c = B00110111; break; case 8: c = B00111000; break; case 9: c = B00111001; break; } return; }
Скетч для ПРИЕМНИКа
// Приемник версия T H 3 // РАБОТАЕТ c DHT11, ведущий САМ - приемник, библиотека DHT11 старая // ВЕРСИЯ 13.04.2016 для версии передатчика от 13.04.2016 // последняя рабочая версия #include "RadioFunctions.h" #include <TM1638.h> #include <dht11.h> DHT sensor = DHT(); // Connect pin 1 (on the left) of the sensor to +5V // Connect pin 2 of the sensor to whatever your DHTPIN is // Connect pin 4 (on the right) of the sensor to GROUND // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor #include <DS1307.h> // Init the DS1307 DS1307 rtc(A1, A2); // Init a Time-data structure Time tim; int hr; // час int mn; // минута int mt; // месяц int dy; // день // define a module on data pin A6, clock pin A5 and strobe pin A4 TM1638 module(A6, A5, A4); int led=34; int a; int a1; int a2; int a3; int b; int t=0; int h=0; byte c=B00110000; byte c1=B10110000; byte c2=B00110000; byte c3=B00110000; byte c4=B00110000; byte c5=B00110000; byte c6=B00110000; byte c7=B00110000; byte c8=B00110000; byte c9=B00110000; byte N=B01100011; byte s_c=0b00000000; byte s_c_i=0b00000000; byte sb1=0b00000000; byte sb2=0b00000000; byte sb3=0b00000000; byte sb4=0b00111001; byte sb5=0b00000000; byte sb6=0b00000000; byte sb7=0b01100011; byte sb8=0b01011100; byte NS=0b01001110; byte KS=0b01001011; byte CS=0b00000000; int z=1; // ЗАДЕРЖКА между приемом текущего байта !!! ПОДБИРАТЬ void setup() { // Set the clock to run-mode rtc.halt(false); // dht.begin(); Serial.begin(9600); // Start up serial Serial1.begin(115200); // Serial1.begin(4800); // необходимо подбирать sensor.attach(A0); // The following lines can be commented out to use the values already stored in the DS1307 // rtc.setDOW(SUNDAY); // Set Day-of-Week to SUNDAY // rtc.setTime(11, 12, 0); // Set the time to 12:00:00 (24hr format) // rtc.setDate(10, 04, 2016); // Set the date to October 3th, 2010 rfBegin(11); // Initialize ATmega128RFA1 radio on channel 11 (can be 11-26) // Send a message to other RF boards on this channel rfPrint("ATmega128RFA1 Dev Board Online!\r\n"); } void loop() { //delay (1000); rfWrite(N); // начало посылки Serial.println("POSLAL"); delay(1000); // if (rfAvailable()) // If data receievd on radio... { //---------------------------------------------------------------- while (true) { c=rfRead(); if(c==0b01001110){ // начало посылки Serial.println("OK"); c=rfRead(); if(c==00111101||c==B11111111){ Serial.println("Break 1 "); break; } c1=c; delay(z); c=rfRead(); if(c==00111101||c==B11111111){ Serial.println("Break 2 "); break; } c2=c; delay(z); c=rfRead(); if(c==00111101||c==B11111111){ Serial.println("Break 3 "); break; } c3=c; delay(z); c=rfRead(); if(c==00111101||c==B11111111){ Serial.println("Break 4 "); break; } c4=c; delay(z); c=rfRead(); if(c==00111101||c==B11111111){ Serial.println("Break 5 "); break; } c5=c; delay(z); c=rfRead(); if(c==00111101||c==B11111111){ Serial.println("Break 6 "); break; } c6=c; delay(z); c=rfRead(); if(c==00111101){ Serial.println("Format all "); } c7=c; // delay(z); Serial.print("c1= "); Serial.println(c1,BIN); Serial.print("c2= "); Serial.println(c2,BIN); Serial.print("c3= "); Serial.println(c3,BIN); Serial.print("c4= "); Serial.println(c4,BIN); Serial.print("c5= "); Serial.println(c5,BIN); Serial.print("c6= "); Serial.println(c6,BIN); Serial.print("c7= "); Serial.println(c7,BIN); s_expand(c2); sb5=s_c_i; s_expand(c3); sb6=s_c_i; if(c4==0b00101101){ sb1=0b10000000; } else { sb1=0b00000000; } s_expand(c5); sb2=s_c_i; s_expand(c6); sb3=s_c_i; const byte string[] = { sb1,sb2,sb3,sb4,sb5,sb6,sb7,sb8}; module.setDisplay(string); //module.setLEDs(c7); sb1=0b00000000; sb2=0b00000000; sb3=0b00000000; sb4=0b00111001; sb5=0b00000000; sb6=0b00000000; sb7=0b01100011; sb8=0b01011100; // delay(6000) очень устоййчивый вариант для передатчика от 13.04.2016 delay (4000); // !!! ПОДБИРАТЬ //------------------------------------D H T 11 -------------------------- sb4=0b01100011; // в комнате знак градуса // чтение c DHT-11 sensor.update(); switch (sensor.getLastError()) { case DHT_ERROR_OK: t=sensor.getTemperatureInt(); h=sensor.getHumidityInt(); Serial.println(t); Serial.println(h); break; case DHT_ERROR_START_FAILED_1: break; case DHT_ERROR_START_FAILED_2: break; case DHT_ERROR_READ_TIMEOUT: break; case DHT_ERROR_CHECKSUM_FAILURE: break; } // вывод комнатных результатов expand(t); // температура s_expand(c2); sb2=s_c_i; s_expand(c3); sb3=s_c_i; c1=B00110000; c2=B00110000; c3=B00110000; expand(h); s_expand(c2); // влажность sb5=s_c_i; s_expand(c3); sb6=s_c_i; c1=B00110000; c2=B00110000; c3=B00110000; const byte string1[] = { sb1,sb2,sb3,sb4,sb5,sb6,sb7,sb8}; module.setDisplay(string1); sb1=0b00000000; sb2=0b00000000; sb3=0b00000000; sb4=0b00111001; sb5=0b00000000; sb6=0b00000000; sb7=0b01100011; sb8=0b01011100; // delay(6000) очень устоййчивый вариант для передатчика от 13.04.2016 delay (4000); // !!! ПОДБИРАТЬ //--------------------------------- DS1307 ------------------------------- // Get data from the DS1307 tim = rtc.getTime(); hr=tim.hour; mn=tim.min; mt=tim.mon; dy=tim.date; Serial.println(hr); Serial.println(mn); Serial.println(mt); Serial.println(dy); //-------------------- час ---------------------- expand(hr); s_expand(c2); sb1=s_c_i; s_expand_t(c3); sb2=s_c_i; c1=B00110000; c2=B00110000; c3=B00110000; //-------------------- минута ------------------- expand(mn); s_expand(c2); sb3=s_c_i; s_expand(c3); sb4=s_c_i; c1=B00110000; c2=B00110000; c3=B00110000; //-------------------- день --------------------- expand(dy); s_expand(c2); sb5=s_c_i; s_expand_t(c3); sb6=s_c_i; c1=B00110000; c2=B00110000; c3=B00110000; //-------------------- Месяц -------------------- expand(mt); s_expand(c2); sb7=s_c_i; s_expand(c3); sb8=s_c_i; c1=B00110000; c2=B00110000; c3=B00110000; const byte string2[] = { sb1,sb2,sb3,sb4,sb5,sb6,sb7,sb8}; module.setDisplay(string2); //module.setDisplayToDecNumber(string2,2); c1=B00110000; c2=B00110000; c3=B00110000; c4=B00110000; c5=B00110000; c6=B00110000; c7=B00110000; c8=B00110000; c9=B00110000; sb1=0b00000000; sb2=0b00000000; sb3=0b00000000; sb4=0b00111001; sb5=0b00000000; sb6=0b00000000; sb7=0b01100011; sb8=0b01011100; // delay(0) очень устоййчивый вариант для передатчика от 13.04.2016 // но маловато время индикации "время-дата" delay (2000); // !!! ПОДБИРАТЬ // break; } else { if (c==B00111101||c==B11111111){ Serial.print("KONEC "); Serial.print("c= "); Serial.println(c,BIN); break; } Serial.print("continue "); Serial.print("c= "); Serial.println(c,BIN); continue; } } } } // Функции конвертирования void s_expand(byte s_c){ switch (s_c) { case B00110000: // 0 s_c_i = 0b00111111; break; case B00110001: // 1 s_c_i = 0b00000110 ; break; case B00110010: // 2 s_c_i = 0b01011011; break; case B00110011: // 3 s_c_i = 0b01001111; break; case B00110100: // 4 s_c_i = 0b01100110; break; case B00110101: // 5 s_c_i = 0b01101101; break; case B00110110: // 6 s_c_i = 0b01111101; break; case B00110111: // 7 s_c_i = 0b00000111; break; case B00111000: // 8 s_c_i = 0b01111111; break; case B00111001: //9 s_c_i = 0b01101111; break; } return; } // разложение числа на цифры void expand(int a){ if (a >= 0 && a<10) // если а > =0 and a<10 { convert(a); c3=c; } if (a >= 10 && a<100) // если а > =10 and a<100 { a1 = a / 10; convert(a1); c2=c; a2 = a - a1 * 10; convert(a2); c3=c; } if (a >= 100 && a<1000) // если а > =10 and a<100 { a1 = a / 100; convert(a1); c1=c; a2 = (a - a1 * 100) / 10; convert(a2); c2=c; a3 = a - (a2 * 10 + a1 * 100); convert(a3); c3=c; } return; } //конвертирование из 10-тичного в 2-чное void convert(int b){ switch (b) { case 0: c = B00110000; break; case 1: c = B00110001; break; case 2: c = B00110010; break; case 3: c = B00110011; break; case 4: c = B00110100; break; case 5: c = B00110101; break; case 6: c = B00110110; break; case 7: c = B00110111; break; case 8: c = B00111000; break; case 9: c = B00111001; break; } return; } void s_expand_t(byte s_c){ switch (s_c) { case B00110000: // 0 s_c_i = 0b10111111; break; case B00110001: // 1 s_c_i = 0b10000110 ; break; case B00110010: // 2 s_c_i = 0b11011011; break; case B00110011: // 3 s_c_i = 0b11001111; break; case B00110100: // 4 s_c_i = 0b11100110; break; case B00110101: // 5 s_c_i = 0b11101101; break; case B00110110: // 6 s_c_i = 0b11111101; break; case B00110111: // 7 s_c_i = 0b10000111; break; case B00111000: // 8 s_c_i = 0b11111111; break; case B00111001: //9 s_c_i = 0b11101111; break; } return; }
Пока не обкатал на минусовой температуре, но до осени время еще есть.
Если удастся доустановить барометр, то напишу продолжение. Есть интересная задумка по индикации давления.
Бедный, у тебя наверное холодильника нет, да?
Бедный, у тебя наверное холодильника нет, да?
:-((
Стоимость "железной" части проекта почти сто долларов. Вау. Повторит не всякий.
Стоимость "железной" части проекта почти сто долларов. Вау. Повторит не всякий.
:-))
Надо же все попробовать по возможности. Дешевле найти не смог, а поюзать такую цацку очень хотелось. В Чипе и Дипе есть в продаже модуль на такой мелкосхеме : Zigduino r1, Arduino-совместимая платформа на базе Atmega128RFA1, радиомодуль 802.15.4, но в наличии всего 1 штука и цена тоже не очень маленькая.
http://www.chipdip.ru/product/zigduino-r1/
А тут http://www.logos-electro.com/zigduino/ вооще одна плата 70 зеленых, капец. И куды христианину податься?
Зато теперь смотрю на результат и душа радуется. Не все деньгами меряется.
Я вообще переживал, что таможня не пропустит, так как эта штука подпадает под запрет потому что работает по стандарту Блютуза IEEE 802.15.4 .
Попросил пендоса не писать на упаковке ATmega128RFA, да куда там. Но все обошлось
Как то так.
Стоимость "железной" части проекта почти сто долларов. Вау. Повторит не всякий.
:-))
Надо же все попробовать по возможности.
Да дороговато, повторять мало кто решится.
Хотелка она такая, ей либо позволяют, что она хочет, либо душат... :)
Возникает логичный вопрос, а не добавить ли в комнату с передатчиком, дисплей и с приемника слать информацию о текущем времени?
Ну и конечно "перейти" на более гуманное железо в плане цены... :)
Все возможно. Хоть во все комнаты.
Хорошо бы еще купить Bugatti Chiron за $2 600 000,
чтобы организовать перевозку в багажнике навоза с ближайшей свинофермы на дачный участок. Конечная цель -- выращивание огурцов под пленкой для нужд личного потребления.
Примерно так с инженерной точки зрения выглядят ваши потуги.
Примерно так с инженерной точки зрения выглядят ваши потуги.
:-))
Приятно иметь дело с культурными, воспитанными и грамотными людьми.
:-))
Все возможно. Хоть во все комнаты.
Да вот именно во все комнаты и сделать, дисплей с показанием "местной" и возможно "заоконной" температуры (давления, влажности, освещенности) и показание часов с "ведущего" устройства и передача, на него данных с датчиков если необходимо. Некий контрось климата в квартире (доме) с "синхронными" часами везде. Типа кирпичек в "кучу" умного устройства...
Да вот именно во все комнаты и сделать, дисплей с показанием "местной" и возможно "заоконной" температуры (давления, влажности, освещенности) и показание часов с "ведущего" устройства и передача, на него данных с датчиков если необходимо. Некий контрось климата в квартире (доме) с "синхронными" часами везде. Типа кирпичек в "кучу" умного устройства...
Спасибо за совет.
Обязательно учту ваши пожелания.
А почему это же нельзя было сделать на копеешных NRF24L01 ?
А почему это же нельзя было сделать на копеешных NRF24L01 ?
Почему нельзя? Конечно можно.
Я все пытаюсь понять мотивы, которые вами двигали, когда вы покупали эту штуку и разумного объяснения пока найти не могу.
Я все пытаюсь понять мотивы, которые вами двигали, когда вы покупали эту штуку и разумного объяснения пока найти не могу.
ТС написал же что хотел попробовать новое устройство, чисто для себя не на "размножение" народу на халяву... Второй вариант представит публике на буджетном железе (смайлик подмигивающий). А по поводу зачем и почему, мне всегда вспоминается вот эта картинка...
https://yandex.ru/images/search?img_url=http%3A%2F%2Fcaricatura.ru%2Fparad%2Fmercury%2Fpic%2F2154.jpg&text=%D0%B5%D1%81%D0%BB%D0%B8%20%D0%BD%D0%B5%20%D0%B2%D0%B8%D0%B4%D0%BD%D0%BE%20%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D1%8B%20%D0%B7%D0%B0%D1%87%D0%B5%D0%BC%20%D0%BF%D0%BB%D0%B0%D1%82%D0%B8%D1%82%D1%8C%20%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B5%20%D0%BA%D0%B0%D1%80%D0%B8%D0%BA%D0%B0%D1%82%D1%83%D1%80%D0%B0&noreask=1&pos=0&lr=11&rpt=simage
Спешу успокоить заботящихся о состоянии моего кошелька. Купил модули НС-05 и НС-06, кстати стоят они почти вдвое дешевле чем предлагаемые NRF24L0. Против таких надеюсь возражений не будет?
Почти уверен, что эти модули смогут работать совместно с AtMega128RFА1.
ЗЫ
Эх не дают покататься на Bugatti Chiron, придеся на Жигулях навоз возить. Как говорят в народе за неимением горничной "имеем" дворника.
Можно еще посмотреть в сторону ESP8266
Можно еще посмотреть в сторону ESP8266
Уже посмотрел. ESP8266 это WiFI, а тут речь о блютузе.
Если стоит задача беспроводной передачи данных, но при этом нет требования, чтобы данные передавались в стандартах BT/ZigBee, то использовать данные проприетарные протоколы/устройства нет никакого смысла. Первое -- в стоимости проприетарных устройств присутствует роялти -- отчисления консорциуму разработчиков. Второе -- формат пакета, что bluetooth, что zigbee, довольно толстый, где на "полезную нагрузку" приходится только 20% от всех передаваемых данных, а остальные 80% на служебную и бесполезную (в данном случае) информацию. Такое соотношение ухудшает надежность передачи и параметры энергопотребления. Для сравнения, те же NRF24L01 имеют обратную пропорцию, т.е. 80% на полезную нагрузку и 20% на служебку.
У меня нет никакого желания наезжать на автора по поводу офтопичности его темы, но раздел все же назвается "Проекты". Получается, что это проект использования неоправдано дорого железа неоптимальным образом. Несколько странный "проект", не находите?
Получается, что это проект использования неоправдано дорого железа неоптимальным образом. Несколько странный "проект", не находите?
Да угомонитесь вы товарищ. Ну нет у вас ста баксов, чтобы поиграться с такой штучкой да и хрен с ними.
Берегите нервные клетки. Говорят они не восстанавливаются.
Лучше поделитесь ссылками на свои проекты.
Давайте мирно пообщаемся.
73!
P.S.
Если пересчитать самоделки на этом форуме по ценам Чипа и Дипа или Амперки, то уверен не намного дешевле америкозных будет.
С чего бы вдруг? Я стараюсь предметно высказываться по теме этой ветки. Если мои доводы лично вам не нравятся, то это еще ничего не значит.
Именно с такой штучкой? Точно нет. Больше того, если верить поиску по форуму, их ни у кого не нашлось за всю историю этого сайта.
Я вообще-то разговариваю с вами самым спокойным образом. Вы о чем?
А если таковых нет?
Зачем такой странный метод приведения цен, когда купить что-либо в Китае намного проще и дешевле, чем в Амперке?
Уважаемые админы, не сочтите за флуд.
Нежданно-негаданно поднята очень серьезная тема, а именно тема будущего отчества. Конечно, экономия очень важна, но до определенного предела. Как вырастить полноценного грамотного инженера не вкладывая средств? Да ни как. Необходимы затраты. Хватит воспитывать на деревянных игрушках. Старшего сына, а ему уже 34, я обучал азам информатики на самодельном СПЕКТРУМ-е, кстати, в те далекие 90-е не таким уж и дешевым. Младшему сейчас 16. И что учить на том, что подешевле? Нет не надо. Я купил ему ноут на черырехядерной семерке за 80 000 деревянных, пусть пацан привыкает сразу к правильной технике. Ведь этот пресловутый и окаянный модуль SparkFun ATmega128RFA1 Development Board не что иное, как макетка для обучения школьников и студентов. Фирма SparkFun позаботилась не только о том, чтобы продать его, но и снабдила всем необходимым учебным и методическим материалом, а именно теорией, примерами и библиотеками. Да недешево, но зато доступно, понятно и приятно. Америкосам это недорого и ихние пацаны легко изучают и щупают подобные разработки. Надо отдать должное Амперке там тоже неплохое теоретическое и учебное сопровождение продаваемых товаров, но опять же дороговато. Живем мы в таком мире, что делать. Своего ведь нет, вот и приходится покупать все импортное. СПАСИБО Китаю. Выручал и выручает. Я преклоняюсь перед этим трудолюбивым народом. Неплохо было бы, чтобы наши чиновники от образования интересовались хоть изредка как обстоят дела с ИТ подготовкой подрастающего поколения, а правительсво старалось развивать ИТ технологии в стране. Неплохо, что проводят различные фестивали, конкурсы и соревнования по робототехнике, но посмотрите внимательно, на чем эти пацаны все мастерят. Опять же на дешевке. А на дешевке в космос не полетишь. Мы уже видим сколько за последние годы наших космических аппаратов не взлетело. Это только начало процесса. Если своего не разрабатываем и не производим то давайте хотя бы не экономить на обучении подрастающего поколения современным методам и решениям. На самом деле этот чип ATmega128RFA1, на мой взгляд очень удачное решение, хотя не самое свежее. Вот и захотелось пощупать его живьем и если удастся рассказать коллегам о применении. Может и молодняку станет интересно и папа или мама купят такую цацку. Прежде чем заплатить 100 долларов я прошерстил все доступные магазины и.. ничего не нашел, даже у китайцев. Они прекратили поставку таких модулей. Почему? Вопрос. Только в Чипе и Дипе завалялся только один, да и цена 2590 руб. Короче говоря, давайте не ждать милости от правительства и чиновников. Изучайте по возможности все доступные вам современные ИТ технологии и делитесь знаниями, которые как известно БЕСЦЕННЫ.
P.S.
Кстати говоря, я недавно выложил на этом форуме и еще на форуме электриков свой проектик
http://arduino.ru/forum/proekty/monitoring-elektricheskoi-nagruzki-ofisa
http://www.electric-house.ru/forum/viewtopic.php?f=43&t=6895
так один из посетителей пожурил меня, мол, зачем изобретать то, что продается на что я ему возразил, что мое решение обошлось в 3000 руб., а покупное с подобными функциями начинается от 100 000, но, по крайней мере, мне не удалось найти дешевле. Ну, пусть может быть от 50 000, но от этого не легче. Это я просто к вопросу о реакции различных людей на такие вот «экономические» вопросы.
Мертворожденное решение с самого начала. Об этом красноречиво свидетельствует тот факт, что за все время его существования, на нем так и не появилось никаких интересных проектов. У меня вообще есть серьезное подозрение, что атмега слепила этот чип для галочки. Типа, есть у нас в портфолио и МК с передатчиком.
Это не вопрос. Это ответ. Нет спроса -- нет предложения. Уже одно это должно было заставить насторожиться.
Вам сюда -> http://arduino.ru/forum/otvlechennye-temy/kholivary-18
Мертворожденное решение с самого начала. Об этом красноречиво свидетельствует тот факт, что за все время его существования, на нем так и не появилось никаких интересных проектов. У меня вообще есть серьезное подозрение, что атмега слепила этот чип для галочки. Типа, есть у нас в портфолио и МК с передатчиком.
Если можно поподробнее, желательно со ссылками на источники.
Это не вопрос. Это ответ. Нет спроса -- нет предложения. Уже одно это должно было заставить насторожиться.
Да все есть, только не всем по карману.
http://ru.aliexpress.com/wholesale?catId=0&initiative_id=SB_201605252152...
Вам сюда -> http://arduino.ru/forum/otvlechennye-temy/kholivary-18
Спасибо за приглашение.
Только о чем нам спорить? Мы ведь любители. В какой руке держать паяльник решит каждый сам, а спорить о нанотехнологиях или методах современного программирования просто глупо. О таких вещах не спорят, а ведут диспуты.
Вот разобраться с непонятными для любителей вещами в области практических знаний, конкретно освоения Ардуино, это другое дело. Этому по большому счету и посвящен этот форум. Хотя, в приципе, от холиваров видимо никуда не деться, пусть "сражаются" в предложенном Yarik.Yar месте.
Лучше ничего не знать, чем знать многое наполовину! Лучше быть глупцом на свой риск, чем мудрецом на основании чужих мнений.
Фридрих Ницше.
Поподробнее про что? Про интересные проекты на mega128rfa1 ? Так их нет и ссылок на то, чего нет, не может быть в приципе.
Зачем вы эту глупость из раза в раз повторяете? Тем более, что не можете знать, чего там у всех в карманах.
Одно предложение и ноль продаж. Для сравнения, первое, что под руку попало там же:
Кто-то покупает. Находится, выходит мелочишка по карманам для покупки такой ерунды, а вот на расчудесные 128rfa1 так и нет ни у кого денег. Знаете почему? Потому, что rfa1 -- это старый чип. И zigbee там старый -- IEEE 802.15.4-2006/2003. И основной вкусности ZigBee -- меш-сетей -- в нем нет. Самопальная атмеловская софтверная меш-сеть не в счет. Грубо говоря, ZigBee там похож на блютуз, только хуже.
Вы говорите, что на "на дешевке в космос не полетишь" и покупаете за умопомрачительную цену старье. На старье собрались лететь? Вам известно, что после RFA1 атмега выпустила RFR2, где учла (насколько смогла) все горбыли предыдущей версии? Знаете ли вы, что оригинальная атмеловская ознакомительная борда ATMEGA256RFR2-XPRO
стоит столько же, сколько купленный вами спаркфановский красный кусок текстолита с припаянной туда старой rfa1? Я не случайно так пренебрежительно говорю о SparkFun ATmega128RFA1 потому, что в отличии от нее амтеговская плата имеет на борту более новый и более мощный чип (atmega256rfr2), два варианта подключения антенны, сенсор температуры, USB-разъем для подключения к компу и, главное, встроенный отладчик. Понимаете ли вы теперь, что вы просто выкинули деньги на ветер и никакими пафосными речами это не прикрыть?
Вы говорите, что на "на дешевке в космос не полетишь" и покупаете за умопомрачительную цену старье. На старье собрались лететь? Вам известно, что после RFA1 атмега выпустила RFR2, где учла (насколько смогла) все горбыли предыдущей версии? Знаете ли вы, что оригинальная атмеловская ознакомительная борда ATMEGA256RFR2-XPRO
стоит столько же, сколько купленный вами спаркфановский красный кусок текстолита с припаянной туда старой rfa1? Я не случайно так пренебрежительно говорю о SparkFun ATmega128RFA1 потому, что в отличии от нее амтеговская плата имеет на борту более новый и более мощный чип (atmega256rfr2), два варианта подключения антенны, сенсор температуры, USB-разъем для подключения к компу и, главное, встроенный отладчик. Понимаете ли вы теперь, что вы просто выкинули деньги на ветер и никакими пафосными речами это не прикрыть?
Спасибо за критику. Правда про космос Вы ничего не поняли, а скорее я не так изложил, да и ладно. Это не тема этого форума. Спасибо, что заботитесь о моем кошельке. Это приятно. Согласен, что проглядел прогресс в этом направлении и благодарен за поправку. Если будет время и средства, а главное не пропадет интерес то обязательно приобрету парочку таких модулей. Результатами обещаю поделиться. Вы не желаете принять участие в испытаниях? С таким коллегой как Вы это было бы, уверен, продуктивно.
Тут вот какое дело: беспроводные решения атмеги и раньше особо не блистали, а теперь, после покупки атмеги микрочипом и вовсе перспективы не ясные. Если бы мне вдруг отчего-то нестерпимо захотелось покрутить какую-нибудь беспроводную борду, то я бы стал искать что-то у других производителей. Сейчас все ринулись разрабатывать решения для "интернета вещей" и предложений на рынке хватает. Например, любопытным может показаться TI-шный Sensor Tag 2 CC2650STK:
За $29 TI предлагает саму плату с десятью сенсорами на борту (термометр, барометр, пирометр, гигрометр, люксметр, магнитометр, акселерометр, гироскоп и цифровой микрофон) и держателем батарейки C2032, плюс корпус. Все это дело снабжено средствами разработки и интеграции в мобильные приложения, веб и облачные сервисы. СС2650 поддерживает беспроводныую передачу в нескольких стандартах: BlueTooth Smart, ZigBee, 6LoWPAN и хрен пойми чего еще.
На ютубе можно найти многочисленные видео с тем, как это работает (например). Посмотрите, полистайте, может и до вас дойдет, что я имел ввиду под "выброшенными деньгами на ветер" в вашем случае.
Это все понятно, коллега, но здесь мы как бы обсуждаем и показываем все касательно технологии Ардуино.
А как у Вас DHT-22 на улице живет? Не заливает? Он же не герметичен, да и минусовую температуру плохо держит...
А что за плата в основе положена? Характеристики посмотреть бы...
А как у Вас DHT-22 на улице живет? Не заливает? Он же не герметичен, да и минусовую температуру плохо держит...
А что за плата в основе положена? Характеристики посмотреть бы...
Да пока живет. Планирую заменить на DHT-21, но пока так. Просто обернут салфеткой. Вижу, что прибрехивает. Плата на Atmega128RF1A описана выше.
Что мешает "технологии ардуино" использовать cc2650, как автономный беспроводной датчик (набор датчиков в одном устройстве)? Подцепляем к ардуине BLE-модуль
и рулим cc2650, как потребуется. Кстати сказать, такую железку надо было покупать вместо HC-05 или HC-06. Оно и подешевле и попродвинутей. Еще я как-то упустил раньше, но теперь вернусь: как вы ухитрились прийти к выводу, что HC-05 дешевле NRF24L01 ? На али модули NRF24L01 дешевле HC-05 раза в четыре.
Что мешает "технологии ардуино" использовать cc2650, как автономный беспроводной датчик (набор датчиков в одном устройстве)? Подцепляем к ардуине BLE-модуль
и рулим cc2650, как потребуется. Кстати сказать, такую железку надо было покупать вместо HC-05 или HC-06. Оно и подешевле и попродвинутей. Еще я как-то упустил раньше, но теперь вернусь: как вы ухитрились прийти к выводу, что HC-05 дешевле NRF24L01 ? На али модули NRF24L01 дешевле HC-05 раза в четыре.
Спасибо за информацию, коллега. Очень прошу Вас в дальнейшем оставить в стороне вопросы наших кошельков и цен. Лично меня это мягко говоря бодрит. Давайте остановимся на технических вопросах. Итак.
Скажите, пожалуйста, вот Вы лично работали с перечисленными модулями практически? Что касается меня, то я стараюсь останавливать свой выбор на устройствах с максимальной интеграцией функционала. Кстати говоря этим и был обоснован выбор модуля от SparkFun. Простой практический момент с какими уровнями логики работает модуль или контроллер. К примеру для NRF24L01 интерфейс взаимодействия с микроконтроллером- SPI (7 выводов) выводы толеранты к 5 вольтам,
напряжение питания : 3-3.6В (рекомендуется 3,3) В. При попытке подключения 5 В вывод из строя маловероятен,но работать устройство отказывается. Это выдержка из технического описания, сам я с NRF24L01 не работал, может все будет нормально, но это настораживает. Т.е. желательно предусмотреть конвертер логических уровней. Опять же 5 пинов информации. Ох, а это доложу я Вам это небольшой, но геморой. Для НС05 06 снова надо преобразовывать от 5 к 3.3 при подключении к 5-и вольтовому контроллеру, хотя утешает, что работают по последовательному интерфейсу, но с другой стороны при этом возникают другие воросы при программировании, а может быть, что все будет хорошо, не работал не знаю, надо пробовать. С СС2541 тоже не работал, но предчувствую тоже придется покопаться в конструкции, но кудаж без этого. Вот и остановился в вопросе освоения Блютуза так не понравившйся Вам модуль от SparFun. Там все просто. Все в одном флаконе. Заработал сразу, хотя с передачей и приемом пришлось покувыркаться. Зато теперь слегка в курсе дела и готов к освоению других более продвинутых продуктов. Мы же не проессионалы, а любители. Что понравилось, то и юзаем.
Лично меня радует появление серии продуктов на основе ESP8266. В своем последнем проекте по мониторингу электропитания я применил такой модуль. Планирую упростить конструкцию отказавшись от меги2560, хотя придется использовать, например, Attiny85. ESP8266 содержит только один АЦП. Испытания уже провожу.
Вот прмерно так, коллега, я смотрю на этот вопрос.
Лично меня радует появление серии продуктов на основе ESP8266.
Лично меня - ESP8266 совсем не радует. Критерий простой - низкая надёжность и малая наработка на отказ. Если вам это не критично - можно раз в пару месяцев (как повезёт, в общем) менять модули в устройстве. Никому ничего не навязываю, но пока рассматриваю ESP исключительно как игрушку для взрослых дяденек, но никак не для долгоиграющих проектов.
З.Ы. Щас набегут влюблённые в ESP и будут меня опровергать :)
Лично меня - ESP8266 совсем не радует. Критерий простой - низкая надёжность и малая наработка на отказ. Если вам это не критично - можно раз в пару месяцев (как повезёт, в общем) менять модули в устройстве. Никому ничего не навязываю, но пока рассматриваю ESP исключительно как игрушку для взрослых дяденек, но никак не для долгоиграющих проектов.
З.Ы. Щас набегут влюблённые в ESP и будут меня опровергать :)
Интересно, интересно. Спасибо за критическое замечание.Вот уже месяц модуль трудится в проекте. Посмотрим сколько протянет.
Слово "кошелек" встречается в этой ветке форума трижды, причем, все три раза исключительно в ваших сообщениях. В этой связи мне не понятно, с чего вы решили, что меня хоть сколько-нибудь интересует данный вопрос.
"Вопросы цен" тоже не с меня начались. С самого первого сообщения и далее, вы охотно описывали, что и сколько стоит, но когда возник вопрос обоснования цены и соответствие ее техническим показателям, вас резко начали беспокоить различные "бодрящие" ощущения. В такой переменчивости вашей позиции просматривается, как минимум, непоследовательность.
В этой ветке к "перечисленным модулям" можно отнести довольно много разных устройств. С частью из них я имею опыт работы, с частью знаком лишь теоретически. Вы о чем конкретно спрашиваете?
"Максимальная интеграция функционала" -- это cc2650stk -- Cortex-M3 48мгц, отельная автономная Sensor Controller Engine, десять датчиков на борту и беспроводная связь в нескольких различных стандартах. К функционалу можно еще добавить в разы большую энегроэффективность по сравнению с rfa1. Как хотите, но спаркфановский модуль выглядит тут убогим калекой, а не устройством с "максимальной интеграцией функционала".
Еще можно сказать, что "максимальная интеграция" далась спаркфанам большой ценой. Фрики предостерегают, что модуль проектировали люди, скорее всего вообще никогда ранее не имевшие дела с дизайном радиочастотных устройств. Одно то, что антенну расположили чуть не "в обнимку" с разъемами и прочими компонентами, говорит о том, что эффективность у нее будет никакая, а параметры неизбежно поплывут. На том же атмеловском rfr2, не в пример спаркфанам, антенна выполнена по всем правилам и максимально удалена от компонентов схемы.
Вообще-то, четыре.
...
желательно предусмотреть конвертер логических уровней. Опять же 5 пинов информации. Ох, а это доложу я Вам это небольшой, но геморой.
Вы докладывайте о том, что вам известно доподлинно, а не фантазируйте на произвольные темы. Никакого согласования уровней не требуется. Трехвольтовый NRF24L01 работает с пятивольтовым ардуиной "ис каропки", чему есть миллион подтверждений на всех ардуиновских форумах. У меня пятивольтовая мега8 работает с китайскими NRF24L01 полтора месяца не выключаясь без каких бы то нибыло преобразователей:
Если существует необъяснимая водобоязнь перед сопряжением пятивольтовых МК и трехвольтовых модулей, то ничего не мешает использовать трехвольтовую ардуину, где никаких проблем в этом смысле не существует.
Все забываю спросить, исходя из каких заблуждений вы уже не в первый раз порываетесь сообщить, что в rfa1 есть блютуз?