-
Постов
1 641 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
Тип контента
Профили
Форумы
Блоги
Сообщения, опубликованные IIIytNIK
-
-
А для каких целей корпуса? Обязательно наличие заземляющего контакта?
Ну а так, первое что попалось в гугеле:
0 -
К другому компьютеру пробовали подключать?
0 -
ЛюдЯм которые режут пружины нужно дать по голове этой книгой.
0 -
Этих тем ежегодно по десятку вылезает...
Пару лет может быть и было актуально, но сегодня нет, потому что:
1)Это никому не нужно
2)Большинство устройств на Android поддерживает USB-OTG
3)Есть видеорегистраторы со встроенными жесткими дисками форм-фактора 2,5"
Вместо видеорегистратора, кстати говоря, можно использовать тот же Raspberry PI или CubieBoard. производительности хватает. Проверено.
0 -
Челябинск сила. Родину уважаю.
А я вот недавно к вам ездил, в Дармштадт. В Брунсбюттель я бы не смог заехать, далеко, зато в музей в Зинсхайме свозили
0 -
Вообще ремонт кнопки затвора(замена) в АСЦ стоит от 3000 до 5000 рублей. У меня в свое время был древнейший Canon EOS 10D, тоже проблема была с кнопкой - срабатывала через раз. В СЦ предложили заменить блок с кнопкой за 3500р, на что я естественно отказался. В итоге вылечил залив в кнопку изопропиловый спирт и хорошенько понажимав её.
В вашем случае варианты такие:
Обратиться в АСЦ
Попробовать промыть кнопку изопропиловым спиртом. Если не получится, то разобрать её и прочистить механически (терять уже нечего)
Попробовать заменить её на такую кнопку (должна подойти)
0 -
А что с кнопкой произошло, что вы решили её заменить?
0 -
Это не тактовая кнопка.
AndreV09, модель камеры какая?
1 -
Я так понял, это жилая комната?
0 -
Любой mini pci-e WiFi модуль
0 -
Катодный бы вообще не пахал. Где-то он скорее всего забыл инвертировать "~".
Ну и для нуждающихся исправленный исходник:
/***************************************************** This program was produced by the CodeWizardAVR V2.04.4a Advanced Project : Мини термометр Version : Date : 24.04.2010 Author : Pervakov Danil Chip type : ATtiny2313 AVR Core Clock frequency: 4,000000 MHz Memory model : Tiny External RAM size : 0 Data Stack size : 32 *****************************************************/ // // Fuse CKSEL = 0010, SUT = 10 (Int.RC 4 MHz) // // EEPROM usage: 0 byte(s), 0,0% of EEPROM // Program size: 829 words (1658 bytes), 81,0% of FLASH // // Датчики DS18S20 и/или DS18B20 - (PORTD bit 6) // // сердце - не Пентиум и не Атлон и частота не в ГГц, но если вспомнить IBM PC XT с его Intel 8088 #include <tiny2313.h> // 1 Wire Bus functions #asm .equ __w1_port=0x12 ;PORTD .equ __w1_bit=6 #endasm // DS18x20 Temperature Sensor functions #include "ds18x20_v2.h" #include <delay.h> #include <bcd.h> //--------------------------------------- #define A 2 #define B 32 #define C 4 #define D 64 #define E 128 #define F 1 #define G 1 static flash unsigned char digits_PA[] = { (A+F), // 0 (0), // 1 (A), // 2 (A), // 3 (F), // 4 (A+F), // 5 (A+F), // 6 (A), // 7 (A+F), // 8 (A+F), // 9 (A+F), // A - 10 (F), // b - 11 (A+F), // C - 12 (0), // d - 13 (A+F), // E - 14 (A+F), // F - 15 (0), // 16 - знак минус (A+F), // 17 - символ градус цельсия (0) // 18 - пусто }; static flash unsigned char digits_PB[] = { (B+C+D+E), // 0 (B+C), // 1 (B+D+E+G), // 2 (B+C+D+G), // 3 (B+C+G), // 4 (C+D+G), // 5 (C+D+E+G), // 6 (B+C), // 7 (B+C+D+E+G), // 8 (B+C+D+G), // 9 (B+C+E+G), // A - 10 (C+D+E+G), // b - 11 (D+E), // C - 12 (B+C+D+E+G), // d - 13 (D+E+G), // E - 14 (E+G), // F - 15 (G), // 16 - знак минус (B+G), // 17 - символ градус цельсия (0) // 18 - пусто }; #define MINUS 16 #define GRADUS 17 #define PROBEL 18 #define SYMBOL_F 15 // K1 - PORTD.0-1, K2 - PORTD.2-3, K3 - PORTD.4-5 static flash unsigned char cursor[]={0b11111100, 0b11110011, 0b11001111}; unsigned char digit_out[3], cur_dig; bit zpt_ON; int temperature; // то, что возвращает датчик // maximum number of DS1820/DS18S20/DS18B20 devices connected to the 1 Wire bus #define MAX_DS18x20 4 // DS1820/DS18S20/DS18B20 devices ROM code storage area, 9 bytes are used for each device unsigned char rom_code[MAX_DS18x20][9]; // ---------------------------------------------------------------------------- // // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { //TCNT0=0xE6;// Reinitialize Timer 0 value PORTD&=0b11000000; // потушить все (биты всех знакомест "1" - для Общ.кат.) PORTA=~digits_PA[digit_out[cur_dig]]; // символ на экран PORTB=~digits_PB[digit_out[cur_dig]]; if ((zpt_ON == 1) && (cur_dig == 1)) PORTB.4=0; // запятая во втором разряде (нумерация нач. с нуля) PORTD |= ~(cursor[cur_dig]); // засветить нужный бит (бит знакоместа в "0" - для Общ.кат.) cur_dig++; if (cur_dig > 2) cur_dig=0; } // ---------------------------------------------------------------------------- void view_term(void) { unsigned char celie, drob, tmp; unsigned int temp, celie_tmp, drob_tmp; temp = (unsigned int) temperature; if (temperature>=0) { digit_out[0]=PROBEL; // первый символ (сотни) пустой } else { temp = ( ~temp ) + 0x0001; // если число отрицательное перевести его в норм.вид digit_out[0]=MINUS; // и высветить знак минус (в дальнейшем атрибут отр.темп.) }; //digit_out[3]=GRADUS; zpt_ON=1; celie_tmp = temp >> 4; // целая часть числа drob_tmp = temp & 0x000F; // дробная часть числа с точностью 1/16 градуса drob = (unsigned char) ((drob_tmp * 10) / 16); // преобразование дробной части в формате "1/16 градуса" в десятичный формат с точностью 0,1 градуса celie = (unsigned char) celie_tmp; // я люблю явное преведение типов if (celie >= 100) {tmp=bin2bcd(celie-100); digit_out[0] = 1; } else { tmp=bin2bcd(celie); } // вычислить целую часть if ((celie >= 100) || ((digit_out[0] == MINUS) && (celie >= 10))) { // если больше 100,0 гр. или если темп. меньше -10 точность 1 гр. zpt_ON=0; digit_out[1] = tmp >> 4; // десятки digit_out[2] = tmp & 0x0F; // единицы } if ((digit_out[0] == MINUS) && (celie < 10)) { // если темп.меньше 0 и больше -10 точность 0,1 гр. digit_out[1] = celie; // единицы digit_out[2] = drob; // дробная часть } if ((digit_out[0] == PROBEL) && (celie < 100)) { // если темп. меньше 100,0 гр и больше 0 гр точность 0,1 гр. if (tmp >> 4) digit_out[0] = tmp >> 4; // десятки - если десятков нет то и не показывать digit_out[1] = tmp & 0x0F; // единицы digit_out[2] = drob; // дробная часть } } // ------------------------------------------------------------------------- //================================== main ===================================== void main(void) { unsigned char i, ds18x20_devices; // Input/Output Ports initialization // Port A initialization PORTA=0x00; // State2=T State1=0 State0=0 DDRA=0x03; // Func2=In Func1=Out Func0=Out // Port B initialization PORTB=0x00; // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 DDRB=0xFF; // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // Port D initialization PORTD=0x3F;// State6=T State5=1 State4=1 State3=1 State2=1 State1=1 State0=1 DDRD=0xFF; // Func6=In Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out /* // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 3,906 kHz // Mode: Normal top=FFh // OC0A output: Disconnected // OC0B output: Disconnected TCCR0A=0x00; TCCR0B=0x05; TCNT0=0xE6; OCR0A=0x00; OCR0B=0x00; */ // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 62,500 kHz // Mode: Normal top=FFh // OC0A output: Disconnected // OC0B output: Disconnected TCCR0A=0x00; TCCR0B=0x03; TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock value: Timer1 Stopped TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // External Interrupt(s) initialization // INT0, INT1, Interrupt on any change on pins PCINT0-7: Off GIMSK=0x00; MCUCR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x02; // Universal Serial Interface initialization // Mode: Disabled USICR=0x00; // Analog Comparator initialization // Analog Comparator: Off ACSR=0x80; // 1 Wire Bus initialization w1_init(); // Determine the number of DS18x20 devices connected to the 1 Wire bus ds18x20_devices=w1_search(0xf0,rom_code); // Global enable interrupts #asm("sei") // высветить на индикаторе F 'кол-во найденых устройств' digit_out[0]=SYMBOL_F; digit_out[1]=PROBEL; digit_out[2]=ds18x20_devices; // т.к. при первом чтении датчиков считывается мусор // первое чтение датчиков делаем в холостую if (ds18x20_devices >= 1) { for (i=0;i<ds18x20_devices;i++) { // if (rom_code[i][0] == DS18B20_FAMILY_CODE){ // temperature=ds18b20_temperature(&rom_code[i][0]); // } if (rom_code[i][0] == DS18S20_FAMILY_CODE){ temperature=ds18s20_temperature(&rom_code[i][0]); } delay_ms(1000); } } else { delay_ms(2000); } // -------------------------------- рабочая часть ----------------------------------- while (1) { if (ds18x20_devices >= 1) { // если обнаружено больше одного датчика for (i=0;i<ds18x20_devices;) { if (rom_code[i][0] == DS18B20_FAMILY_CODE){ temperature=ds18b20_temperature(&rom_code[i][0]); } if (rom_code[i][0] == DS18S20_FAMILY_CODE){ temperature=ds18s20_temperature(&rom_code[i][0]); } if (temperature!=-9999) view_term(); delay_ms(2000); i++; } } };// ----------------------------- рабочая часть (end) ----------------------------------- } // =================================== end main ========================================= // // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= The End -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- //
0 -
Оригинальная разводка убогая и соответственно код из-за нее убогий. Зачем было распихивать пины сегментов на разные порты? UPD: Посмотрел плату из статьи - оригинально, конечно, но не всегда удобно.
0 -
У меня из-под коробки все нормально отображает
0 -
В протеусе проверяете?
Только что проверил - все нормально отображается при компилировании.
0 -
Из двух верхних резисторов получится еще одна печка
0 -
Это смотря какие обороты "двигателя" у паровоза
0 -
Если не секрет - зачем паровозу печка?
1 -
замена действия умножения на 5 на двойной сдвиг влево и сложение
У меги8 есть аппаратное умножение, поэтому можно обойтись без сдвигов со сложением, компилятор все делает сам.
0 -
Это антенна WiFi, цепляется непосредственно на wifi модуль.
1 -
-
-
Последнее изменение зачем?
if (cur_dig > 2) cur_dig=1;
0 -
но показывает каля-баля
Все же понятно - 32.8
0 -
ГОСПОДА! У Arduino UNO нет физического com-порта, она создает виртуальный com-порт.
Alpinist(Frank), у тебя в диспетчере устройств при подключении ардуины что-нибудь отображается?
0
Не Могу Найти Сом Порт Для Arduino
в Песочница (Q&A)
Опубликовано
Значит проблема с железом. Проверить питание на mega16, проверить кварц путем замены на заведомо рабочий, проверить дорожки на обрыв, может где-то пайка отвалилась, заменить mega16, только нужно будет предварительно прошить его бутлоадером.