Поиск сообщества
Показаны результаты для тегов 'AVR'.
Найдено: 202 результата
-
Светодинамическая установка на Attiny2313
Владимир Семионов опубликовал тема в Световые эффекты и LED
Здравствуйте, форумчане! Подскажите пожалуйста как расставить биты конфигурации при прошивке контроллера в этом проекте http://cxem.net/sound/light/light19.php. Кто собирал данную схему? У кого заработало? Если можно, то скиньте рабочую прошивку и фото расставленных битов.- 4 ответа
-
- avr
- микроконтроллер
-
(и ещё 1 )
C тегом:
-
Требуется помощь в реализации некого микроконтроллера+ написания кода прошивки на с++. Контроллер будет работать на ATMEGA128A Требуется принципиальная схема некоторой части функционала, а именно: 1. Управление LED лентой суммарный ток потребление ленты 7А, напряжение питания -12в. Нужно подобрать mosfet(N-канал) и обвзяку, привести пример кода для управление ШИМ. Находил тут примеры контроллеров для управление лентой, но у меня почему-то шим больше 5В не получился. 2. Управление 16 двигателями 12В(0.15А каждый ), управление через ШИМ. Но не отдельно для каждого двигателя, а по 8. Т.е. 1 шим-канал на 8 двигателей. Я так понимаю что для этого можно будет использовать 1 шим контроллера+ сдвиговый регистр на 8 портов. Двигатели одновременно не будут работать. Будут подключаться по-очереди. Тоже нужен подбор компонентов, схема подключения, пример кода на си++ 3. Аналоговое чтение, 16 каналов принципиальная схема подключения(я так понимаю что там только токоорграничивающий резистр и конденсатор к земле)+ пример кода для чтения из канала(аналог функции analogRead() в ардуино) 4. Схема обвязки микроконтроллера не нужна- она типовая, есть у меня. отвечу на вопросы. Напишите кто готов сделать, сроки и цену.
-
Добрый день! Программирую в Arduino IDE, программатор Arduino ISP, других к сожалению нету. Решил поменять скорость работы контроллера ATTiny13A при помощи смены fuse. Менял через Arduino IDE, которая подставила такую команду C:\Program Files\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files\Arduino\hardware\tools\avr/etc/avrdude.conf -v -v -pattiny13 -cstk500v1 -PCOM3 -b19200 -e -Uhfuse:w:0xFF:m -Ulfuse:w:0x7b:m После чего достучатся до контроллера теперь никак не могу. Вот, что пишет avrdude: avrdude: Version 6.3, compiled on Dec 16 2016 at 13:33:19 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "C:\Program Files\Arduino\hardware\tools\avr/etc/avrdude.conf" Using Port : COM3 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part : ATtiny13 Chip Erase delay : 4000 us PAGEL : P00 BS2 : P00 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 5 4 0 no 64 4 0 4000 4000 0xff 0xff flash 65 6 32 0 yes 1024 32 32 4500 4500 0xff 0xff signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 2 0 0 0 0 0x00 0x00 lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: PAGEL and BS2 signals not defined in the configuration file for part ATtiny13, using dummy values avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x000000 (retrying) Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x000000 (retrying) Ошибка при записи загрузчика. Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. avrdude done. Thank you. Опция -F, которую предлагает avrdude, не помогает. Пробовал менять битрейт (опция -b), но в таком случае выдаёт ошибку stk500_getsync, что обычно бывает, если битрейт выбран неправильно. Судя по фьюзам http://www.engbedded.com/fusecalc/, я просто убрал CKDIV8, что должно ускорить внутренний таймер в 8 раз, и убрал флаг CKSEL0, что вместе со снятым CKSEL1 устанавливает частоту контроллера в 128 КГц (вместо заводских 9.6 МГц). Вобще ничего не говорит о том, что контроллер залочился. Приконнекчен к программатору по такой схеме Причём, до замены фьюзов работало и без кондёра. А после не работает и с ним. Что можно попробовать? Можно ли вернуть контроллер к заводским настройкам и как вобще поменять внутреннюю скорость таймера без таких вот багов?
-
Доброго времени суток! Делаю библиотеку для расширения возможностей EEPROM!Помогите в создании, идеями, мыслями, предложениями и всем в этом роде! Планирую добавить: -Чтение\запись отдельных битов; -Возвращение размера EEPROM(в байтах); -Возвращение размера отдельной строки в памяти EEPROM(в байтах); -Возвращение размера незанятой памяти EEPROM(в байтах, но желательно КБ); -Вывод\ввод данных EEPROM по UART/SPI/I2C(взаимодействие 2x EEPROM); -Чтение\запись STRING/HEX/BIN; -Еще хочу реализовать хранение символьных картинок типа(если возможно): //////////////////////////////////////////////////////////////////////////////////////////////////////// //#####//#####//####//####//#####//#////#//#////////////////////////#//////// //#//////////#//////////#////#//#////#//#//////#//#/#/#//#//////////////#////////#//////// //#####//#####//####//####//#//////#//#////#//#//////////###////////###//// //#//////////#//////////#////////#//#////#//////#//#////#//#//////////////#////////#////#// //#####//#####//#////////#///#///#####//#////#//#####//#####//#//##//// //////////////////////////////////////////////////////////////////////////////////////////////////////// Здесь написано EEPROMLib! -Ваши идеи,мысли,предложения! Всех кто будет содействовать(т.е. портиртировать из интернета или предлагать свои рабочие процедуры\функции и т.п.) созданию библиотеки запишу в начале библиотеки ник\имя,как человека\людей содействовавших\помогавших в создании библиотеки EEPROMLib! P.S. Сильно не ругайте!За то что по пустякам дергаю!
-
Здравствуйте, нужна схема переходника usb-com на Atmega8, не usb-uart. В интернете нашёл что-то, но там драйвера не прилагались. Переходник нужен для прошивки тюнеров, так же для шаринга. Что посоветуете?
-
Добрый вечер. Я начал изучать МК с помощью ваших роликов на YouTub (https://www.youtube.com/watch?v=u-iI6EDUtA4). Попытался собрать 1ую схему с мигающим светодиодом. Не получается, и я не могу понять, что не так. 1) Написал в AtmelStudio код как в ролике 2) Попробовал в протеусе. Работает! 3)Прошиваю мк через WizardProg-87. (Очищаю МК, загружаю код, жму прошить, вытаскиваю). 4) Собираю схему на макетной плате - не работает. 4.1) Не мигает диод. Горит тускло и от всех портов. Хоть В, хоть С. Я что-то делаю не так? Или что-то не делаю, что надо делать?
-
Всем доброго дня. Возникла такая проблема: AVR JTAGICE MK2 отказывается видеть по протоколу JTAG устройство на ATmega-128, как под управлением AVR Studio 4, так и под управлением Atmel Studio 7 на частотах от 1 до 11 МГц, хотя другие устройства видит нормально. В то же время это устройство отлично видится через Atmel-ICE 3, при частотах от 1 до 11 МГц, но при условии, что в настройках Devise Programming параметр JTAG Clock установлен не выше 3,5 МГц, хотя, судя по описанию, этот параметр влияет только на протокол ISP. Параметр JTAG Clock в настройках для JTAGICE MK2 отсутствует. Подскажите, что это может быть, и есть ли где ни будь в студиях "секретные коды". В логах пишут, что JTAG Clock = 0, но где можно поменять это умолчание? Заранее благодарен.
-
Динамическая развертка для построения изображений в пространстве
Denys Zverev опубликовал тема в AVR
Добрый день дорогие форумчане! Кто может помочь с написанием/"или ткнуть носом" кода для микроконтроллера, который будет выполнять динамическую развертку изображения в пространстве. Для того чтоб было понятнее что я хочу, вот ссылка на видео https://www.youtube.com/watch?v=YuVXndVujG8&list=RDLGy0neDXxAE&index=4. Конструкция собой представляет: 1) гироскоп - будет передавать сигнал положения в пространстве, и из этого должна строится картинка. 2) RGB светодиоды - 144шт. на метр. 3) Микроконтроллер. Может еще что-то упустил. -
Здравствуйте. Пишу сейчас программу под attiny13, пишу в codevisionavr eval, нужно подключить dht11. Нашел c+h файлы, но не пойму как правильно установить библиотеку. На каком-то сайте нашел, что все скидывается в inc папку. Скинул - пишет что функция объявлена но не определена. Короче *.h файл видит, а *.c - нет. Заранее, спасибо.
- 1 ответ
-
- codevisionavr
- avr
-
(и ещё 1 )
C тегом:
-
Собственно сабж. Цены умеренные.
-
Доброго дня! Не могу разобраться откуда ошибка прет, AVR USART RX Frame Error, на прямую все работает, когда RE/DE притягиваю к питанию тоже все ОК. в Этом случае линия всегда занята. void UART_Int(){ UCSRB|=(1<<RXCIE) | (1<<TXCIE) | (1<<RXEN)| (1<<TXEN) ; UBRRH=0; UBRRL=103; } void UART_Send(uint8_t data) { LAN_PORT SET_B(LAN_PIN);//занимаем линию while(!(UCSRA & (1<<UDRE))); UDR = data; } //Вектор при завершении передачи ISR(USART_TXC_vect) { LAN_PORT CLR_B(LAN_PIN);// отпускаем линию } int main(void) { /**Config*/ LAN_DDR SET_B(LAN_PIN); LAN_PORT CLR_B(LAN_PIN);// В режиме чтения UART_Int(); sei();//разрешаем глобально прерывания /* Replace with your application code */ while (1) { UART_Send(172); _delay_ms(1000); } }
-
Коллеги-любители электроники! Давно и почти безуспешно пытаюсь распродать излишки абсолютно новых электронных компонентов. На сегодняшний день, к сожалению, они уже не являются последним словом техники, но параметры очень неплохие, ассортимент, в основном - это силовая электроника (IGBT, драйверы для них, Fast и Ultrafast диоды), а так же различные микросхемы. Есть и б/у вещи, с гарантией работоспособности. Вся электроника "настоящая", т.е. была куплена у официального дилера (это я к тому, что 100% гарантия от китайских подделок), цены, с моей точки зрения, очень нормальные - в среднем в 2 раза ниже, чем сейчас можно найти. Но и торг особо никто не отменяет. Чтобы не сильно засорять тему картинками и т.п., даю ссылку, где почти все мои "излишки" представлены в виде интернет-магазина (не считайте рекламой - просто так вышло: долго там пытался распродаться, а теперь оплаченный срок магазина истекает). По условиям размещения товаров я не могу показывать более 40 позиций, на самом деле есть и еще... Например, грамм 400 микросхем 564-й серии (никель, но есть и Au), пол-литровая банка транзисторов (от МП25 до КТ859 - пластик и металл), куча КУ202Н... В общем всего много. Если проявите интерес - выложу полный перечень.
-
Добрый вечер, помогите разобраться с кодом. Делаю термометр, с возможностью, выставления температуры срабатывания рэлле с помощью энкодера. Проблемы следующие. Не срабатывает реле, и отклик на энкодер идет слишком долго. То есть пару раз провернешь и только потом переменная увеличивается. По отдельности проекты работали. Общий код: #include <mega8.h> int NewState,OldState,upState,Temp,downState,count_1; // unsigned char trig; float temper; #asm .equ __lcd_port=0x12 ;PORTD #endasm #include <lcd.h> #include <stdio.h> #include <delay.h> // 1 Wire Bus functions #asm .equ __w1_port=0x18 ;PORTB .equ __w1_bit=2 #endasm #include <1wire.h> #include <ds18b20.h> #pragma warn- /* eeprom */ eeprom int temp_eep; #pragma warn+ interrupt [TIM1_COMPA] void timer1_compa_isr(void) { NewState=PINB & 0b00000011; if(NewState!=OldState) { switch(OldState) { case 2: { if(NewState == 3) upState++; if(NewState == 0) downState++; break; } case 0: { if(NewState == 2) upState++; if(NewState == 1) downState++; break; } case 1: { if(NewState == 0) upState++; if(NewState == 3) downState++; break; } case 3: { if(NewState == 1) upState++; if(NewState == 2) downState++; break; } } OldState=NewState; } if(trig==1) // если флаг активен { if(OldState==NewState) // если энкодер в покое то увеличиваем счетчик {count_1++; if(count_1==5000) // если счетчик дотикал до 5 секунд {temp_eep=Temp; // пишем данные в еепром count_1=0; //обнуляем счетчик trig=0; // обнуляем флаг } } } TCNT1H=0x00; TCNT1L=0x00; } void main(void) { char lcd_buf[17]; char lcd_buf2[17]; // Input/Output Ports initialization // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=P State0=P PORTB=0x03; DDRB=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 1000,000 kHz // Mode: CTC top=OCR1A // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: On // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x0A; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x03; OCR1AL=0xE8; OCR1BH=0x00; OCR1BL=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x10; // Global enable interrupts #asm("sei") lcd_init(16); w1_init(); ds18b20_init(0,-20,50,DS18B20_12BIT_RES); Temp=temp_eep; //Выгружаем данные из памяти while (1) { if (upState >= 4) { Temp++; upState = 0; trig=1; // ставим флаг } if (downState >= 4) { Temp--; downState = 0; trig=1; // ставим флаг } temper=ds18b20_temperature(0); if (temper<=Temp) {PINC.1=1;} else {PINC.1=0;} sprintf(lcd_buf,"t=%.1f\xdf""C",temper); ////0b 99 sprintf(lcd_buf2,"Temp=%d\xdf""C",Temp); lcd_clear(); lcd_gotoxy(0,0); lcd_puts(lcd_buf); lcd_gotoxy(0,1); lcd_puts(lcd_buf2); delay_ms(10); }; } Проект термометра: #include <mega8.h> #include <delay.h> // 1 Wire Bus functions #asm .equ __w1_port=0x18 ;PORTB .equ __w1_bit=2 #endasm #include <1wire.h> #include <ds18b20.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x12 ;PORTD #endasm #include <lcd.h> #include <stdio.h> char lcd_buf[17]; void main(void) { float temper; lcd_init(16); w1_init(); ds18b20_init(0,-20,50,DS18B20_12BIT_RES); while(1) { temper=ds18b20_temperature(0); sprintf(lcd_buf,"t=%.1f\xdfC",temper); lcd_clear(); lcd_puts(lcd_buf); if (temper<=18) {PINC.1=1;} delay_ms(1500); }; } При сравнении переменных temper<=temp ничего не происходит. пробовал Temp заменить числом как во втором примере, тоже ноль реакции. Второй пример работает. Компилятор ошибок не выдает. Пишу в CV AVR. Схема собрана в железе.
-
Здравствуйте. Программирую avr через COM-порт, но это неудобно, комп в котором есть порт не всегда доступен, плюс подключаться нужно напрямую к материнке (не выведен), и выходит так, что саму программу я пишу в codevision-avr на ноуте, потом переношу на флешке ее на другой тот комп, там через uniprof заливаю скетч. Совсем неудобно. Заказал в китае usbisp, но он где-то затерялся в пути (уже несколько раз вылетел с аэропорта, и всё). Решил пока что использовать Arduino Uno в качестве программатора, и тут столкнулся с некоторыми проблемами: 1. Я хотел бы программировать НЕ через Arduino IDE, но все примеры которые я нашел - именно через нее (мне кажется это будет пустая трата памяти). Ардуинку использовать только в качестве программатора. 2. Ладно, пока я не нашел решения первого пункта, решил прошить через Arduino IDE в Ubuntu, но никак не хочет появляться плата attiny13 в выборе плат. Устанавливал архив (там где hardware и т.д.) - не помогло, возможно не туда поставил, подскажите пожалуйста для Ubuntu путь, где он должен быть, в примерах винда. 3. Забил. Взял другой ноут с виндой, установил IDE, устанавливаю драйвер для ch340 - винда блочит, говорит "без подписи - значит не рабочий" (а везде в описаниях так радужно, никаких проблем). Ладно, отключил в винде проверку цифровой подписи - при установке драйвера вылетела ошибка по таймауту... Жесть! Подскажите хоть по одному пункту, пожалуйста.
-
Решил сделать ЧПУ. Нашёл схему контроллера шагового двигателя на Atmega8(протокол Step\Dir). Всё собрал и столкнулся с такой проблемой, не понимаю какие фьюзы нужно прошивать. В статье есть только вот этот скриншот. Поискал в интернете нечего не нашёл. Может кто знает что за программу использует автор стати или как разобраться в том что на скриншоте.
-
Прошу помощь (теория) по стабилизации оборотов коллекторного двигателя с помощью оптопары. Есть двигатель 100 в,400 ватт ,на валу диск с оптопарой, 24 отверстия, хочу регулировать обороты ШИМом ,но чтоб обороты более менее были стабильны. Подключил двигатель через мост ,транзистор к avr, регулировка "просто" ШИМ- регулируется но момент на низких оборотах зависит от нагрузки, на средних нормально. Задействовал диск- ждем 0, как только 1 то делаю подсчет таймером ,0 стоп и после высчитываю число в таймере, в зависимости от эталона делаю или меньше OCR или больше. Если двигатель не раскрутился (таймер переполнился) то добавляю Х число -"небольшой рывок" . В теории вроде нормально, но в реале- двигатель стартует и потом как бы "качается" плавно растут и падают обороты. Кто может подсказать что делаю неправильно? Подозрение- что мало время обработки. Или подсчитывать каждый импульс. Мк работает на 8 МГц. PS. Хочу стабилизировать от 10 оборотов. Пробовал- если разница эталона и числа таймера большая- добавлял (убавлял) OCR немного больше, но только хуже
- 8 ответов
-
- двигатель
- стабилизация
-
(и ещё 1 )
C тегом:
-
Всем доброго времени суток! Я у Вас тут впервые поэтому если что не так пните по нужному адресу. Суть проблемы такова: паять прошивать микроконтроллеры научился, а после захотел научиться писать под AVR программы. С большим энтузиазмом взялся читать книгу Джона Мортона(прилагаю). Все было более-менее понятно до программы "Частотомер". Далее пошел темный лес. Решил повторить ее, переписал код, собрал схему попутно исправляя ошибочную схему и код автора. Скомпилировал без ошибок и начал испытывать в Proteus. по прилагаемому скриншоту видно что что-то не так. А что именно не могу понять. Мои догадки что это пункт кода про конвертирование цифр. И так бился перечитывал, находил у автора несоответствие подаваемого материала данной программы в обучении с его готовым листингом. Но даже с этими коррективами она не работает. Спасибо за понимание. Morton._AVR_VVODNIY_KURS.djvu частотомер.txt
-
Использование модуля WTV020-SD с микроконтроллером AVR
Graminit опубликовал тема в МК для начинающих
Доброго времени суток, решил собрать небольшую схемку с участием микроконтроллера Atmega16A и звукового модуля WTV020-SD. Итак, у меня есть 5 файлов, мне нужно по команде от микроконтроллера воспроизводить любой из них. В сети вроде бы много инфы по этому модулю, только вот ни как установить "режим" воспроизведения, ни примеров кода на си я не нашёл. Буду благодарен за подробное объяснение. -
Доброго времени суток всем. В данный момент работаю над небольшим проектом. Имеется готовая модель rc-вертолета ( T605 SHUTTLE ), необходимо поставить на него микроконтроллер, гироскоп и акселерометр (думаю использовать MPU-6050 и MPU-9250) и написать для него мозги. МК должен принимать данные с датчиков, выполнять работу по стабилизации вертолета, посылать ШИМ-сигнал. Какой лучше подобрать микроконтроллер, который бы подходил под поставленную задачу ? Пока думаю над atmega 128a (просто потому, что имел с ним дело уже). P.S. если с программированием проблем возникнуть не должно, то как это всё подобрать, установить, спаять и тд понятия не имею, поэтому буду благодарен любым советам на эту тему Спасибо.
- 12 ответов
-
- микроконтроллеры
- avr
-
(и ещё 3 )
C тегом:
-
Вопрос. Почему не выполняется на atmega328 команды? Тестировал в протеусе на частоте 8 мгц (в настройках проекта 20 мгц, но думаю на это не так сильно должно влиять). На микроконтроллере запущен аппаратный таймер - работает нормально. Через юарт (настроен только TXD) всё время шлёт: 011111111101111111110... Но сам код не хочет выполняться: while (1) { delay_ms(0.4); // выполнилось при первом цикле PORTD.6=1; // выполнилось при первом цикле delay_ms(0.4); // выполнилось при первом цикле putchar(PORTC.0+PORTC.1*2); // заморозилось и далее не выполняется, но аппаратный таймер работает, юарт флудит (011111111101111111110...) // функцию putchar нашёл в интернете PORTD.6=0; } PORTD.6 - настроен на выход PORTC.0 и PORTC.1 настроены на вход. Включены подтягивающие резисторы. P.S. Проект сделан в CodeVisionAVR с использованием генератора кода.
-
Всем добра! Подскажите, если на плате оставить для пошивки 4 провода: 5В, GND, RX, TX можно ли будет отлаживать Atmega48 и прошивать его не как обычно с помощью (SPI)? Опыта прошивки пока нет, но планирую прошивать с помощью avrdude.
-
День добрый. Поставил для себя задачу создать для своего мотоцикла небольшой компьютер на базе микроконтроллера с выводом информации на дисплей. Кое-какие наработки у меня уже осуществлены и сейчас я стаю перед выбор усовершенствовать свое устройство(получилось очень громоздкая конструкция которая занимает много места и к тому же 2/3 памяти ардуины я задействовал при этом далеко не все еще впихнул) или начинать с нуля. Для начало опишу то что у меня уже есть (осуществлено на базе Ардуино уно, пока что без вывода на экран, но скетч под это у меня уже написан) и что я хочу. Функционал такой: -вольтметр (есть); -термометр (есть); -несколько режимов полуавтоматической смазки цепи (есть как автоматически включающиеся/выключающиеся режимы (считываю сигналы с датчика скорости=>пересчитываю в скорость в зависимости от скорости переключаются режимы, т.е. насос работает либо чаще либо выключается на время либо работает реже), также некоторые режимы включаются вручную с кнопки) - есть, все режимы включаются последовательно; - расчет средней скорости в пути (частично есть); - расчет среднего времени поездки (нет); -расчет расстояния (нет); - считывание данных с нескольких датчиков разного рода(цифровые и аналоговые) и вывод на дисплей(нет, параллельная задача); - вывод на дисплей, еще точно не определился с моделью, пока на примере 5110, но не уверен, нужно что-то по размеру как 5110 но хотелось побольше чем 84х84 для вставления качественных картинок). Собственно вопрос в том по какому пути идти? Оптимизировать задачу на более маленьком ардуино, типа адруино нано (а возможно и на двух) или же начинать с нуля, но тогда встает вопрос о выборе МК (тут я потратив несколько дней пока окончательно запутался) AVR, STM или PIC? Задача планируется как единичная, но хочется получить относительно компактное устройство. П.С. честно читал и искал, но т.к. я "не в теме электроники", мне нужен толчок в нужную сторону Заранее спасибо.
-
Хочется сделать USB осциллограф. Подскажите пожалуйста, какой МК AVR подойдёт для этого лучше всего? Склоняюсь к ATxmega64A4U с частотой дискретизации 2 МГц. Схема аналоговой части уже есть с преобразованием -20...+20В в 0.1...2.4В.