====== TalTech Arduino Laboratory Hardware Reference ====== ===== 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. ===== Arduino Uno Board Overview ===== * **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 {{:en:iot-open:practical:hardware:taltech:wiring_schematic.png?600|}} ===== 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 ===== {{arduino_lab_wiring_diagram_placeholder.png|TalTech Arduino Laboratory Wiring Diagram}} ===== Typical Usage Scenarios ===== * [[taltech:arduino:scenarios:lcd|LCD Display Handling]] * [[taltech:arduino:scenarios:servo|Servo Motor Control]] * [[taltech:arduino:scenarios:dc_motor|DC Motor Operation]] * [[taltech:arduino:scenarios:thermistor|Thermistor-based Temperature Sensing]] ===== 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+ ===== Validation and Troubleshooting ===== Ensure correct wiring and pin configuration as described above. If devices do not respond: * Check pin assignments in software * Verify power connections * Confirm libraries are correctly installed and imported If persistent issues occur, consult lab administrators or documentation links provided above.