• ×   Вставлено в виде отформатированного текста.   Восстановить форматирование

      Разрешено не более 75 смайлов.

    ×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Похожие публикации

    • Автор: Alexey104
      Всем привет!
      Возникла следующая проблема:
       
      Есть две ардуины 'Mega2560'. По несчастливому стечению обстоятельств данные платы попали в руки одному чуваку, который, вернув их, заявил, что они перестали работать после того, как он "чисто ради интереса" поковырял на обеих некоторые фьюзы. Есть у меня такой китайский usbasp v2 программатор:
      Подключив данный девайс к ICSP-пинам первой платы, удалось без проблем восстановить на ней загрузчик через стандартную Arduino-IDE, после чего работоспособность платы полностью восстановилась. Но вот при попытке сделать то же самое со второй платой, получаю это:
      Такое же сообщение получаю при попытке зашить загрузчик в неподключенную к программатору ардуину, то есть программатор вообще не видит МК. Плата прекрасно работала до того, как вышеупомянутый товарищ покрутил настройки фьюзов.
       
      Что я пытался предпринять:
      Замыкал пины JP3 программатора, отвечающие за понижение скорости, подключал к ардуине 5V от внешнего источника при прошивке загрузчика, - не помогло.
       
      Поиском пользоваться умею, аналогичную тему тут находил, но там проблема была в том, что парень неверно подключал программатор к контроллеру. В моём же случае всё подключено верно, повторюсь, что загрузчик первой платы этим же программатором был восстановлен успешно.
      Буду рад любым советам касательно того, как восстановить работоспособность платы.
       
       
       
    • Автор: Ru_s
      Здравствуйте. Подскажите пожалуйста, возможно ли на attiny13 реализовать такую штуку. Мне в процессе работы программы нужно поменять режим работы таймера/счетчика с fast PWM на обычный счёт, отсчитать длительный промежуток времени и опять вернутся в режим ШИМ. Т.е. я подаю на ногу сигнал ШИМ и когда он в максимальном значении, я его отключаю, и тупо подаю на ногу высокий лог. уровень. В это время Т/С по идее свободен, и мне надо посчитать время работы выхода на максимальном лог. уровне, при достижении какого-то значения времени нужно перевести т/с обратно в ШИМ. Возможно ли это? И как приблизительно это реализовать
    • Автор: ShimkoMax
      Здравствуйте. Требуется вывести данные температуры и влажности на экран. С LCD дисплеем разобрался, осталось разобраться с SHT21. Постоянно выводит 0 на дисплей:
      Main.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include "globals.h" #include "LCD_lib.h" #include "twi.h" // I2C #include "sht21.h" int main(void) { I2C_Init(); _delay_ms(100); LCD_init(); char buffer[20]; roomAdrInit(); SHT21_reset(); while(1) { SHT21_reset(); LCD_sendString(itoa((int)get_temperature(), buffer, 10), 4, 0, 0); _delay_ms(1000); } } twi.c:
      #include <avr/io.h> #include "twi.h" void I2C_Init(void) { TWSR = 0; TWBR = 0x20; TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); } void I2C_StopCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); } void I2C_SendByte(uint8_t data) { TWDR = data; TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); } unsigned char I2C_ReadByteAck(void) { TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA); while(!(TWCR & (1<<TWINT))); return TWDR; } unsigned char I2C_ReadByteNak(void) { TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); return TWDR; } sht21.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include "twi.h" #include "sht21.h" void SHT21_reset() { unsigned char reg[1]; reg[0]=SHT21_reset_cmd; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); _delay_ms(100); } uint16_t checksum(unsigned char data[],uint8_t byte, uint8_t check) { uint8_t crc=0; uint8_t bytectr,bit; for (bytectr=0; bytectr<byte;bytectr++) { crc^=(data[bytectr]); for (bit=8;bit>0;bit--) { if(crc&0x80) { crc=(crc<<1)^polynomial; } else { crc=crc<<1; } } } if (crc!=check) { return 0; } else { return data; } } void write_user_register() { unsigned char reg[3]; reg[0]=user_register_write; reg[1]=0x44; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); } uint16_t read_value(uint8_t reg) { char data[4],crc; uint16_t result; data[0]=reg; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(reg); I2C_StartCondition(); I2C_SendByte(SHT21_i2c_read); data[1] = I2C_ReadByteAck(); data[2] = I2C_ReadByteAck(); crc=I2C_ReadByteNak(); I2C_StopCondition(); result=(data[1]<<8) | data[2]; checksum(result,4,crc); result &= 0xFFFC; return result; } float get_humidity() { //char buffer2[4]; uint16_t hum_value = read_value(humidity_hold_mode); return -6 + 125.0 / 65536.0 * hum_value; //dtostrf(rh,5,2,buffer2); _delay_ms(100); } float get_temperature() { //char buffer1[4]; uint16_t temp_value = read_value(temperature_hold_mode); return -46.85 + 175.72 / 65536.0 * temp_value; //dtostrf(tc,5,2,buffer1); _delay_ms(100); }  
    • Автор: GeloMik
       
      Я новичок в программировании AVR контроллеров, хотя знаю +/- C++.
      Проблема заключается в том, что я не могу написать прошивку к своему маленькому проекту. Используемый мною контроллер - ATTiny45. У него на борту имеется 1 АЦП с выходом на 4 ноги. Нужно, чтобы фактически одновременно брался замер с 3, 4 и 5 порта по АЦП, и при появлении 1 на одном из них МК должен подать 5В на 1 или 2 порты. Источник АЦП AREF. 
      Сюда прикреплю схему самого робота, если кого не затруднит помочь написать прошивку, буду очень благодарен 

  • Сообщения

    • В видео выше - имеется. Да и тем, кому за .... не знать автора сего шедевра - моветон. 
    • В каких книжках такое читаете? Слушатель вообще не причём. Никто не меняет порядок фильтра при изменении расположения слушателя или микрофона. Основные измерения производяться на оси излучения. Измерения под угом от оси излучения определяют ДН а не порядок фильтра. Мощность и тыловые излучатели/рассеиватели на порядок фильтра тоже не влияет. При любой мощности завал фильтра будет неизменным, как был -18дб так и останеться. А тыловики влияют на ширину ДН
    • Василичь! Не надо распространять своё мировосприятие на окружающих. Судя по тону твоих постов и привычке поливать всех помоями, это тебя что то бесит. Я объяснил свою позицию и привёл, в подтверждение ДОКУМЕНТЫ. Что совершенно не мешает тебе прикидываться непонимающим и нереально тупить. Взгляни на скрин ГОСТа, который ты изукрасил своими надписями - где, в каком месте я ВЕЩАЮ, что речь идёт об измерении МАКСИМАЛЬНОЙ мощности? Я просил тебя дать цитату. Где она? Долго будешь "факты" из пальца высасывать? А то, орать, как торговка на базаре, ты умеешь. А объяснить как скрутками шумы на 40 дБ уменьшить - так тебя нет.  Заодно поясни, чего ты прицепился к цифре 0,005%? Эта цифра для ТРАНЗИСТОРНЫХ усилителей. Значения для ламповых даны В СКОБКАХ. Да, там написано  - по ТУ, Но, сам подумай- для 2-й группы сложности КНИ 1%. Для первой - 0,5% А, для нулевой (по ТУ), естественно, 10%? Мысль в голову не приходила, что уровень искажений, допускаемых ГОСТом, с ростом группы сложности УМЕНЬШАЕТСЯ. И, если для 1-й было 0,5%, то для нулевой, по твоему, должно быть 10? Я правильно понял твои комментарии? Знаешь, у Ильфа и Петрова, в 12-ти стульях, есть замечательная фраза Без малого 100 лет назад сказано. А актуальности, похоже, и сейчас не потеряло. Поэтому, с чего мне бесится? Абсолютно бессмысленное занятие. И, ещё раз повторю, лично для тебя. Меня никогда не интересовала мощность МАКСИМАЛЬНАЯ. Мне не надо греть утюги. И продавать "фиктивные" Ватты мне не надо. А нужен мне звук КАЧЕСТВЕННЫЙ. Поэтому, вместе с ГОСТом, я считаю, что 1% - это предел искажений, за который выходить бессмысленно. И не надо пугать меня килобаксами и приводить в пример усилители на 300В, со свалок Америки. Я, на отечественной ГУ-50, в псевдотриоде, получаю 9 ВАтт с искажениями НИЖЕ 1-го%  Вообще, к стати, без ООС. А, если ввести? Ну, хоть 6 дБ?
    • Куплю трансформатор 080TL42T916L или что-то подобное. Встречается в блоках питания на телевизорах, мониторов и т.д.. Кому не лень, посмотрите в донорах. Украина, новая почта, укр почта, самовывоз.  Спасибо П.с используется с шимкой TNY277
    • один единственный..
    • по технологии быстрой намотки - это как? Жгутом, что ли?