Авторизация
Регистрация

Напомнить пароль

Интересный клон Arduino UNO

Нашел интересный клон ардуино уно, на которой дополнительно разведен десяти контактный разъем для usbasp или аналогичных программаторов (не придется думать о переходниках на 6pin). Так же на плате есть две кнопки, которые можно подключить к любому выводу, причем одна подтянута к 5В, вторая притянута к земле. Кому интересно, читаем дальше.


Для начала внешний вид платы, чтобы было более наглядно о чем речь

Микросхема для usb переходника

На плате есть два дополнительных вывода, каждый из которых соответствует своей кнопке. соединив KEY_H с любым выводом ардуино, мы получим аналог, например, вот такой схемы:

Т.е. одна перемычка здорово экономит место на макетной плате и упрощает схему. К тому же в целях эксперимента или обучения, мы можем пользоваться как подтянутой к 5В кнопкой, так и стянутой к GND. Пожалуй это лучшее, что есть в данной модели, но, чтобы можно было более наглядно увидеть разницу я собрал для сравнения две одинаковые схемы на макетной плате с двумя ардуинами:
две одинаковые схемы
вот вариант, когда обе кнопки находятся на макетной плате, смотрится вполне нормально, все работает.

вот схема с кнопками, разведенными на самой плате ардуино, проводов на порядок меньше, а еще не тратится место на кнопки и резисторы, а главное, работает точно так же. Разница на лицо.


код, ардуино IDE его переваривает
При нажатии на кнопку, загорается диод. Если писать аналогичный код на языке ардуино, то объем занятой памяти получается раза в 2-3 больше, если кто не верит — можете проверить потратив немного времени. Для себя убедился, что для простейших задач лучше писать на С, но для работы с датчиками и шилдами — библиотеки слишком сильное искушение, возможно когда-то попробую их распотрошить для более грамотной оптимизации кода.
Цель приведенного ниже обратить внимание фанатов, что существует альтернатива.

void preset(void)
{
//назначение портов ардуино: 8 и 9 кнопки. 
//8 - стягивыющий к земле, ставим на выход
//9 - подтягивающий к 5V, ставим на вход   
//10, 11 светодиоды, на выход
  DDRB=0b00001101;//
//на 8 выводе ставим высокий уровень
  PORTB=0b00000001;
}
int main(void)
{
  preset();
  while(1)
  {
//если на 9 выводе высокий уровень - кнопка нажата
//на 9 вывод пришли 5V
//включаем диод на 10 выводе ардуино
    if ( (PINB&0b00000010)==0b00000010)
    {
      PORTB|= (1<<2);
    } 
//иначе на 10 выводе низкий уровень   
    else
    {
      PORTB&= ~(1<<2);
    }
//если на 8 выводе низкий уровень - кнопка нажата
//8 вывод подключен к земле
    if ((PINB&0b00000001)==0)
    {
//включаем диод на 11 выводе
      PORTB|= (1<<3);
    }
//иначе на 11 выводе низкий уровень 
    else
    {
      PORTB&= ~(1<<3);
    } 
  }
}

вот ссылка на статью, которая мне очень помогла в начале пути
chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-437

Возможно кому-то все же будет интересен переход с ардуино IDE на С, поэтому приведу описание выводов ардуинки и соответствующие им выводы микросхемы


В итоге добавлю, что как только вы накроете описанную плату шилдом, все преимущества испаряются и остается функционал старой доброй arduino uno. В общем я испытал от покупки эстетическое удовольствие + еще любопытный клон в коллекцию.
И да, при покупке без приключений не обошлось, плата пришла с небольшим дефектом, который мне устранили варварским способом.
загнута ножка

загнутую ножку поддели пинцетом, вырвали из панели пассатижами, подогнули чутка, воткнули обратно и припаяли. На удивление все заработало. Так что на эту плату я получил солидную скидку.

За плату зачет, за косяк при сборке огромный минус, но в целом к покупке рекомендовать можно.
котэ

Планирую купить +14 Добавить в избранное
+19 +41
свернутьразвернуть
Комментарии (38)
RSS
+
avatar
+6
  • Aloha_
  • 07 марта 2016, 12:14
Котэ очень недоволен кривой ножкой панельки!
+
avatar
0
  • volser
  • 07 марта 2016, 12:21
Говорят домашние животные близки по характеру к хозяину.Глядя на Котэ подозреваю, что придрались Вы до Китайца.
+
avatar
+4
Не знаю, стоит ли две кнопки и разъем удвоения цены.
+
avatar
0
  • notemp
  • 07 марта 2016, 13:28
а не поделитесь ссылкой? 4.99 — минимум, что нашел с атемегой в DIP-корпусе (но зато с ATMEGA16U2)
+
avatar
0
это, наверное самая дешевая ардуина с дип микросхемой, сегодня при нашем курсе 370 рублей это норма. UART переходник на ATMEGA16U2 или на ch340, для винды разницы не почувствовал.
+
avatar
+1
  • notemp
  • 07 марта 2016, 18:27
Я думал kirillre4 подскажет, где без кнопок, но в два раз дешевле Вашей.
А ATMEGA16U2 лучше тем, что ее тоже можно прошить, например в USB-HID устройство.
+
avatar
0
C дип действительно дороже, я имел ввиду с tqfp чипами.
+
avatar
0
  • bigvlad
  • 07 марта 2016, 12:45
CH340 ребутит мак при подключении. Стараюсь юзать такие ардуины только в момент заливки скетча или от компа реже отключать.
+
avatar
0
  • lolipop
  • 07 марта 2016, 12:54
так уарт же продублирован на ногах, подключайте своим обычным usb2ttl, в чем проблема?
+
avatar
0
  • bigvlad
  • 07 марта 2016, 13:09
Не очень понял что вы имеете ввиду.
Куда подключать если устройство собрано на arduino nano и требует подклбчения к usb во время работы?
+
avatar
+1
  • lolipop
  • 07 марта 2016, 13:19

я отчетливо вижу rx/tx/gnd/5v/rst

вы жаловались, что кекст под маком — глючный, я предложил вам не использовать штатный коннектор miniusb(или микро, не суть), а использовать наружные пины и отдельный usb2ttl.
+
avatar
+2
  • bigvlad
  • 07 марта 2016, 13:30
Я понял ваше предложение, но использование внешнего уарта теряет смысл покупки nano, можно купить про мини без оного. Но вот у меня эмулятор апы самолета построен на nano, так как нужен компактный адаптер. В общем если для пару перепрошивок как то мириться можно, но в общем для разработки сн340 пришлось исключить. Да и замену nano не всегда получается найти.
+
avatar
0
есть нано на FTDI чипе, попробуй уточнить у продавца, от китайцев очень тяжело что-то вразумительное добиться, но попробовать стоит. Как правило такие платы стоят от 250 рублей и в комплекте кабель. Упомянутый чип считается более стабильным, но у него бывают косяки с оригинальностью (не встают последние версии драйвера), так что будьте аккуратнее. Так же хочу заметить, что на нано стоит атмега328, а значит скетч под нее можно залить на любую ардуино на этой микросхеме, так что отлаживать программу можно, например, на приближенной к оригиналу ардуино уно (в случае, если с вашей системой она работает стабильно).
+
avatar
0
Любой USB в ардуине — это преобразователь интерфейсов.
Никто не мешает использовать отдельный преобразователь, если встроенный глючит.
+
avatar
+2
  • bigvlad
  • 07 марта 2016, 13:38
Тогда какой смысл во встроенном интерфейсе если нужно покупать внешний?
Глючит НЕ ИНТЕРФЕЙС, глючат драйвера CH340/341 на MAC OS X.
+
avatar
+1
  • notemp
  • 07 марта 2016, 13:52
чип довольно популярный и на нем работают многие распространенные проекты, такие как NodeMCU или WeMos. Попробуйте драйвера с их сайтов, может не все так плохо.
+
avatar
+1
  • bigvlad
  • 07 марта 2016, 13:56
Спасибо попробую, хотя вряд ли это поможет так как дрова пишет изготовитель чипа а это китайцы в одном лице.
Я не жаловался когда об СН340 написал ;) а просто поделился опытом. Возможно кто то не знает этого. Что бы не купил пачку как я…
А в общем проблема с дровами известная но китайцы пока не чешутся.
+
avatar
0
  • Sanja
  • 07 марта 2016, 20:30
Ради интереса попробуйте (а) поменять кабель (б) воспользоваться активным хабом. Часто из-за того, что где-то в штекере коротит провод, либо выбивает целиком USB-контроллер, либо компьютер тупо виснет.
+
avatar
-1
  • vlo
  • 07 марта 2016, 13:30
мм, а в каком месте тут может быть мак? и какое отношение к нему имеет usb-uart? сетью тут не пахнет…
+
avatar
+2
  • lolipop
  • 07 марта 2016, 13:35
Macintosh
+
avatar
0
  • iamjdoe
  • 07 марта 2016, 13:36
Думаю, что речь идёт об Apple Mac :-)
+
avatar
0
  • mmambet
  • 07 марта 2016, 16:40
У меня не ребутит и всё работает, но я затрудняюсь сказать, что я сделал не так (или так).
+
avatar
0
  • bigvlad
  • 07 марта 2016, 17:49
Вы просто умничка.
+
avatar
0
  • mmambet
  • 07 марта 2016, 18:50
Да я в том смысле, что рад бы помочь как-то, но не знаю, куда смотреть. Не помню, откуда драйвера ставил.
+
avatar
0
  • bigvlad
  • 07 марта 2016, 19:00
Я ставил с сайта китайского, который этит чип типа разработал и самое смешное что драйвера не заработали. Я плюнул(хотя возможно требовалась перезагрузка всего лишь) и юзал платку под виндой, для чего она в общем то больше нужна была и там дрова стали сразу. Но комп начал периодически уходить в ребут, а это как серпом по яиём. Как оказалось по запросу гугл выдал что не я один страдаю этой проблемой. Я пробовал разные варианты но пока ситуация на прежнем месте. Из десяти подключений — ребут.
+
avatar
0
  • mmambet
  • 07 марта 2016, 19:29
Я тоже ставил с китайского сайта, видимо разработчика. Но я тут начинаю вспоминать, что последний раз я платой пользовался ещё до El Capitan. Надо ещё попробовать будет, может изменилось что с новой версией MacOS.
+
avatar
0
У меня все работает отлично. Ничего не глючит. Я даже CH340 на ардуино нано использовал как USB-TTL для прошивки другой платы на Atmega 328. Все работало отлично и из под /dev/ttlXX показывалось
+
avatar
0
а в чем рисуют такие красивые распиновки?
+
avatar
0
Я беру из просторов интернет, а рисуют, скорее всего, сотрудники организаций/магазинов, не по наслышке знающие что такое фотошоп и другие графические редакторы.
+
avatar
0
  • bigvlad
  • 07 марта 2016, 18:50
Фотошом для растра, для вектра есть другие редакторы.
+
avatar
0
  • Sanja
  • 07 марта 2016, 20:27
а вы у автора спроситеwww.pighixxx.com/test/pinoutspg/boards/

+
avatar
+3
  • Sanja
  • 07 марта 2016, 20:20
USBASP вместе с переходником 10 pin -> 6 pin стоит двести рублей. Зачем покупать такого «кентавра», тем более — покоцанного — по такой цене?

+
avatar
0
Увидел новое, были средства. К тому же, не предполагалось, что она приедет бракованная. Хотя в этом есть свой плюс, мне плата обошлась примерно в 140 рублей после напряжного обостренного диспута, или около того.
Что поделать, есть у меня определенный интерес подержать в руках новый вариант сборки, благо понадобилась плата, а разница не так, чтобы очень большая, еще я заказал зиф палельки и планировал прошивать на ней атмеги. Вот я и подумал, а почему бы и нет? Заодно сделаю обзор, может кому-то и понравится ардуино именно в таком варианте? В худшем случае получу еще одну ардуину. Получилось все благополучно.
+
avatar
0
Признаться, я поначалу вообще не заметил этот деффект и открывал диспут с прицелом, что платы не совместимы. Это уже потом, когда я начал проверять где косяк разводки платы, понял, что одна нога вообще не звонится. Потом обнаружился и исправился данный косяк сборки. Изначально я думал что плата просто не рабочая, даже микросхемы менять пробовал. Короче покупка муторная, итог хороший. В целом брать можно спокойно, это я просто такой везучий.
+
avatar
+1
  • lolipop
  • 08 марта 2016, 01:00
я два раза стерпел, но в третий раз не могу уже. прекратите удваивать «Ф» в слове дефект.
+
avatar
0
  • bigvlad
  • 07 марта 2016, 21:15
Да, заказал таких парочку по полтора бакса, нужная штука в хозяйстве, как раз нужно пару промини перешить…
+
avatar
0
А мне больше всего кот понравился
+
avatar
0
  • sir0ta
  • 08 марта 2016, 09:26
Очень дорого выходит. Считай 2 кнопки, 2 резистра и панелька не очень то и нужная по факту(как и кнопки). А ценник… в 2 раза дороже (Не обсуждается Ваш конкретный случай).
Ну и C — не альтернатива. Используя «привычные» для Arduino методы инициализации пинов и прочего (присущее для ардуинки) мы все так же используем C. Просто вместо не очень удобоваримого PORTB=0b00000001; вызывается функция digitalWrite которая внутри себя делает все тот же PORTB=0b00000001, да это лишний код местами, лишние тики, но как бы в этом и суть Arduino. Вы видимо забыли — ардуинка разрабатывалась как стартовая ступенька в изучении МК.
И коли Вы так уже решили показать альтернативы (хотят тут не альтернатива вовсе), то почему Вы тогда не показали ASM? Там компилированный проект еще меньше весил и еще шустрее работал.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.