Arduino UNO-Based Weather Station with LCD Display and Laser Emitter
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
This circuit involves an Arduino UNO microcontroller interfacing with various sensors and components, including a BME/BMP280 sensor, MPU-6050 sensor, KY-008 Laser Emitter, Tactile Switch Buttons, and an Adafruit Standard LCD 16x2 display. The circuit is designed to read sensor data, control a laser emitter, and display information on an LCD screen.
Component List
Arduino UNO
- Description: A microcontroller board based on the ATmega328P.
- Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
Tactile Switch Buttons - 12mm Square
- Description: A simple push-button switch.
- Pins: 3, 1, 4, 2
KY-008 Laser Emitter
- Description: A laser emitter module.
- Pins: SIG, 5v, GND
MPU-6050
- Description: A 6-axis motion tracking device.
- Pins: VCC, GND, SCL, SDA, XDA, XCL, AD0, INT
BME/BMP280
- Description: A combined humidity, pressure, and temperature sensor.
- Pins: GND, SCL, SDA, VIN
Adafruit Standard LCD 16x2 white on blue
- Description: A 16x2 character LCD display.
- Pins: VSS, VDD, V0, RS, R/W, E, DB0, DB1, DB2, DB3, DB4, DB5, DB6, DB7, LED+, LED-
Wiring Details
Arduino UNO
3.3V connected to:
- BME/BMP280 (VIN)
- MPU-6050 (VCC)
5V connected to:
- Adafruit Standard LCD 16x2 (VDD)
GND connected to:
- Adafruit Standard LCD 16x2 (VSS, R/W)
- Tactile Switch Buttons - 12mm Square (2)
- BME/BMP280 (GND)
- KY-008 Laser Emitter (GND)
- MPU-6050 (GND)
A4 connected to:
- BME/BMP280 (SDA)
A5 connected to:
- BME/BMP280 (SCL)
SCL connected to:
- MPU-6050 (SCL)
SDA connected to:
- MPU-6050 (SDA)
D10 connected to:
- KY-008 Laser Emitter (SIG)
D9 connected to:
- Adafruit Standard LCD 16x2 (E)
D8 connected to:
- Adafruit Standard LCD 16x2 (RS)
D7 connected to:
- Adafruit Standard LCD 16x2 (DB7)
D6 connected to:
- Adafruit Standard LCD 16x2 (DB6)
D5 connected to:
- Adafruit Standard LCD 16x2 (DB5)
D4 connected to:
- Adafruit Standard LCD 16x2 (DB4)
D3 connected to:
- Tactile Switch Buttons - 12mm Square (1)
D2 connected to:
- Tactile Switch Buttons - 12mm Square (1)
Tactile Switch Buttons - 12mm Square
Pin 2 connected to:
- Arduino UNO (GND)
Pin 1 connected to:
- Arduino UNO (D3)
- Arduino UNO (D2)
KY-008 Laser Emitter
SIG connected to:
- Arduino UNO (D10)
5v connected to:
- Not connected
GND connected to:
- Arduino UNO (GND)
MPU-6050
VCC connected to:
- Arduino UNO (3.3V)
GND connected to:
- Arduino UNO (GND)
SCL connected to:
- Arduino UNO (SCL)
SDA connected to:
- Arduino UNO (SDA)
BME/BMP280
VIN connected to:
- Arduino UNO (3.3V)
GND connected to:
- Arduino UNO (GND)
SCL connected to:
- Arduino UNO (A5)
SDA connected to:
- Arduino UNO (A4)
Adafruit Standard LCD 16x2 white on blue
VDD connected to:
- Arduino UNO (5V)
VSS connected to:
- Arduino UNO (GND)
R/W connected to:
- Arduino UNO (GND)
E connected to:
- Arduino UNO (D9)
RS connected to:
- Arduino UNO (D8)
DB7 connected to:
- Arduino UNO (D7)
DB6 connected to:
- Arduino UNO (D6)
DB5 connected to:
- Arduino UNO (D5)
DB4 connected to:
- Arduino UNO (D4)
Code Documentation
Arduino UNO Code
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
This code is a basic template for the Arduino UNO. The setup() function is where you initialize your components and settings, and the loop() function is where you place the main code that runs repeatedly.