Перейти к содержанию

Платы Arduino из Китая как программировать


Рекомендуемые сообщения

Приобрел 2 платки из Китая, не могу ничего не них записать, пишет что не видит программатора, я так понимаю что на них стоит USB порт это и есть программатор, в ардуино при попытке прошить на платке пару раз мигает светодиод входящих данных и все, в информации о плате стоит неизвестное устройство. В диспетчере устройств переходник USB - COM установился, только пришлось искать дрова по микре CH340G

одна плата с контроллером MEGA2560, вторая 328p, куда копать не пойму

IMG_20161107_174418.jpg

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Если вы правильно установили драйвер на CH340G то вам осталось только в диспечере устройств посмотреть какой номер COM порта и потом его выбрать в самой Arduino IDE в настройках.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Для чего вам и вообще при чем тут программатор. Опишите что вы хотите сделать? Прошить при помощи них AVR-ку? Или использовать как ардуино-платы? Если второе, то судя по скриншотам вы вообще не то делаете. 

Ссылка на комментарий
Поделиться на другие сайты

мне необходимо написать программу на ардуино именно в этой программе и потом ее залить в контроллер

обычно что либо делал в Atmel studio и заливал через программатор на atmega8, но в данный момент потребовалось поболя памяти пришлось приобрести эти, но мой программатор не поддерживает прошивку данных контроллеров, и программу писать нудно на ардуино так как там есть готовая библиотека к сенсорному экрану NEXTION

Ссылка на комментарий
Поделиться на другие сайты

1. В программе выбрать Инструменты -> Плата -> Arduino/Genuino Mega or Mega 2560
2. Инструменты -> Порт -> COM8
3. Инструменты -> Программатор -> Arduino as ISP
По поводу последнего пункта уточнить в описании на плату. Вообще по Arduino ресурсов и форумов более чем ... Всё давно обсосано и решено, не ленитесь искать.

Ссылка на комментарий
Поделиться на другие сайты

Так почему плата выбрана не правильно? Которая на Atmega328 = Arduino Uno, про вторую я уже писал выше. И тип программатора похоже тоже неправильный.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 года спустя...
Гость Андрей Краснокутский

Мне помогло установить драйвер CH340. Суть в том, что компьютер в принципе не видит устройство, точнее не понимает, что это такое. На микросхеме рядом с USB-разъемом моего китайского Arduino написано CH340G, и видимо на него и нужен драйвер. Возможно, на некитайских Arduino таких проблем нет.
Вот чей-то ответ на вопрос на Aliexpress:
"это китайский клон, драйвер в комплекте с arduino IDE неподходит, нужен особый драйвер, в описании начала работы с ардуино обычно есть прямое указание на этот доайвер, гугл в помощь".

Ссылка на комментарий
Поделиться на другие сайты

  • 3 года спустя...

Решил сюда написать. В общем сделал цветомузыку по Гайверу, всё работало, достал ардуинку из корпуса, перепрошить на бОльшее количество светодиодов, а она никак, она опеределяется, Arduinо IDE её видит, но шить не хочет, вываливается сообщение из десяти попыток

Спойлер

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x4c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x4c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x4c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x4c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x4c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x4c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x4c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x4c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x4c
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x4c
Failed uploading: uploading error: exit status 1

Ну было ещё две штуки, эту отложил, прошил новую, забыл. Потом лента стала ещё длиннее, достал поправить прошивку ситуация та же, времени не было, отложил и эту, прошил третью, вставил. Прошло время, нарисовался проектик небольшой, достал эти две ардуинки, решил разобраться, что к чему. В общем всё оказалось прозаично, ардуинки стояли в панельке на 32, крайние контакты не использовались, я их просто удалил, чтоб не путаться, так вот, доставал я их оттуда пинцетом за длинную часть, и пинцет из-за рукожопости срывался пару тройку раз, из-за чего была сорвана кнопка reset в положение 2 на фото,

Nano-3-0-controller2.jpg.cd959e8a2457cf10fbe757f9bf429aa4.jpg

сама кнопка находится в разомкнутом состоянии и вряд ли могла навредить, а вот её корпус мог попасть на ножки контроллера... Далее при детальном рассмотрении выяснилось, что через оторванный от платы пятачок контакта кнопки (красный круг) шла дорожка от ножки контроллера (жёлтая стрелка) к обоим контактам платы RST, эта линия оказалась разорванной, не увидев этого раньше, я пытался шить платы в таком состоянии, со сдвинутой кнопкой... Кнопки с повреждённых плат я убрал (вторая плата с идентичным повреждением), дорожки восстановил, но к сожалению, залить в них ничего не получается. Покурив ошибку "с 10-ю попытками", выяснил, что проблема с загрузчиком. Пытался восстановить bootloader даже свистком USBasp напрямую через разъём на плате  и программы SinaProg, AVRDUDEPROG, не получилось, везде ошибка. Свисток проверил, с другого девайса он и читает прошивку и шьёт.

Я с ардуинкой первый раз работал, с её схемой не разбирался, поэтому в общем то вопрос только один - платы на выброс или можно ещё оживить, ну вдруг кто то сталкивался? Обе они по прежнему определяются системой (появляется сом порт) и видны в Arduinо IDE.

Спасибо.

 

Изменено пользователем Nerpiks
Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, Nerpiks сказал:

с её схемой не разбирался

Вот с этого и начните. Как раз выясните что контакт ресет микроконтроллера нужен и для работы и для программирования.  А там уже скорее всего и свисток USBasp поможет, если дело только в ресете.

Жизнь не белая или чёрная, а в мелкую серенькую полосочку...

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, Piotr__1 сказал:

если дело только в ресете

Я писал, что ресет я восстановил, ножка контроллера звонится с обоими контактами RST

Ссылка на комментарий
Поделиться на другие сайты

В общем очевидно причину ошибок я нашёл... Кроме кнопок, пинцетом я повредил (очевидно?) на обоих платах кварц...

334455.thumb.jpg.5ee93bbfa72a0cecfdfa0d66b4648355.jpg

Сужу по схеме, это 7,8 ножки и по виду..... На оставшейся рабочей, кварц имеет сверху металлический колпак (правое фото), на двух повреждённых (левое и среднее фото), колпачка нет, кварц выглядит как SMD конденсатор... Печалька конечно, но и жизнь на этом не заканчивается, заказал уже ещё четыре штуки, теперь буду внимательней при работе с платами :-) Почему описываю так подробно, просто надеюсь, что мой печальный опыт поможет другим быть аккуратнее.

 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Nerpiks сказал:

ножка контроллера звонится с обоими контактами RST

но их 3 контакта, еще есть на isp колодки, плюс есть пара элементов подтяжки ресета, с ними контакт восстановили?

А на счет кварцев:

https://aliexpress.ru/popular/16-mhz-crystal-3213.html

 

Жизнь не белая или чёрная, а в мелкую серенькую полосочку...

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, Piotr__1 сказал:

с ними контакт восстановили?

Проверю, но повреждён был только пятачок кнопки, его соединения восстановлены, но лишний раз проверить не повредит

6 минут назад, Piotr__1 сказал:

А на счет кварцев:

Спасибо, теперь точно убедился, что кварцы тоже пинцетом посносил :-(

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Доброго времени суток. Пришла плата arduino nano из Китая. При подключении к компьютеру загорается индикатор PWR, один раз мигает индикатор L и потом загорается и постоянно горит PWR и TX. Это нормально? Вроде должен все время мигать L. Что-то с платой или так и должно быть? 

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, dolmatovva сказал:

комп её видит ?

Когда подключаю, то появляется COM4. И данные платы видит. 

Пробовал заливать скетч. Не загрузился. Но не пробовал менять на (Old чего-то там). Завтра утром, после работы, попробую BLINK и поменять настройки. Просто у всех при первом включении отрабатывает мигание. А тут не понятно. 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • У меня до саба ещё дело не дошло, только сейчас думаю купить амп на полкиловатта, но так можно, при условии, что на входе будет моно, и будет срез частот
    • Про флаг Т: если он не используется в основной программе, а у меня он постоянно в деле. для меня меня отложенная обработка прерывания обычное дело, нужно лишь правильно расставить приоритеты частей программы. И обычное дело: выставляешь частоту задающего генератора побольше, делишь его до получения частоты 1000 Гц каким либо таймером, загоняешь в прерывание с флагом. затем закольцовываешь основную программу с проверкой флага прерывания от таймера 1000Гц. загоняешь программу в Sleep. Получаешь кольцо обработки с образцовым интервалом в 1 мс. После любого прерывания проверяешь флаг от таймера, если он, то сбрасываешь флаг и начинаешь перебирать подпрограммы обработки индикаторов, клавиатуры, и тд. и тп, подпрограммы обработки флагов и др. После окончания обработки всех подпрограмм возвращаешься к Sleep. И так по кольцу. Если происходит прерывание не от таймера, программа выходит из Sleep, проверяется флаг от таймера, если не он (а это не он) обратно к Sleep. В большенстве программ использую этот алгоритм.  
    • @korsaj Сегодня попробовал сделать как ты посоветовал. Получился следующий код. #define F_CPU 7372800UL #define BAUND 9600L #define UBRRL_value (F_CPU/(BAUND*16))-1 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> void init_pin(void); #define C_PC0 (~PINC&(1<<PC0)) #define C_PC1 (~PINC&(1<<PC1)) #define LED_1_ON() PORTD|=(1<<PD2) #define LED_1_OFF() PORTD&=~(1<<PD2) #define LED_2_ON() PORTD|=(1<<PD3) #define LED_2_OFF() PORTD&=~(1<<PD3) #define FLAG_END_RX (1<<3) #define FLAG_ERR_RX (1<<4) #define BUF_SIZE 20 char rx_buf[BUF_SIZE]; char buf_index = 0; volatile start=1, flags; char b; ISR(USART_RXC_vect) { b=UDR; if(!(flags & FLAG_END_RX)) { rx_buf[buf_index]=UDR; if(rx_buf[buf_index] == 0x0D) { flags |= FLAG_END_RX; return; } buf_index++; if(buf_index >= BUF_SIZE) { buf_index = 0; flags |= FLAG_ERR_RX; } } } void init_UART() { UBRRL = UBRRL_value; UBRRH = UBRRL_value>>8; UCSRB|=(1<<TXEN); UCSRB|=(1<<RXEN); UCSRC|=((1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)); UCSRB|=(1<<RXCIE); sei(); flags = 0; } void send_UART(char value) { while(!(UCSRA&(1<<UDRE))); UDR=value; } int main(void) { init_pin(); init_UART(); while(1) { if (start==1) { _delay_ms(500); send_UART('O'); send_UART('K'); send_UART('!'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); start=0; } if (b == '0') { LED_1_ON(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '1') { LED_1_OFF(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '2') { LED_1_ON(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '3') { LED_1_OFF(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART('3'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (C_PC0) { send_UART('P'); send_UART('C'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } if (C_PC1) { send_UART('P'); send_UART('C'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } } } void init_pin(void) { DDRC = 0b00000000; PORTC = 0b11111111; DDRD |= ((1<<2)|(1<<3)); PORTD &=~ ((1<<2)|(1<<3)); } Ну как сказать всё работает, но вот меня очень интересует приём команд на саму ATMEGA16. Он так и работает только с цифрами. Более ничего корректно принять не получается даже используя таблицу ascii. А мне нужно будет принимать команды и посложней чем просто буквенно - цифровые. Потому как возвращаясь к командам самого плеера там в этих командах хранятся различные данные. Вот примерно так это всё выглядит. AT+QM \ r \ n Запрос режима работы [0: Bluetooth], [1: MP3] AT+M1 \ r \ n Номер текущего файла AT+M2 \ r \ n Общее количество звуковых файлов AT+MD \ r \ n Источник музыки USB или SD Card AT+MT \ r \ n Общее время воспроизведения текущего файла AT+MK \ r \ n Время воспроизведения текущего файла AT+MP \ r \ n Текущее состояние плеера [0]Стоп, [1]Воспроизведение, [2]Пауза К примеру при отправке команды AT+M1 \ r \ n в ответ мы получим M1 + 000002 \ r \ n при этом здесь может быть любое число в hex формате. Мне же нужно каким то образом принять эти данные и обработать их соответствующим образом. Но при этом и нужно учитывать так же что плеер может сам отправить эти данные по началу воспроизведения трека. Вот в этом сейчас и стоит основная задача. Чего я и пытаюсь получить в итоге.
    • Ну тогда дорога к сименсу в гости - они вам какой-нибудь Desigo CC или даже Siematic предложат, тыщ за 10 долларов. Ну и ещё тыщ 5 надо будет отдать за контроллеры и их конфигурирование.   А если попроще - то можно к отечественным MasterSCADA обратиться, либо к WiredBoard - у них не совсем SCADA система, но нормальные контроллеры, довольно просто настраиваются и можно графическую оболочку рисовать.
    • тогда вы имеете то, что имеете, и никак от этого не избавиться. Хоть святой водой окропите. "Или трусы или крестик" (с) Нагрузки у вас немаленькие. Вы же с нуля переделываете, снова некуда ? Понятие LowESR очень неконкретное. Сколько вешать в граммах ? пустая трата времени
    • Да все это туфта, выеденного яйца не стоит. В общем чушь собачья. На мониторе тему уже сплавили в мусорку, а здесь треп еще будет на 10 страницах. Все камеры, их у него было три, исправные. Записывают отлично. А дальше вся проблема в этом. Особо интересно - монтажник видео.
×
×
  • Создать...