ПыСы. Чайник пока полный.
JY-MCU 3208 на DS3231 или JY-MCU 3208pro
- Реклама
Это скорее всего проблемы кварца.
При таких фьюзах мега работает от внешнего кварца.
Может без конденсаторов 22 пф не запускается.
При таких фьюзах мега работает от внешнего кварца.
Может без конденсаторов 22 пф не запускается.
Конденсаторы помогли. Плата завелась. Часы пошли. Жду теперь датчик давления.
Температуру так и не прикрутили пока?
Температуру так и не прикрутили пока?
Появилось время, пропало вдохновение.
Не знаю когда реализую, как только так сразу.
Не знаю когда реализую, как только так сразу.
- Реклама
В начале исходника написано что куда подключается
R11 фоторезистор GL5516 (10kOm)один конец на VСС, второй на порт PC1(24 нога) ADC1 и при этом порт подключаем через R12 (10 kOm) на GND.
R11 фоторезистор GL5516 (10kOm)один конец на VСС, второй на порт PC1(24 нога) ADC1 и при этом порт подключаем через R12 (10 kOm) на GND.
У меня немного другая плата. На 24 у меня разведен термодатчик. А фоторезистор похоже на 22 висит.
Изначально не обратил внимание что JY-MCU 3208 и JY-MCU 3208pro имеют отличие в подключении периферии.
По этому появились некие неувязочки. Подключайте на ADC1 (24 нога) или надо менять в прошивке под Вашу плату (JY-MCU 3208pro) ,переназначать АЦП.
поправил для платы JY-MCU 3208pro на этой прошивке фоторезистор нужно цеплять на 22 ногу как на схеме.
По этому появились некие неувязочки. Подключайте на ADC1 (24 нога) или надо менять в прошивке под Вашу плату (JY-MCU 3208pro) ,переназначать АЦП.
поправил для платы JY-MCU 3208pro на этой прошивке фоторезистор нужно цеплять на 22 ногу как на схеме.
Я правильно понимаю, что датчик давления подключать параллельно модулю часов?
Прикрутил датчик давления. Работает. Прикольно.
Как можно корректировку давления сделать? А то у меня на 3 мм отличается от телефона. Хотя, может и телефон врет. Но наверняка их калибруют как то.
За какой период определяет изменение давления?
ПыСы. Ждем, когда автора посетит муза. Хочется расширения функционала.
Как можно корректировку давления сделать? А то у меня на 3 мм отличается от телефона. Хотя, может и телефон врет. Но наверняка их калибруют как то.
За какой период определяет изменение давления?
ПыСы. Ждем, когда автора посетит муза. Хочется расширения функционала.
Вывел температуру с датчика давления.
Все же не понятно, как считает порог от которого уменьшается давление. Похоже всегда от 760мм.
Подстроить давление получилось. А вот температуру нет. Врет зараза.
Все же не понятно, как считает порог от которого уменьшается давление. Похоже всегда от 760мм.
Подстроить давление получилось. А вот температуру нет. Врет зараза.
Это как получилось подключить датчик температуры, что за датчик (тип), как удалось вывести индикацию, как корректировали показания датчика давления?
Датчик давления может выдавать и показания температуры. В исходнике автора это всё есть. Я тупо в строку, в которой показывется давление, дописал температуру.
Код: Выделить всё
bmp180Convert(&pressure_,&temperature_bmp);
pressure_-= pressure_korrect; //Это значние надо подбирать(т.к у датчиков есть погрешность),калибровать образцовым барометром
// temperature_bmp -= temperature_korrect; //Это значние надо подбирать(т.к у датчиков есть погрешность),калибровать образцовым барометром
// temper_ = temperature_bmp;
if(p_atm_2[0]!= pressure_){cmp_patm=1;} else {cmp_patm=0;} ;
#asm("sei")
beg_stroka((" атм.давление "),speed_beg);
if(cmp_patm) {
if((p_atm_2[5])<(pressure_)) { temp1=15;beg_stroka(&temp1,speed_beg);} //увеличилось стрелка вверх
else { temp1=16;beg_stroka(&temp1,speed_beg);}; //уменьшилось стрелка вниз
};
temp1=convert_digit((pressure_/1000)%10); //сотни давления
beg_stroka(&temp1,speed_beg);
temp1=13; beg_stroka(&temp1,speed_beg);
temp1=convert_digit((pressure_/100)%10);
beg_stroka(&temp1,speed_beg);
temp1=13; beg_stroka(&temp1,speed_beg);
temp1=convert_digit((pressure_%100)/10);
beg_stroka(&temp1,speed_beg);
temp1=13; beg_stroka(&temp1,speed_beg);
beg_stroka((","),speed_beg);
temp1=13; beg_stroka(&temp1,speed_beg);
temp1= convert_digit(pressure_%10);
beg_stroka(&temp1,speed_beg);
temp1=13; beg_stroka(&temp1,speed_beg);
beg_stroka(("мм "),speed_beg);
if( p_atm_2[5] < pressure_) { temp_p1= pressure_ - p_atm_2[5]; } //увеличилось
else{if( p_atm_2[5] > pressure_) { temp_p1 = p_atm_2[5] - pressure_ ;}}; //уменишилось
//
// if(temp_p1>10){
//
// if( p_atm_2[5] < pressure_) { beg_stroka(" увеличилось на ",speed_beg);} //увеличилось
// else{ beg_stroka(" уменьшилось на ",speed_beg);}; //уменишилось
// temp1=13; beg_stroka(&temp1,speed_beg);
// if(temp_p1>99){
// temp1=convert_digit(temp_p1/100);
// beg_stroka(&temp1,speed_beg);
// temp1=13; beg_stroka(&temp1,speed_beg);
// };
// temp1=convert_digit((temp_p1/10)%10);
// beg_stroka(&temp1,speed_beg);
// temp1=13; beg_stroka(&temp1,speed_beg);
// beg_stroka((","),speed_beg);
// temp1=13; beg_stroka(&temp1,speed_beg);
// temp1= convert_digit(temp_p1%10);
// beg_stroka(&temp1,speed_beg);
// temp1=13; beg_stroka(&temp1,speed_beg);
// beg_stroka(("мм "),speed_beg);
// };
//
beg_stroka((" будет "),speed_beg);
if(pressure_>7670) {beg_stroka(("солнечно "),speed_beg);};
if(pressure_<7670 && pressure_>7530){beg_stroka(("облачно с прояснениями "),speed_beg);};
if(pressure_<7530 && pressure_>7370){beg_stroka(("облачно "),speed_beg);};
if(pressure_<7370){beg_stroka(("с осадками "),speed_beg);};
beg_stroka((" t в доме "),speed_beg);
if((temperature_bmp)<(0)) { beg_stroka("- ",speed_beg);} // -
else { beg_stroka("+ ",speed_beg);}; //+
//temp1=convert_digit((temperature_bmp/1000)%10); //сотни давления
//beg_stroka(&temp1,speed_beg);
//temp1=13; beg_stroka(&temp1,speed_beg);
temp1=convert_digit(((temperature_bmp)/100)%10);
beg_stroka(&temp1,speed_beg);
temp1=13; beg_stroka(&temp1,speed_beg);
temp1=convert_digit(((temperature_bmp)%100)/10);
beg_stroka(&temp1,speed_beg);
temp1=13; beg_stroka(&temp1,speed_beg);
beg_stroka((","),speed_beg);
temp1=13; beg_stroka(&temp1,speed_beg);
temp1= convert_digit((temperature_bmp)%10);
beg_stroka(&temp1,speed_beg);
temp1=13; beg_stroka(&temp1,speed_beg);
//temp1= convert_digit(temperature_bmp);
beg_stroka(("°С "),speed_beg);
};
};
};
За корректировку показаний давления отвечает переменная "pressure_korrect". У меня она получилась равная 3.
С температурой так не вышло почему то. Я ее тупо откорректировал в модуле BMP180.c
отнял значение 30. Что соответствует трем градусам.
Понятно что всё коряво. Нифига не программист в этой области.
С температурой так не вышло почему то. Я ее тупо откорректировал в модуле BMP180.c
Код: Выделить всё
*temperature = (((b5 + 8) >> 4)-30);
Понятно что всё коряво. Нифига не программист в этой области.
От нечего делать занялся добавлением поддержки JY-MCU 3208pro (тоже купил в Китае) в своём проекте часов.
Благо, и кнопок тут столько же, и "пищалка" есть, и термодатчики / часы практически те же.
Благо, и кнопок тут столько же, и "пищалка" есть, и термодатчики / часы практически те же.
Вот, набросал тестовую прошивку.
На JY-MCU 3208pro из непонятно каких соображений SDA/SCL сигналы для RTC DS3231 заведены не на соответствующие аппаратные ножки МК, а на случайные ноги.
В моей прошивке пока используется аппаратный TWI, поэтому RTC нужно подключить именно на PC4/PC5. Там пятачки для этого предусмотрены. Либо, если DS3231 уже распаяна, надо соединить PC4 с PB2 (SDA), PC5 с PB0 (SCL). Ну и не забыть про резисторы R19 и R20 (10кОм).
Термодатчик DS18B20 запаивается в предназначенное для него место (PC1 = DQ + резистор подтяжки R13).
Позже напишу код для программного I2C и доработаю прошивку так, чтобы не приходилось паять перемычки для I2C.
На JY-MCU 3208pro из непонятно каких соображений SDA/SCL сигналы для RTC DS3231 заведены не на соответствующие аппаратные ножки МК, а на случайные ноги.
В моей прошивке пока используется аппаратный TWI, поэтому RTC нужно подключить именно на PC4/PC5. Там пятачки для этого предусмотрены. Либо, если DS3231 уже распаяна, надо соединить PC4 с PB2 (SDA), PC5 с PB0 (SCL). Ну и не забыть про резисторы R19 и R20 (10кОм).
Термодатчик DS18B20 запаивается в предназначенное для него место (PC1 = DQ + резистор подтяжки R13).
Позже напишу код для программного I2C и доработаю прошивку так, чтобы не приходилось паять перемычки для I2C.
- Вложения
-
- matrixclock-ht1632.7z
- (8.15 КБ) 396 скачиваний
Т.е. если сейчас RTC распаяно, как на стоковой схеме, то работать не будет?
Не хотелось бы уже переделывать.
Не хотелось бы уже переделывать.


