Pull to refresh
-1
0

программист на Go/Python

Send message
Да легко

git archive "$BRANCH" "$OPTIONAL_PATH" --remote="$REPO" | tar -x -C "$DESTDIR"

Но сервер может не поддерживать. С гитхаба у меня так стянуть не удаётся.
Навскидку:
Конденсаторы по питанию — электролиты(+ иногда керамика)
Резисторы на светодиоды + тонкости типа «не ставить один резистор на два светодиода если они будут гореть одновременно»
Использование транзисторов, когда нужно управлять чем-то, чей ток превышает максимальный ток пина МК (добавить про ULN2003)
Осторожное использование регулятора 3.3 вольта на Arduino/Raspberry Pi/и так далее (макс. ток)
Защита от перенапряжения на 5 вольт
Конденсаторы на землю с каждой ноги резонатора (не знаю, правда, зачем)
Подтяжка резисторами линий данных к плюсу или минусу (также кнопок, светодиодов и прочего) и неиспользуемых контактов у микросхем
Защита от дребезга контактов
Объяснение про ёмкость проводов
Защита микросхем и прочего от статики
Фильтры напряжения
Длина проводов, по которым передаются данные, правильное экранирование
Диоды на выходе источников питания для защиты
Правильное заземление приборов
Советы для траблшутинга (даже и особенно те, что сам заучил из-за горького опыта)
Советы по пайке чего-нибудь в ограниченных условиях, вещи, необходимые для пайки, поскольку значительно её облегчают
Уход за паяльником
Использование различных клеёв — Момент/горячий/эпоксидный — в своих поделках
Правильная разводка высокочастотных компонентов

Тут многие детали, конечно, опциональны, но всё же… Часть из этого хотел бы узнать сам, ну и объяснения некоторых явлений =) Реально, статья была бы отличной, только у самого не хватит ни знаний теоретических, ни опыта — напишу, а мне в комментариях вышлют кучу поправок и посоветуют не лезть, не зная =( Много кому бы вправила мозги. Я джва года жду такую статью, короче.
Как перестать использовать Arduino IDE и начать писать для Arduino на C под Linux:

1) устанавливаем gcc-avr, avr-libc, avrdude

2) Пишем код. Например:

#include <avr/io.h>

main() {
DDRD |= 1<<7; // настраиваем порт D, пин 7 на выход
PORTD |= 1<<7; // посылаем туда 1
}


3) Собираем:
avr-gcc -mmcu=atmega644pa -Os -o 1.o 1.c # естественно, здесь нужно подставить вашу модель МК вместо atmega644pa
avr-objcopy -O ihex 1.o 1.hex

4) Бэкапим заводскую прошивку:
avrdude -p m644p -c arduino -P /dev/ttyUSB0 -v -U flash:r:arduino_flash_factory.hex:i # не забываем поменять модель МК. Понять куда подключён программатор можно вызвав dmesg | tail после подключения платы к ПК

5) Зашиваем новую:
avrdude -p m644p -c arduino -P /dev/ttyUSB0 -v -U flash:w:1.hex

Для входа в терминальный режим avrdude (если нужно) используем:
avrdude -p m644p -c arduino -P /dev/ttyUSB0 -v -t

6) Читаем man avrdude и http://www.nongnu.org/avr-libc/user-manual/pages.html
Ну мы не в сферическом вакууме рассуждаем же. Каждый где-то работает, что-то кодит, что-то изучает, что-то зарабатывает. В посте хотелось поднять важность с одной стороны прикладных знаний, а с другой — подчеркнуть ограниченность времени и сил. Когда-то я для себя решил так: разберись с основами, с принципами — дальше будет проще:

  • Таненбаум: железо, ОС
  • Стивенс, Вахалия: юникс изнутри
  • Стивенс, сетевые протоколы
  • С
  • java, с++ чтобы быстро что-то поднять из готового
  • php,python — чтобы в вебе развернуться
  • математика, базовое машиное обучение, матстат, тервер — ну чтобы было лучше понятно что происходит
  • горстка придуманных человечеством алгоритмов, ну чтобы не придумывать заново

А дальше — практика, практика...

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity