====== TalTech Arduino Laboratory Hardware Reference ====== {{ :en:iot-open:practical:hardware:taltech:arduino_kauglabor.jpg?600 |}} ===== Introduction ===== Each laboratory node is equipped with an **Arduino Uno** board. This board is widely used for prototyping and educational purposes due to its ease of use, extensive compatibility with sensors and modules, and a simple programming environment. The hardware setup includes several sensors, actuators, and interfaces designed for various practical lab exercises. ===== Hardware reference ===== * **Microcontroller:** ATmega328P * **Operating Voltage:** 5 V * **Digital I/O Pins:** 14 (6 pins provide PWM output) * **Analog Input Pins:** 6 * **Clock Speed:** 16 MHz * **USB Interface:** Yes (for programming and serial communication) * **Power Supply:** USB connection or external power supply ==== Hardware Components and Pin Assignments ==== ^ Component ^ Model/Description ^ Pins ^ Remarks ^ | DC Motor | Micromotors Brushed Geared DC Motor, 12V, 20Ncm, 5rpm | Digital pins: AIN1=12, AIN2=11, PWM=3 | Controlled via Pololu TB6612FNG Dual Motor Driver | | Servo Motor | SG90 or similar | PWM pin: 10 | Controlled via Arduino Servo library | | Fan | 12V DC Fan | Digital pin: 2 | Controlled via digital on/off | | Thermistor | Steinhart-Hart Thermistor | Analog pin: A5 | Used for precise temperature measurement | | Photoresistor (LDR) | Chanzon GL5549, 10Ω LDR | Analog pin: A2 | Used for ambient light sensing | | LCD Screen | Alphanumeric LCD 16x2 (HD44780) | Pins: RS=8, EN=9, D4=4, D5=5, D6=6, D7=7, Buttons input: A0 | Used for displaying text and sensor values | ==== Additional Hardware ==== * **Motor Driver:** Pololu TB6612FNG Dual Motor Driver Carrier * Supports two DC motors independently * Motor voltage range: 4.5 – 13.5 V * Continuous current per channel: 1.2 A (peak 3 A) * Built-in protection: thermal shutdown and undervoltage lockout * Control inputs: Logic-level PWM and direction signals (2.7–5.5 V compatible) ==== Wiring Diagram ==== {{:en:iot-open:practical:hardware:taltech:wiring_schematic.png?600|}} ==== Suggested Knowledge Resources ==== * Arduino programming fundamentals * Basic understanding of PWM, analog/digital I/O * Use of common Arduino libraries: * ''Servo.h'' – Servo motor control * ''LiquidCrystal.h'' – LCD display handling * Standard Arduino analog/digital I/O functions ==== Development Environment Configuration ==== Typical ''platformio.ini'' file configuration for Arduino Uno: [env:uno] platform = atmelavr framework = arduino board = uno lib_ldf_mode = deep+