Перейти к контенту
МОРСКОЙ АКВАРИУМ - форум Аква Лого

Как Несколько способов определения пола у рыб: по отличающейся окраске; по размеру; по форме плавников; по различным выростам/наростам, например, жировым шишкам на лбу у фловер хорнов.
Аквариумисты моего поколения прекрасно помнят, как везли рыбок с «Птичьего рынка» или из зоомагазина на Арбате домой в 70-е годы прошлого века. В литровой банке, замотанной в шарф и засунутой под куртку.

avp8853

Пользователи
  • Число публикаций

    19
  • Регистрация

  • Последнее посещение

Репутация

0 Обычный

О avp8853

  • Звание
    Матрос

Информация

  • Город
    Пятигорск
  1. Вадим спасибо конечно за ответ, может я не так выразился, считывать в консоль можно и так awk '{print}' /dev/ttyACM0, я подключил через USB а не через Uart, не могу вывести данные в web.
  2. Вадим, никак не могу считать лог работы Дуины через web, установил сервер, подружил Дуину с ним, вроде все сделал как ты писал #1760 подскажи где копать.
  3. Насколько я понимаю это переходной шилд для экрана. Спасибо за разъяснения!!!!!!!!!!!!!!!!!!!!
  4. Очень Очень здорово, можно и не один раз похвастаться тем более есть чем.
  5. case 20: // Timer 1 break; case 21: // Резерв break; case 22: // Резерв break; case 23: // Резерв break; case 24: // Резерв break; case 25: // Резерв break; case 26: // Timer 11 break; case 27: // Timer 2 break; case 28: // Timer 3 break; case 29: // Timer 4 break; case 30: // Timer 5 break; case 31: // ручное управление таймерами break; case 32: // экран настройки яркости луны break;
  6. svyaz Это я сделал, мне непонятно почему или строки не обновляются или кнопок не видно. // Таймеры uint8_t timer1 = A0; // Таймер1 pin analog 0 uint8_t timer2 = A0; // Таймер2 pin analog 0 Это понятно что все таймеры можно повесить на один пин. Мне 5 таймеров мало.
  7. svyaz вопрос? В твоем скетче есть строки таймера void light1set() { printFramework(); printPicture(); printButGreen(print_text[67]); printButRed(print_text[68]); PrintStringIndex=18; printHeader (); printButton(print_text[2], back[0], back[1], back[2], back[3], SMALL); printButton(print_text[3], prSAVE[0], prSAVE[1], prSAVE[2], prSAVE[3], SMALL); printButton(print_text[1], canC[0], canC[1], canC[2], canC[3], SMALL); printButton("", nextT[0], nextT[1], nextT[2], nextT[3], SMALL); printTimernumber(print_text[47]); myGLCD.setColor(0, 255, 255); timer1Change(); } void timer1Change(){ printFont(); if (on1/60<10){ myGLCD.print(print_text[187], 27, 100); myGLCD.printNumI(on1/60,44, 100);} else { myGLCD.printNumI(on1/60,27, 100);} if (on1-((on1/60)*60)<10){ myGLCD.print(print_text[187], 95, 100); myGLCD.printNumI(on1-((on1/60)*60),112, 100);} else { myGLCD.printNumI(on1-((on1/60)*60),95, 100);} if (off1/60<10){ myGLCD.print(print_text[187], 193, 100); myGLCD.printNumI(off1/60,210, 100);} else { myGLCD.printNumI(off1/60,193, 100);} if (off1-((off1/60)*60)<10){ myGLCD.print(print_text[187], 262, 100); myGLCD.printNumI(off1-((off1/60)*60),279, 100);} else { myGLCD.printNumI(off1-((off1/60)*60),262, 100);} } case 20: // Timer 1 // Часы включения (плюс) if (x>20 && x<68 && y>44 && y<75){on1=on1+60;} // Часы включения + if (x>20 && x<68 && y>149 && y<180){on1=on1-60;} // Часы включения - // Минуты включения (плюс) if (x>89 && x<137 && y>44 && y<75){on1++;} // Минуты включения + if (x>89 && x<137 && y>149 && y<180){on1--;} // Минуты включения - // Часы выключения if (x>185 && x<233 && y>44 && y<75){off1=off1+60;} // Часы выключения + if (x>185 && x<233 && y>149 && y<180){off1=off1-60;}// Часы выключения - // Минуты выключения if (x>255 && x<303 && y>44 && y<75){off1++;} // Минуты выключения + if (x>255 && x<303 && y>149 && y<180){off1--;} // Минуты выключения - if (on1<0){on1=1439;} // кнопка (плюс) ON if (on1>1439){on1=0;} // кнопка (минус) ON if (off1<0){off1=1439;} if (off1>1439){off1=0;} // установки таймера освещения канала 1 timer1Change(); _delay_ms(100); if ((x>=back[0]) && (x<=back[2]) && (y>=back[1]) && (y<=back[3])){ // press back waitForIt(back[0], back[1], back[2], back[3]); dispScreen=19; clearScreen(); TimerScreen(); } else // Суточные Таймеры // переход if ((x>=nextT[0]) && (x<=nextT[2]) && (y>=nextT[1]) && (y<=nextT[3])){ // press next waitForIt(nextT[0], nextT[1], nextT[2], nextT[3]); dispScreen=26; clearFscreen(); timer11Change(); } else // возврат в меню cуточных таймеров if ((x>=prSAVE[0]) && (x<=prSAVE[2]) && (y>=prSAVE[1]) && (y<=prSAVE[3])){ // press SAVE waitForIt(prSAVE[0], prSAVE[1], prSAVE[2], prSAVE[3]); SaveTimerEEPROM(); _delay_ms(10); clearScreen(); dispScreen=19; TimerScreen();} break; Я добавляю к первому таймеру void light11set(){ printFramework(); printPicture(); printButGreen(print_text[67]); printButRed(print_text[68]); PrintStringIndex=18; printHeader (); printButton(print_text[2], back[0], back[1], back[2], back[3], SMALL); printButton(print_text[3], prSAVE[0], prSAVE[1], prSAVE[2], prSAVE[3], SMALL); printButton(print_text[1], canC[0], canC[1], canC[2], canC[3], SMALL); printTimernumber(print_text[48]); myGLCD.setColor(0, 255, 255); timer11Change(); } void timer11Change(){ printFont(); if (on11/60<10){ myGLCD.print(print_text[187], 27, 100); myGLCD.printNumI(on11/60,44, 100);} else { myGLCD.printNumI(on11/60,27, 100);} if (on11-((on11/60)*60)<10){ myGLCD.print(print_text[187], 95, 100); myGLCD.printNumI(on11-((on11/60)*60),112, 100);} else { myGLCD.printNumI(on11-((on11/60)*60),95, 100);} if (off11/60<10){ myGLCD.print(print_text[187], 193, 100); myGLCD.printNumI(off11/60,210, 100);} else { myGLCD.printNumI(off11/60,193, 100);} if (off11-((off11/60)*60)<10){ myGLCD.print(print_text[187], 262, 100); myGLCD.printNumI(off11-((off11/60)*60),279, 100);} else { myGLCD.printNumI(off11-((off11/60)*60),262, 100);} } case 26: // Timer 11 // Часы включения (плюс) if (x>20 && x<68 && y>44 && y<75){on11=on11+60;} // Часы включения + if (x>20 && x<68 && y>149 && y<180){on11=on11-60;} // Часы включения - // Минуты включения (плюс) if (x>89 && x<137 && y>44 && y<75){on11++;} // Минуты включения + if (x>89 && x<137 && y>149 && y<180){on11--;} // Минуты включения - // Часы выключения if (x>185 && x<233 && y>44 && y<75){off11=off11+60;} // Часы выключения + if (x>185 && x<233 && y>149 && y<180){off11=off11-60;}// Часы выключения - // Минуты выключения if (x>255 && x<303 && y>44 && y<75){off11++;} // Минуты выключения + if (x>255 && x<303 && y>149 && y<180){off11--;} // Минуты выключения - if (on11<0){on11=1439;} // кнопка (плюс) ON if (on11>1439){on11=0;} // кнопка (минус) ON if (off11<0){off11=1439;} if (off11>1439){off11=0;} // установки таймера освещения канала 1 timer11Change(); _delay_ms(100); if ((x>=back[0]) && (x<=back[2]) && (y>=back[1]) && (y<=back[3])){ // press back waitForIt(back[0], back[1], back[2], back[3]); dispScreen=20; clearScreen(); timer1Change(); } else // Суточные Таймеры // возврат в меню cуточных таймеров if ((x>=prSAVE[0]) && (x<=prSAVE[2]) && (y>=prSAVE[1]) && (y<=prSAVE[3])){ // press SAVE waitForIt(prSAVE[0], prSAVE[1], prSAVE[2], prSAVE[3]); SaveTimerEEPROM(); _delay_ms(10); clearScreen(); dispScreen=19; TimerScreen(); } break; Идея такая, у меня пресный аквариум, стоит авто кормушка, корм высыпается по расписанию в 08.00 и 20.00, я хочу на таймер 1 повесить фильтр, чтоб он включался 06.00 выключался 07.50 включался 08.20 выключался 19.50 включался 20.20 и выключался 22.00. Если в скетче я в строках таймера убираю clearScreen(); то при нажатии перехода от одного суточного таймера в другой не обновляются надписи, если оставляю clearScreen(); показывает на экране только цифры таймера, ни больше ни чего, ни кнопок ни стрелок ничего. Помоги разобраться с этим.
  8. 1. Скачать из http://reefcentral.r...t-olega/page-25 сообщение #483 архив.
  9. Ты где его взял? Там много надо править, оно того не стоит.
  10. Выложи сюда я постараюсь поправить и вернуть так проще.
  11. найди #include <ITDB02_Graph16.h> и вот это ITDB02 myGLCD(38,39,40,41,ITDB32S); замени на #include <UTFT.h> UTFT myGLCD(ITDB32S, 38,39,40,41);
  12. Все содержимое закинь в папку libraries libraries.rar
  13. Скачай arduino-1.0.5 запусти через него и будет тебе счастье.
×
×
  • Создать...