Если Вы заинтересованы в моих переводах и хотите меня отблагодарить, то кликните всего на одной ссылке в блоке Оплаченная Реклама

пятница, 21 сентября 2012 г.

AnalogInOutSerial

Этот пример показывает, как читать аналоговый входной вывод, затем переносить результат в диапазон от 0 до 255, а затем использовать этот результат для установки длительности импульса модуляции (PWM) в выходной контакт, чтобы установить яркость светодиодов.


Необходимое оборудование

  • Arduino
  • потенциометр
  • светодиод
  • 220 Ом резистор



Цепь

Подключите один вывод из вашего потенциометра на 5V, центральный контакт на аналоговый вывод 0, а последний вывод на землю. Далее подключить светодиод через 220 Ом резистор для ограничения тока в цифровой контакт 9. Длинный пин должен быть подключен к выходу из резистора, короткий на землю.

Схематический


Код

В программе ниже, после объявления двух назначение выводов (аналоговый 0 для потенциометров и цифровых 9 для LED) и двух переменных, sensorValue и outputValue , единственное, что вы делаете, будет в настройках функцию начать последовательную связь.
Далее, в основной цикл код, sensorValue назначается для хранения  аналогового значения, поступающие из потенциометра. Поскольку Arduino имеет analogRead разрешение 0-1023, а analogWrite разрешение только 0-255, это необработанные данные от потенциометра должно быть уменьшено до его использования для затемнения LED.
В целях расширения этого значения, использовать функцию map()

outputValue = map(sensorValue, 0, 1023, 0, 255);
outputValue назначается равной масштабированное значение с потенциометра. map() принимает пять аргументов: значение, которое будет отображаться, диапазон низких и высоких частот исходных данных, а также низких и высоких значений, что данные, которые будут масштабироваться тоже. В этом случае, данные датчиков отображается вниз от своего первоначального диапазона от 0 до 1023 от 0 до 255.
Данные отображаются с датчика затем выводятся на analogOutPin для затемнения или осветления LED в зависимости от значения потенциометра. Наконец, как значение и масштабированное значение датчиков направляются в последовательный порт непрерывным потоком данных.

const int analogInPin = A0;
const int analogOutPin = 9;

int sensorValue = 0;
int outputValue = 0;

void setup() {
  Serial.begin(9600); 
}

void loop() {
  sensorValue = analogRead(analogInPin);
  outputValue = map(sensorValue, 0, 1023, 0, 255);
  analogWrite(analogOutPin, outputValue);           

  Serial.print("sensor = " );                       
  Serial.print(sensorValue);      
  Serial.print("\t output = ");      
  Serial.println(outputValue);   

  delay(2);                     
}

Tone4

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


Необходимое оборудование

  • 3 маленьких динамика 8 Ом
  • 3 резистора 100 Ом
  • перемычки
  • макетная плата 

  • Цепь


    Схематический


    Код

    В  коде ниже играет тона на каждый из динамиков в последовательности, после отключения предыдущего динамика. Обратите внимание, что продолжительность каждого тона равна задержке, которая следует за ним.
    void setup() {

    }

    void loop() {
       noTone(11);   
      tone(6, 440, 200);
      delay(200);

      noTone(6);
      tone(7, 494, 500);
      delay(500);
      
      noTone(7);  
      tone(11, 523, 300);
      delay(300);

    }

    суббота, 15 сентября 2012 г.

    Робот-бармен на базе Arduino Mega


    Робот-бармен — отличное дополонение для бара или весёлой дружеской вечеринки.
    Этот робот собран из акрила (при помощи лазерной резки) и представляет собой несколько «этажей».
    В верхнем «слое» находятся перевернутое бутылки с ингредиентами для коктейлей. Каждая ёмкость емеет свой канал с клапаном, который позволяет налить жидкость в стакан, который двигается внизу, вокруг центра машины. После прохождения «круга» стакан возвращается к открытой части и пользователь может взять свой напиток.
    В основе электронной начинки робота, лежит Arduino Mega с Android ADK и планшеный компьютер с ОС Андроид. 
    В качестве источника питания используется компьютерный блок питания ATX.
    В качестве движителя используется обычный мотор-редуктор, управляемый через H-мост, а положение вала контролируется датчиками Холла (магниты находятся под позицией каждого ингредиента).
    Клапаны на соплах управляются соленоидами, для контроля которых используется те же H-мосты.

    Конструкция робота-бармена в Solidworks:


    Ссылки:
    andrewparra.net/bender/

    Взято с http://robocraft.ru

    Simple Keyboard

    Этот пример показывает, как использовать  tone() команду для реагирования в зависимости от датчика нажатия.


    Необходимое оборудование

  • плата Arduino
  • 3 сенсорные кнопки
  • маленький динамик 8 Ом
  • 3 резистора 10 КОм
  • резистор 100 Ом
  • перемычки
  • макетная плата 

  • Цепь

    Подключите один выход динамика к цифровому выводу 8 через резистор 100 Ом, а его другой выход на землю.
    Подключите ваши датчики параллельно на 5В. Подключите каждый датчик в аналоговые контакты 0-2, используя 10KОм резисторы между выходами датчиков.

    Схема

    Код

    const int threshold = 10;

    int notes[] = {
      NOTE_A4, NOTE_B4,NOTE_C3 };

    void setup() {

    }

    void loop() {
      for (int thisSensor = 0; thisSensor < 3; thisSensor++) {
        int sensorReading = analogRead(thisSensor);

        if (sensorReading > threshold) {
          tone(8, notes[thisSensor], 20);
        } 
      }
    }

    пятница, 31 августа 2012 г.

    Как рождаются Arduino

    Мне было интересно почитать:)

    http://habrahabr.ru/post/149855/

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

    воскресенье, 11 декабря 2011 г.

    Pitch follower


    Этот пример показывает, как использовать команду tone(), чтобы создать звук, который использует значения аналоговых входов.

    Необходимое оборудование



  • плата Arduino
  • маленький динамик 8 Ом
  • 1 фотоэлемент
  • резистор 4,7 КОм
  • резистор 100 Ом
  • перемычки
  • макетная плата

  • Цепь



    Подключите одну клемму вашего динамика к цифровому контакту 9 через резистор 100 Ом, а другую клемму на землю. Запитайте фоторезистор с помощью 5В и подключите на аналоговый порт 0 с добавлением резистора 4,7 КОм на землю.

    Схема


    Код

    Код для этого примера очень простой. Просто возьмите значение с  аналогового входа и отобразите его значения для диапазона звуков. Люди могут слышать с 20 - 20000 Гц, а 100 - 1000 как правило, работает очень хорошо для этого скетча

    Вы должны будете получить фактический диапазон аналогового входа для отображения. В схеме показано, аналоговое значение входного варьировались от примерно 400 до примерно 1000. Изменение значения в команде map() , чтобы соответствовать диапазон для вашего датчика.
    Эскиз выглядит следующим образом:
    void setup() {
      Serial.begin(9600);
    }

    void loop() {
      int sensorReading = analogRead(A0);
      Serial.println(sensorReading);
      int thisPitch = map(sensorReading, 400, 1000, 100, 1000);

      tone(9, thisPitch, 10);
    }

    суббота, 10 декабря 2011 г.

    Tone

    Этот пример показывает, как использовать команду tone() для генерирования (проигрывания) музыкальных нот. Он играет маленькую мелодию, которую вы, возможно, прежде слышали.

    Необходимое оборудование



  • плата Arduino
  • маленький динамик 8 Ом
  • резистор 100 Ом
  • перемычки

  • Цепь



    Подключите одну клемму вашего динамика к цифровому контакту 8 через 100 Ом. Подключите другую клемму на землю.

    Схема




    Код