Attiny2313 with arduino

Program your attiny2313 with an Arduino

This is the second part of setting up an Arduino to program an Attiny microcontroller, in the previous parts we added support for the variety of microcontrollers. For reference purposes this is what the Attiny2313 will be like when you do this, the pins and the corresponding Arduino pins are shown

Now lets crack on with the setup

Setup attiny2313 connection with Arduino board

Connect up your Attiny2313 to your Arduino as follows

1) attiny2313 pin 1 to arduino pin 10 reset
2) attiny 2313 pin 17 to arduino pin 11 MOSI
3) attiny2313 pin 18 to arduino pin 12 MISO
4) attiny2313 pin 19 to arduino pin 13 SCK
5) attiny2313 pin 10 to arduino GND
6) attiny2313 pin 20 to arduino VCC

Here is a layout

Arduino to atttiny2313

Open the ArduinoISP program and upload the ArduinoISP program to the Arduino board to turn it into an ISP programmer. Now, open up the BLINK sketch, and upload the BLINK sketch to Attiny2313 via “Upload Using Programmer” option on the Arduino IDE as follows

1) Open ArduinoISP program.
File>Examples>ArduinoISP

2) Select the serial port.
Tools>Port>COM5 (yours may differ)

2) Select the required Arduino board, in this case we are using an Arduino Uno.
Tools>Board>Arduino Uno

3) Set the programmer type as AVRISP MKII.
Tools>Programmer>AVRISP MKII

4) Press the upload button.

5) Now your Arduino Uno is setup as the ISP programmer. Next open up the LED Blink sketch.
File>Examples>Basics>Blink

6) Select the AVR target for the Arduino ISP to program to.
Tools>Board>ATtinyx313

7) Change the Board for the Arduino ISP to program to.
Tools>Chip>ATtiny2313

8) Make sure the Clock for the Arduino ISP is set to 8Mhz.
Tools>Clock>8mhz(internal)

You can see these settings in the screenshot below

9) Set the programmer mode.
Tools>Programmer>Arduino as ISP

10) Finally, start the sketch upload to the Attiny2313 microcontroller
File>Upload

If you connect an LED to pin 16 of your Attiny2313 you will see an LED flash on and off

Источник

ATtiny2313 Development Using Arduino

Introduction: ATtiny2313 Development Using Arduino

This is my first instructable, so bear with me. In this instructable, I combined all the resources to burn an ATtiny2313 IC with an Arduino Board. Follow the steps to get into this awesome tinyland.

Step 1: Requirements

ATtiny2313 (You can buy from element14.com or any local electronic shop at around Rs. 90)
Wires and Connectors
Arduino ( Uno or Duemilanove) (mine is Freeduino by Embedded Market, India)
LED and Resistor

220 Ohm for checking program
10 uF Capacitor
Breadboard

SOFTWARE:
You need to have Arduino IDE versions 1.0 or 1.5 are OK.
Download the core files for ATtiny here.

Attachments

Step 2: Primary Software Setup

Go through the following screenshots. It’s a kind of easy procedure.

Step 3: Programmer Setup

Convert your Arduino IDE into an ISP burner. These 4 steps are quite easy to follow.

Step 4: Uploading a Program

Upload your program by using following procedure, If your program doesn’t get uploaded, you can drop me an email at ranvirdesainanded@gmail.com or just write your problem in comments, I’ll try to answer it.

Step 5: Support

Ta Da !!
Your LED might be blinking now, if not, check some previous steps you could’ve messed.
Arduino can be used for the development of the ATtiny2313 limited to some functions:
PWM output, digital output, Serial Communication, Interrupts, Timers, etc.
ATtiny is very god option if you need to control a Servo or just Serial Communication is your aim.

Источник

Программирование комплекта для пайки «Тучка»

Общие сведения

В микроконтроллере Тучки уже находится прошивка, обеспечивающая её работу, поэтому выполнение действий, описанных в данной статье не является обязательным.

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

Если вы увлекаетесь электроникой и программированием, то, вероятно, у вас уже есть контроллер Arduino: Arduino Nano, Arduino UNO или любой другой. В этой статье мы будем использовать Arduino для того, чтобы запрограммировать микроконтроллер Attiny2313A, установленный в Тучке. Разумеется, сделать это можно и другими способами, например, используя USBasp программатор, однако, данный способ в этой статье не рассматривается.

Если вы впервые работаете со средой Arduino IDE, сначала прочитайте нашу инструкцию.

Схема устройства

Схема Тучки приведена на рисунке ниже. Она необходима в том числе для того, чтобы вы могли определить, какие светодиоды к какому выводу подключены.

Обратите внимание, что физические выводы контроллера на схеме обозначены снаружи, а вывода GPIO, которые указываются при программировании — внутри. Так, например, мы видим, что физически светодиод HL1 подключен ко 2 выводу, но для того, чтобы зажечь его, в коде мы будем обращаться к D0.

На рисунке печатной платы вы можете видеть места, на которых находятся светодиоды.

Пояснения к схеме и особенности устройства

Обратите внимание, что катоды светодиодов подключены также к контроллеру (а не к GND, как принято в классическом варианте). Такая реализация позволяет увеличить число светодиодов, подключаемых к контроллеру, сохранив при этом возможность отдельного управлять ими. Это влечёт за собой некоторую особенность управления: для включения светодиода на его анод нужно подать высокий логический сигнал, а на катод — низкий.

Рассмотрим на примере включения светодиода HL1. Для его включения необходимо подать логическую единицу на 2 вывод и логический ноль на 15 вывод.

Также для обеспечения стабильной работы от маломощного источника питания рекомендуем на всей схеме единовременно зажигать только один светодиод. Разумеется, программно реализована функция «одновременного» зажигания нескольких (или всех) светодиодов. С функцией управления светодиодами вы можете ознакомиться самостоятельно в скетче ниже.

Включение поддержки ATtiny2313A в Arduino IDE

Для того, чтобы в Arduino IDE можно было работать с микроконтроллером ATtiny2313A необходимо добавить его поддержку. Для этого:

1) Закройте программу Arduino IDE, если она открыта.

2) Скачайте архив с ядром ATtiny с GitHub.

3) Разархивируйте скаченный архив и поместите папку ATTinyCore-master в С://Program Files (x86) / Arduino / hardware или другое место, где у вас установлена Arduino IDE. Если папка hardware отсутствует, создайте её.

Для того, чтобы загрузить прошивку в контроллер, необходим программатор. Можно использовать либо специально предназначенный для этого программатор, например USBasp, либо использовать любую плату Arduino в качестве программатора. Ниже мы рассмотрим второй способ.

Используем Arduino в качестве программатора

Вы можете использовать плату Arduino из своего любого другого проекта. При этом, после выполнения всех действий данной статьи, вы снова сможете использовать контроллер (разумеется, загрузив туда свой скетч).

Итак, для того, чтобы использовать Arduino в качестве программатора, необходимо загрузить в неё код загрузчика.

1) Перейдите в Файл -> Примеры -> 11.ArduinoISP -> ArduinoISP

2) Подключите Arduino к компьютеру с помощью провода USB. Ещё раз повторимся: плата Arduino может быть любой, главное указывайте далее в инструкции свою модель. Мы будем использовать Arduino Nano.

3) Выберите используемую вами плату в меню Инструменты -> Плата , а также укажите порт, к которому она подключена.

4) Загрузите код. Теперь Arduino выполняет роль программатора.

5) Теперь необходимо указать, что в качестве программатора мы используем Arduino. Выберите в Инструменты -> Программатор -> Arduino as ISP .

6) Подключите Тучку к Arduino. Предварительно убедитесь, что выключатель её питания находится в положении OFF.

Arduino Колодка ICSP Тучки
12 0: MISO
+3.3V 1: +3V
13 2: SCK
11 3: MOSI
10 4: RES
GND 5: GND

7) Откройте скетч, который вы хотите загрузить. В качестве примера мы загрузим стандартный код Тучки (он приведён ниже).

Для того, чтобы убедиться, что вы успешно загрузили новый код, можете изменить настройки, например изменить длительность грозы (28 строка) или включить по умолчанию звук (34 строка).

8) Теперь необходимо указать контроллер, в который мы будем загружать код. Выбираем Инструменты -> Плата -> ATtiny2313(a) .

9) Указываем контроллеру следующие параметры (таблица ниже).

1) Плата ATTiny2313(a)/4313 (No bootloader)
2) Chip ATtiny2313/ATtiny2313A
3) Clock Source (Only set on bootload) 1 MHz (internal)
4) Порт Порт, к которому подключен контроллер Arduino
5) Программатор Arduino as ISP

Пояснения: в пункте 3 мы установили частоту 1МГц. Такая низкая частота обеспечивает более низкое энергопотребление, это важно, учитывая что Тучка питается от батарейки.

10) Нажимаем кнопку «Загрузить». Скетч загрузится в Контроллер Тучки.

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

Стандартный код Тучки

Мы приводим его здесь стандартный код Тучки для того, чтобы после ваших экспериментов вы могли загрузить его и вернуть стандартный алгоритм работы устройства.

В коде программы представлены подробные комментарии. Они помогут вам разобраться в приницпе его работы.

Источник

Использование Arduino UNO в качестве программатора

80р, а ставить для этого Arduino ценой в

1000р. мне жаба не дает) + несколько резисторов, кнопок и 7-ми сегментный индикатор. Но остановился перед проблемой — в отличии от Arduino здесь нужен программатор. Поскольку я не сильно увлекаюсь МК, то программаторов у меня как-то не водится. Arduino теоретически можно использовать в этом качестве, но реально я этого никогда не делал.

В интернетах на эту тему есть много статей. Но, на текущий момент, они способны запутать неподготовленного человека. Проблема в следующем — на предыдущих версиях Arduino (Duemilanove, Diecimila) стоял чип FT232RL, который является преобразователем USB -> UART. На Uno этот чип убрали, заменив на Atmega8U2(МК запрограммированный на преобразование USB -> Serial). Соответственно большинство инструкций нам не подходят. Я уже думал что эта идея неосуществима, но неожиданно встретил подходящий вариант. С ним я вас и ознакомлю. Приступим:

1. Открываем Arduino IDE( у меня это v1.0) и заливаем на нашу Arduino Uno sketch называющийся ArduinoISP (File -> Examples -> Arduino ISP). Прошу обратить внимание на первые строчки файла — там содержится важная подсказка как подключать наш программатор к МК:

Собственно, после этого этапа мы уже имеем программатор типа avrisp, но нужно еще подключить к нему наш МК.

2. Смотрим в datasheet к нужному МК(у меня это ATTiny2313A) и ищем pinout. На следующей картинке я отметил интересующие нас ноги.

3. Теперь пришел самый интересный этап — подключаем наш программатор к МК. Собственно схема подключения не представляет из себя ничего сложного, но есть одна хитрость — нужно подключить конденсатор в 10мкФ(uF) между выходами RESET и GND у Arduino. Причем выход «-» (отмечен белой полосой) должен быть подключен к GND. Данный трюк предотвратит перезагрузку Arduino при заливке прошивки в МК.

Соединяем ноги МК и пины Arduino в соответствии с функционалом из pinout и sketch (Pin10 с ногой PA2, Pin11 с ногой PB5 и тд). Помним что VCC это питание, а в нашем случае — +5V. Для индикации я выбрал следующие светодиоды:
9: Heartbeat — Зеленый. Показывает что программатор работает. В процессе простоя постоянно мигает.
8: Error — Красный. Теоретически загорается при ошибках, но еще ни разу не видел.
7: Programming — Синий. Мигает аналогично Arduino’вским RX/TX при заливке прошивки в МК.
Повесил их через резисторы 220 Ом.
Собранная схема будет выглядеть примерно вот так:

4. Подготавливаем прошивку для нашего МК. Для тестирования я решил использовать обычное мигание светодиодом:

Компилируем в hex (выдрал команды из какого-то Makefile от WinAVR):

И заливаем на MK:

Хочу обратить внимание на ограничение скорости заливки в 19200. Без этого параметра я долго пытался что-то залить, но avrdude мне упорно возвращал ошибки типа «programmer is not responding» или «not in sync».

После этого можно подключить светодиод к ноге PB0 МК(через резистор конечно) и посмотреть как он мигает.

Источник

Adblock
detector