Статистика

Участников проекта 105
Опубликовано статей 78
Отчет по карме. Топ 20

Новости блога

1 29.11.2013  Сегодня самым активным участникам newblog'а был выплачен доход с sape.
7 02.11.2012  Ура! Свешилось, нашему сайту дали тИЦ 10. Спасибо всем кто принимает участие в развитии нашего блога.
8 21.08.2012  Интеграция с sape.ru. Теперь каждый автор статей на newblog автоматически зарабатывает на рекламе.
Все новости

Топ 5 категорий

Программирование 46
Операционные системы 9
Базы данных 4
Туризм 2
Заметки 2

Последние 5 заметок (90)

gullyar - Закладки gullyar
gullyar - Ваша первая закладка
osadchaya - Закладки osadchaya
Ira0231188 - Закладки Ira0231188
Ira0231188 - Закладки Ira0231188

Ссылки

www.freedev.asia

Эксперименты с Arduino Uno

18.09.2014 16:06 | Просмотров: 13186 | Доход: 2.12 руб. | Комментариев: 19
[Программирование] 
Рейтинг: 3.75/4

Появление первых микроконтроллеров ознаменовало начало новой эры в развитии микропроцессорной техники….Ой, что-то кажется я не туда пошел….В общем решил как-то и я не пройти мимо Arduino-мании мимо. После приобретения платы Arduino Uno и помигав какое-то время светодиодом на нем, я подумал, а что же дальше? И решил я сделать небольшой электронный термометр. О чем далее и пойдет речь.

Мною были заказаны из-за бугра(наших товарищей китайцев) вот такие вещи :

1)    комплект проводов 120 шт (20 см) 5$;

2)    плата прототипирования 3$;

3)    Arduino Uno 13.50$;

4)    ЖК-дисплей 1602 (16 символьный ,2х-строчный) 2.50$;

5)    Датчик температуры и влажности DHT22 4$;

Вот в принципе и весь набор, правда я по своей неопытности(тупости) заказал экран без припаянных ножек, поэтому будьте внимательны!

И так, приступим.

Закрепите экран на breadboard'е и подведите к рельсам питания breaboard'а (+ и -) питание +5 В и землю() с Arduino. Питание и земля понадобятся не один раз, поэтому удобнее пробросить их именно на рельсы.

Для того, чтобы провести проверку работоспособности экрана, можно включить фоновую подсветку экрана, для этого Вам необходимо подать +5 В на 15-й контакт дисплея и подключив 16-й контакт к земле. Если у вас экран загорелся ярким светом, значит все хорошо, если нет, проверьте еще раз всю схему подключения, возможно проблема в ней или же все таки «китайцы » испортили экранчик )))). Обратите внимание, что на некоторых моделях нумерация контактов идёт не просто справа-налево от первого до шестнадцатого, а несколько более хитро. Так, например, на экране 16×2 от Мэлт первый контакт физически находится на 14-й позиций, второй на 13-й и так далее справа-налево вплоть до 14-го на первой позиции, а 15-й и 16-й расположены справа. Нумерация около контактов дисплея поможет не запутаться.

Далее необходимо подключить цепь, отвечающую за отображение символов. Для этого предназначены контакты 1, 2 и 3 на дисплее. Перед подключением отключите Arduino от питания.

  •  Первый — это земля. Соедините его с рельсой земли.
  •  Второй — питание. Соедините его с рельсой +5 В.
  •  Третий — контрастность. Для получение максимально контрастного изображения соедините его с рельсой земли. Вы можете подать на этот контакт произвольное напряжение от 0 до 5 В, чем оно выше, тем тусклее будет изображение, но вместе с этим снизится энергопотребление. Для возможности плавной регулировки контрастности можете подать на этот контакт выходной сигнал потенциометра. Если у Вас нету потенциометра не беда, подключите данный контакт к 9 контакту Arduino (ШИМ контакту). Позже мы сможем регулировать контрастность экрана программно.

Соединим 5-й контакт дисплея, который отвечает за выбор чтение/запись с рельсой земли. Это означает «всегда писать»

  •  4-й контакт дисплея — 4-й контакт Arduino. Это линия адресного сигнала. Известная как A0 или RS. В зависимости от того, 0 она или 1, дисплей понимает имеем ли мы на линии данных команду вроде «передвинуть курсор» или код символа для отображения.
  • 6-й контакт дисплея — 5-й контакт Arduino. Это линия разрешения доступа к данным. Известная, как E или Enable. Когда эта линия становится единицей, дисплей исполняет команду или выводит символ с линии данных. 
  • 11-й, 12-й, 13-й, 14-й контакт дисплея — 10-й, 11-й, 12-й, 13-й контакт Arduino соответственно. Это линии данных. Известные как DB4, DB5, DB6, DB7.

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

Датчик DHT22 имеет 4 контакта из которых используются только 3.

 

Датчик DHT22

  • 1-й контакт подключаем к рельсе «+»;
  • 2-й контакт подключаем к контакту 7 Arduino;
  • 4-й контакт к рельсе «-».

Вот и все, осталось только загрузить программу в саму плату Arduino и вперед на измерения температур!(Для этого Вам необходимо подсоединить свою Arduino плату к компьютеру через кабель usb type B,на компьютере необходимо предварительно установить Arduino IDE(или любую другую IDE,которая поддерживает Arduino).После установки запустить Arduino IDE, загрузить в нее скетч описанный ниже, потом нажать на кнопочку "Загрузить в Arduino" и через пару секунд наблюдаешь на мигание светодиодов на плате и отображение температуры и влажности на экране)

)

 

// Подключаем стандартную библиотеку LiquidCrystal
#include <LiquidCrystal.h>
 
// Инициализируем объект-экран, передаём использованные 
// для подключения контакты на Arduino в порядке:
// RS, E, DB4, DB5, DB6, DB7
LiquidCrystal lcd(4, 5, 10, 11, 12, 13);

//Подключаем библиотеку DHT для датчика температур
#include "DHT.h"
#define DHTPIN 7
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

void setup() 
{
     // устанавливаем ШИМ выход и регулируем контраст: 
    pinMode (9, OUTPUT);  
    analogWrite (9, 35);  
    dht.begin();//инициализация датчика
    // устанавливаем размер (количество столбцов и строк) экрана
    lcd.begin(16, 2);    
}
 void loop() 
{
  float h = dht.readHumidity(); // Считываем влажность датчика
  float t = dht.readTemperature(); // Считываем температуру датчика
  lcd.setCursor(0,0); // устанавливаем позицию курсора на экране 

lcd.print("t=");lcd.print(t, 1); lcd.print(" \xDF""C");
lcd.setCursor(0,1);
lcd.print("Vlagi=");lcd.print(h, 1);lcd.print(" %"); // Выводим информацию с датчика  
}

Вот и все, думаю для первого эксперимента вполне достаточно, в дальнейшем планируется все это засунуть вот в такую

 коробочку и подключить Arduino через аккумуляторы, для автономии работы.

Удачи в экспериментах!

 





 

 

 

 

 


© MiMushi
| Комментировать статью |
  • GM +2587 (21.09.2014 22:23)
    Супер! Теперь нужна статья про квадрокоптер на arduino :)
    | Ответить |
    • MiMushi +243 (22.09.2014 07:25)
      будет! но немного позже, сперва еще пару статеек, так скажем вводных ипотом квадрокоптер
      | Ответить |
      • Tiger +458 (22.09.2014 11:14)
        А ты сам это устройство пробовал собирать?
        | Ответить |
        • MiMushi +243 (22.09.2014 11:44)
          какое это устройство?
          | Ответить |
          • Tiger +458 (22.09.2014 11:58)
            Ну блин, описанное в статье, это же уже получается готовое устройство по измерению температуры и влажности...
            | Ответить |
            • MiMushi +243 (22.09.2014 12:06)
              так блин фотки то чьи сделаны?и описание от болды чтоли написано?
              | Ответить |
              • Аноним 0 (22.09.2014 12:36)
                А нельзя фотки побольше и покликабельней?
                Вариант "открыть в другой вкладке" не предлагать. Хочу чтоб как в лучших домах Ландона!
                | Ответить |
                • GM +2587 (23.09.2014 09:16)
                  Добавлена кликабельность для фоток :)
                  | Ответить |
              • Tiger +458 (22.09.2014 12:48)
                Кто его знает, может где-нибудь скопипастил
                | Ответить |
                • MiMushi +243 (22.09.2014 13:03)
                  ну спасибо конечно...надеюсь ты не копипастишь.....
                  | Ответить |
  • WTP +711 (22.09.2014 09:43)
    Нифига не понял, но впечатлился)
    | Ответить |
  • Tiger +458 (22.09.2014 12:50)
    "Вот и все, осталось только загрузить программу в саму плату Arduino и вперед на измерения температур!"
    А как загрузить программу в Arduino?
    | Ответить |
    • MiMushi +243 (22.09.2014 13:09)
      Подсоединяешь Arduino плату к компьютеру через кабель usb type B,на компьютере устанавливаешь Arduino IDE(или любую другую IDE,которая поддерживает Arduino,запускаешь Arduino IDE, загружаешь в нее скетч описанный в данной статье, потом жмешь на кнопочку "Загрузить в Arduino" и через пару секунд наблюдаешь)
      | Ответить |
      • Аноним 0 (22.09.2014 14:15)
        Во! Добавь это в статью, будет удобнее... А то начинающим непонятно ;)
        | Ответить |
  • Tiger +458 (22.09.2014 16:35)
    А блок питания какой использовал?
    | Ответить |
    • MiMushi +243 (23.09.2014 07:24)
      достаточно подключения к usb компьютера, а так-то в статье написано, что в дальнейшем будет использоваться аккумуляторы(от 5 в до 12в).
      | Ответить |
  • Аноним 0 (25.11.2014 16:47)
    скрытая реклама ali.express детектед )
    | Ответить |
    • MiMushi +243 (27.11.2014 12:20)
      кто сказал, что это реклама?это просто предложение использования данных устройств, которые были куплены там, ведь в статье никто не настаивает на покупке их на алиэкспресс...
      | Ответить |
  • Аноним 0 (12.02.2017 01:24)
    Спасибо за статью. Повторил этот проект на Arduino Pro Mini Mega328 16 МГц. Работает. 
    | Ответить |