Сторінка 1 з 1

Характеристики Arduino Uno

Додано: 22 травня 2017 21:01
Arduino
Входи і виходи Arduino Uno
З використанням функцій pinMode (), digitalWrite () і digitalRead () кожен з 14 цифрових виводів може працювати в якості входу або виходу. Рівень напруги на виводвхах обмежений 5В. Максимальний струм, який може віддавати або споживати один вихід, становить 40 мА. Всі виводи пов'язані з внутрішніми резисторами що підтягуються (за замовчуванням відключеними) номіналом 20-50 кОм. Крім цього, деякі виводии Ардуіно можуть виконувати додаткові функції:
Послідовний інтерфейс: виводи 0 (RX) і 1 (TX). Використовуються для отримання (RX) і передачі (TX) даних по послідовному інтерфейсу. Ці виводи з'єднані з відповідними висновками мікросхеми ATmega8U2, яка виконує роль перетворювача USB-UART.
Зовнішні переривання: виводи 2 і 3. Чи можуть служити джерелами переривань, що виникають при фронті, спаді або при низькому рівні сигналу на цих висновках. Для отримання додаткової інформації див. Функцію attachInterrupt ().
ШІМ: виводи 3, 5, 6, 9, 10 і 11. За допомогою функції analogWrite () можуть виводити 8-бітові аналогові значення в вигляді ШІМ-сигналу.
Інтерфейс SPI: вводи 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Із застосуванням бібліотеки SPI дані виводи можуть здійснювати зв'язок по інтерфейсу SPI.
Світлодіод: 13. Вбудований світлодіод, приєднаний до висновку 13. При відправці значення HIGH світлодіод включається, при відправці LOW - вимикається. В Arduino Uno є 6 аналогових входів (A0 - A5), кожен з яких може уявити аналогову напругу у вигляді 10-бітного числа (1024 різних значення). За замовчуванням, вимір напруги здійснюється щодо діапазону від 0 до 5 В. Проте, верхню межу цього діапазону можна змінити, використовуючи вивід AREF і функцію analogReference ().
Крім цього, деякі з аналогових входів мають додаткові функції:
TWI: вивід A4 або SDA і вивід A5 або SCL. З використанням бібліотеки Wire дані виводи можуть здійснювати зв'язок по інтерфейсу TWI. Крім перерахованих на платі існує ще кілька виводів:
AREF. Опорна напруга для аналогових входів. Може бути задіяний функцією analogReference ().
Reset. Формування низького рівня (LOW) на цьому висновку призведе до перезавантаження мікроконтролера. Зазвичай цей вивід служить для функціонування кнопки скидання на платах розширення Дивіться також відповідність виводів Arduino і ATmega328. Терморегулятори для мікроконтролерів ATmega8, 168 і 328 ідентична.

Зміни на платі версії R3 перераховані нижче:
терморегулятори 1.0: додані виводи SDA і SCL (біля виведення AREF), а також два нових виведення, розташованих біля виведення RESET. Перший - IOREF - дозволяє платам розширення підлаштовуватися під робочу напругу Ардуіно. Даний вивід передбачений для сумісності плат розширення як з 5В-Ардуіно на базі мікроконтролерів AVR, так і з 3.3В-платами Arduino Due. Другий вивід ні до чого не приєднаний і зарезервований для майбутніх цілей. Покращена стійкість ланцюга скидання. Мікроконтролер ATmega8U2 замінений на ATmega16U2. "Uno" (в перекладі з італійської - "один") названий з нагоди майбутнього випуску Arduino 1.0. Спільно з Arduino 1.0 дані пристрої є базовими версіями Ардуіно.
ArduinoUNO.png
arduino_uno_comp.jpg
Зв'язок
Arduino Uno надає ряд можливостей для здійснення зв'язку з комп'ютером, ще одним Ардуіно або іншими микроконтроллерами. У ATmega328 є приймач UART, що дозволяє здійснювати послідовний зв'язок за допомогою цифрових виводів 0 (RX) і 1 (TX).
Мікроконтролер ATmega16U2 на платі забезпечує зв'язок цього приймача з USB-портом комп'ютера, і при підключенні до ПК дозволяє Ардуіно визначатися як віртуальний COM-порт. Прошивка мікросхеми 16U2 використовує стандартні драйвера USB-COM, тому установка зовнішніх драйверів не потрібно. На платформі Windows необхідний тільки відповідний .inf-файл. У пакет програмного забезпечення Ардуіно входить спеціальна програма, що дозволяє зчитувати і відправляти на Ардуіно прості текстові дані.
При передачі даних через мікросхему-перетворювач USB-UART під час USB-з'єднання з комп'ютером, на платі будуть мигати світлодіоди RX і TX. (При послідовній передачі даних за допомогою виводів 0 і 1, без використання USB-перетворювача, дані світлодіоди задіюються). Бібліотека SoftwareSerial дозволяє реалізувати послідовний зв'язок на будь-яких цифрових виводах Arduino Uno. У мікроконтролері ATmega328 також реалізована підтримка послідовних інтерфейсів I2C (TWI) і SPI.
У програмне забезпечення Ардуіно входить бібліотека Wire, що дозволяє спростити роботу з шиною I2C; для отримання більш докладної інформації див. документацію. Для роботи з інтерфейсом SPI використовуйте бібліотеку SPI.

Характеристики Arduino Uno

Додано: 18 вересня 2021 00:26
LeslieTolve
Hi I just bought the OLED Display and OLED shield and hooked it up to my Arduino Uno SMD R2

I follow the instructions in the OLED Shield Setup and Software setup and then uploaded the all_drawing_operations to my Arduino but nothing happened

First questions is: on both sides the shield has a couple of extra header pins than my arduino does, so I have 2 extra pins hanging over the edge
On one side the SCL and SDA pins are just hanging out, and on the other side NC and IOREF are bumping into some capacitors so I have bent them out of the way. Are these pins necessary for the Shield to work?

Second question: after a couple of minutes of it not working, I noticed that the pins of the OLED connector were all contacting the Arduinos USB housing, possibly shorting everything out. Will this have caused any damage to the OLED Display or Arduino?

I am guessing I am going to have to buy another Arduino to get this working

Thanks in advance for any help you can give

Характеристики Arduino Uno

Додано: 27 жовтня 2021 07:00
AaronEvoky
Si je ne me trompe pas, il y a incompatibilité entre lArduino Uno et lethershield ancienne version due au bus SPI qui passe maintenant par le header ICSP.
Y-a-il moyen de les faire fonctionner ensemble quand-même ?
merci
gilles

Характеристики Arduino Uno

Додано: 14 квітня 2022 10:07
dushlak
ЕСТЬ КОД ПРОБЛЕМА В ТОМ ЧТО НУЖНО ЧТО БЫ КОД БЫЛ ПОД LSD 1602 И ДОПОЛНИТЕЛЬНО ВЫВОДИЛ ТЕМПЕРАТУРУ С ДАТЧИКА DHT11 НАДЕЮСЬ ПОМОЖЕТE НАПИСАТЬ КОД СПАСИБО ЗА ПОМОЩЬ)))

Код: Виділити все

// подключение библиотек для nokia 5110
 #include 
 #include 
 // подключение библиотеки DHT
 #include "DHT.h"
 // тип датчика DHT
 #define DHTTYPE DHT11
 
// контакт подключения входа данных модуля DHT11
 int pinDHT11=9;
 // контакт подключения аналогового выхода модуля влажности почвы
 int pinSoilMoisture=A0;
 
 // контакт подключения аналогового выхода фоторезистора
 int pinPhotoresistor=A1;
 
// пины светодиодов индикации
 #define LED_TEMP 5
 #define LED_MOISTURE 6
 #define LED_LIGHT 7
 
// значения для условий
 #define TEMP_DETECT 30
 #define MOISTURE_DETECT 500
 #define LIGHT_DETECT 250
 
// создание экземпляра объекта DHT
 DHT dht(pinDHT11, DHTTYPE);
 
// Nokia 5110
 // pin 13 - Serial clock out (SCLK)
 // pin 12 - Serial data out (DIN)
 // pin 11 - Data/Command select (D/C)
 // pin 10 - LCD chip select (CS)
 // pin 8 - LCD reset (RST)
 Adafruit_PCD8544 display = Adafruit_PCD8544(13, 12, 11, 10, 8);
 
void setup() {
 // запуск последовательного порта
 Serial.begin(9600);
 //
 pinMode(LED_TEMP,OUTPUT);digitalWrite(LED_TEMP,LOW);
 pinMode(LED_MOISTURE,OUTPUT);digitalWrite(LED_MOISTURE,LOW);
 pinMode(LED_LIGHT,OUTPUT);digitalWrite(LED_LIGHT,LOW);
 //
 dht.begin();
 // инициализация дисплея
 display.begin();
 // установить контраст фона экрана
 display.setContrast(60);
 display.clearDisplay(); // очистить экран
 display.setTextSize(1); // размер шрифта
 display.setTextColor(BLACK); // цвет
 // заставка
 display.setCursor(15,15);
 display.print("Home Flower");
 display.display();
 delay(2000);
 }
 
void loop()
 {
 display.clearDisplay();
 display.setCursor(5,0);
 display.print("Home Flower");
 // получение данных с DHT11
 float h = dht.readHumidity();
 display.setCursor(5,10);
 if (isnan(h))
 {
 Serial.println("Failed to read from DHT");
 display.print("airH= error");
 }
 else
 {
 Serial.print("HumidityDHT11= "); Serial.print(h);Serial.println(" %");
 display.print("airH=");display.print(h);display.print("%");
 }
 // получение значения с аналогового вывода модуля влажности почвы
 display.setCursor(5,20);
 int val0=analogRead(pinSoilMoisture);
 Serial.print("SoilMoisture= "); Serial.println(val0);
 display.print("soilM=");display.print(val0);
 
 // получение значения с аналогового вывода фоторезистора
 display.setCursor(5,40);
 int val2=analogRead(pinPhotoresistor);
 Serial.print("Light= "); Serial.println(val2);
 display.print("Light=");display.print(val2);
 // обновить
 display.display();
 //// проверка условий
 // увлажненность почвы
 if(val0 > MOISTURE_DETECT)
 digitalWrite(LED_MOISTURE,HIGH);
 else
 digitalWrite(LED_MOISTURE,LOW);
 // температура воздуха
 if(t > TEMP_DETECT)
 digitalWrite(LED_TEMP,HIGH);
 else
 digitalWrite(LED_TEMP,LOW);
 // освещенность
 if(val2 < LIGHT_DETECT)
 digitalWrite(LED_LIGHT,HIGH);
 else
 digitalWrite(LED_LIGHT,LOW);
 // пауза 5 секунд
 Serial.println();
 delay(5000);
 }