+7 (495) 749-9116 Перезвоните мне Перезвоните мне
0 Корзина
0 Сравнение
0 Избранное

Приступая к работе с Arduino! - Глава Нулевая

Итак, давайте начнем ...
Есть более пятидесяти глав в этой серии, но я рекомендую начать с этой нулевой главы. Но Вы так же можете начать с любой, воспользовавшись усказателем статей здесь . После того как вы ознакомитесь с материалом с нулевой главы до тринадцатой вы сможете свободно обращаться к любой другой главе. В течение первых нескольких тем, мы так же будем обращаться к книге: Приступая к работе с Arduino (Massimo Banzi)
а также вам необходимо иметь основные знания по электронике. 
 
Прежде всего давайте обратимся к пониманию системы Arduino. Что такое Arduino.
 
Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере.
 
Итак, мы имеем аппаратные средства и программное обеспечение. Наше оборудование будет представлять собой персональный компьютер, который может работать c Arduino IDE (интегрированная среда разработки), программное обеспечение, а также непосредственно модуль Arduino.
Наше программное обеспечение IDE -  очень похоже на обычный текстовый редактор, но отличается тем, что может переслать написанную программу ( скетч, sketch )  непосредственно в микроконтроллер. Эти эскизы программ пишутся на языке близком языку С. И затем интерпретируются специальным загрузчиком (bootloader) в программное обеспечение, которое понимает процессор. Так как Arduino – это система с открытым исходным кодом, то любой желающий может приобрести пустой микроконтроллер и установить загрузчик на нем, или даже написать свою собственную загрузчик или модифицировать исходный.

Теперь посмотрим, что собой представляет Arduino.
 

Arduino Uno



Мы видим микроконтроллер, установленный в плату с интерфейсом USB, разъем питания постоянного тока, а также множества входных и выходных гнезд (о них позже). Плюс несколько светодиодов и прочие компоненты. Это плата Uno , и в ней устанавливается микроконтроллер ATmega328.
Есть также больше по размеру, меньше, и в будущем будут новые платы – каждая отличается по физическим размерам, типу интерфейса и пр.   В наших пректах мы будем применять платы аналогичные Duemilanove.

рдуино

Наличие линейки дополнительных гнезд со входами/выходами микроконтроллера, гнезд питания, земли упрощает подключение внешних модулей, сервомоторов.

Итог на данный момент - к Arduino можно подключить различные формы входных и выходных сигналов, а также создать программу для обработки входных сигналов, формированию выходных сигналов. Например, можно создать температурный датчик - когда температура в помещении поднимается выше определенной величины, Arduino может подать сигнал тревоги.
Входными датчиками могут быть кнопки, переключатели, регуляторы, беспроводные датчики и т.д. Выходными элементами могут быть светодиоды, электромоторы, насосы, жидкокристаллические, светодиодные дисплеи, и т.д. В общем, все, что может быть включено или выключено, или регулироваться электрическими сигналами, можно управлять с помощью Arduino.
Чтобы облегчить задачу, вы можете купить или сделать самостоятельно подключаемый модуль – шильд. 
Шильд  - это интерфейсная плата, которая устанавливается на верхнюю часть вашего Arduino, и имеет различные типы устройств. Например,  Это может быть модуль для подключения к сети Интернет, джойстик для игр или управления роботом, или дисплей.
Так что с правильным скетчем, шильдом вы можете выполнить какие-либо задачи.

Что нам нужно для учебы на данный момент для того, чтобы фактически сделать что-то. 
Вам нужны три вещи:
  • Персональный компьютер, Linux, MacOS или Windows, с портом USB, с доступом в Интернет. Если вы читаете читаете эту статью - значит вы в сети,
  • кабель USB, который соответствует вашему разъему платы
  • Arduino или совместимая плата. Большинство плат продаются вместе с кабелем USB. Проверьте, прежде чем покупать.
Обновление - 10/01/2013:  Я написал эти учебники в период, охватывающий более двух лет. За это время несколько версий Arduino IDE были опубликованы. В течение следующих нескольких недель я постараюсь обновить учебники, чтобы они работали с последним Arduino v1.0.1 (или новее) IDE. В то же время, вы можете запустить как V23 (старая) и v1.0.1 (и более) на этом же компьютере. Любой материал учебника, обновленный 24.11.2012  работает с новой IDE. Если возникли вопросы - напишите письмо Джону на tronixstuff точка ком.

И теперь для начальной подготовки - пожалуйста, установите вашу Arduino IDE программное, следуя инструкциям здесь . 

В этом учебнике некоторые скетчи имеют расширение PDE, а некоторые INO. Здесь нет ошибки. Расширение PDE имели счетчи в IDE  до версии v1.0. Более старшие версии поддерживают оба вида расширения.
Я, надеюсь, Вы понимаете, что Arduino может питаться от USB порта компьютера. Но, если вы хотите использовать свой ​​запрограммированный Arduino без компьютера, вы должны подключить к DC гнезду внешний источник питания.

Упражнение 0.1
Давайте еще ​​немного поморгаем светодиодами. Давайте создадим с Вашей Arduino линейку светодиодов, моргающих слева направо и справа налево, и используя не один, а восемь штук. Заставим моргать светодиоды в бесконечном цикле последовательности 1-2-3-4-5-6-7-8-7-6-5-4-3-2-1-2-3 - ... с задержкой в ​​одну секунду .
Вам понадобится:
 
  • Ваши стандартные настройки Arduino (компьютер, кабель, Uno или совместимый)
  • 8 светоизлучающих диодов.
  • 8 резисторов 360 Ом 0,25 Вт. Резисторы необходимы для ограничения тока светодиодов.
  • Макетная плата и соединительного провода
  • видеокамера (опционально) - для документирования Вашего успеха! Результат работы можете выложить в Youtube
Предлагаю сделать задержку переменной. Так что вы могли легко изменить её .
В исходном проекте «мигающий светодиод», описанный в книге Массимо Банци, использовался цифровой вывод 13. На этот раз, вы можете использовать цифровые контакты со 2 до 9. Аппаратная сторона проста - подключите провод от каждого цифрового контакта к аноду светодиода, затем подключите соединительным проводом резистор 360 Ом резистор и далее катод светодиода на землю. См. схему ниже:



Схема включения светодиодов

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

0.1  алгоритм работы программы.
 
Устанавливаем, что все контакты мы будем использовать как выходы
Создаем переменную для хранения длительность задержки в миллисекундах
Начинаем бесконечно повторяемый цикл
включить контакт 2, ждать установленное время задержки, выключить его
включить контакт 3, ждать установленное время задержки, выключить его
Повторите эти операции для остальных выходов - с 4 до 9
Затем сделайте то же самое, но в обратном направлении до контакта 3
Окончание  бесконечного цикла
 
Что получилось у Вас?  Ни чего страшного нет, если у вас ни чего не получилось. Так как Вы учитесь. Но чтобы сэкономить ваше время ниже приведен код для данной схемы
 /*
exercise 0.1 - KITT emulator!
 Created 02/04/2010
 By John Boxall
 http://tronixstuff.com...
 Blinks LEDs from output pin 2~9 in a forwards<>backward motion
 The circuit:
 an LED is connected to each output pin from 2 to 8, thence to a 360 ohm resistor, then to ground (pin 4 on the bottom left of the Arduino Duemilanove).
 based on an orginal by H. Barragan for the Wiring i/o board
 */
// The setup() method runs once, when the sketch starts
int del=100; // sets a default delay time, 100 milliseconds (one tenth of a second)
void setup()
{
  // initialize the digital pins as outputs:
  // later on there will be easier ways to do this
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
}
// the loop() method repeats indefinitely until you turn off the power
void loop()
{
  digitalWrite(2, HIGH);   // turn on LED on pin 2
  delay(del);              // wait (length determined by value of 'del')
  digitalWrite(2, LOW);    // turn it off
  digitalWrite(3, HIGH);   // turn on LED on pin 3
  delay(del);              // wait
  digitalWrite(3, LOW);    // turn it off
  digitalWrite(4, HIGH);   // turn on LED on pin 4
  delay(del);              // wait
  digitalWrite(4, LOW);    // turn it off
  digitalWrite(5, HIGH);   // turn on LED on pin 5
  delay(del);              // wait
  digitalWrite(5, LOW);    // turn it off
  digitalWrite(6, HIGH);   // turn on LED on pin 6
  delay(del);              // wait
  digitalWrite(6, LOW);    // turn it off
  digitalWrite(7, HIGH);   // turn on LED on pin 7
  delay(del);              // wait
  digitalWrite(7, LOW);    // turn it off
  digitalWrite(8, HIGH);   // turn on LED on pin 8
  delay(del);              // wait
  digitalWrite(8, LOW);    // turn it off
  digitalWrite(9, HIGH);   // turn on LED on pin 9
  delay(del);              // wait
  digitalWrite(9, LOW);    // turn it off
  digitalWrite(8, HIGH);   // turn on LED on pin 8
  delay(del);              // wait
  digitalWrite(8, LOW);    // turn it off
  digitalWrite(7, HIGH);   // turn on LED on pin 7
  delay(del);              // wait
  digitalWrite(7, LOW);    // turn it off
  digitalWrite(6, HIGH);   // turn on LED on pin 6
  delay(del);              // wait
  digitalWrite(6, LOW);    // turn it off
  digitalWrite(5, HIGH);   // turn on LED on pin 5
  delay(del);              // wait
  digitalWrite(5, LOW);    // turn it off
  digitalWrite(4, HIGH);   // turn on LED on pin 4
  delay(del);              // wait
  digitalWrite(4, LOW);    // turn it off
  digitalWrite(3, HIGH);   // turn on LED on pin 3
  delay(del);              // wait
  digitalWrite(3, LOW);    // turn it off
}
 
18.09.2013
К другим материалам СМИ