Skip to main content

Weather App For the future.

info

Author: GZARA Seif
GitHub Project Link: (https://github.com/UPB-FILS-MA/project-seifgz)

Description

A robot that displays the weather of the day and makes it readable on an lcd screen and upgradable to be hearable on a small speaker.

Motivation

I remember there was a rainy day where i had to do some groceries shopping and found this old blind lady that was drenched from the rain that turned out to be my neighbor, i helped her get home and she told me her life story and that it's very difficult to do very simple things such as taking an umberalla on a rainy day, that's not when i decided to become a programmer but since i'm becoming one now i remembered this instance and i wanna do something about it so i'm gonna create this small useful robot.

Architecture

Raspberry Pi Pico W: The Raspberry Pi Pico W serves as the central microcontroller unit. It can be programmed to control various functions and interfaces with other components. 16x2 I2C LCD Display: The LCD display can be connected to the Raspberry Pi Pico W via the GPIO pins. Since it uses the I2C communication protocol, we need to connect its SDA (data) and SCL (clock) pins to the corresponding GPIO pins on the Pico W. Additionally, power (VCC) and ground (GND) connections are necessary. Jumper Wires: These are used to make the connections between the Raspberry Pi Pico W, the LCD display, and any other components on the breadboard. They're essential for establishing temporary electrical connections. Breadboard: The breadboard provides a platform for mounting and connecting the various components. The Raspberry Pi Pico W can be placed on the breadboard, and jumper wires can be used to connect its GPIO pins to the appropriate rows and columns on the breadboard. Other components can also be connected to the breadboard using jumper wires as needed. Micro-USB Cable: This is used to power the Raspberry Pi Pico W and establish a connection with a computer or power source for programming and data transfer. The cable connects to the micro-USB port on the Pico W and the USB port on the computer or power adapter. Diagram

Log

Week 6 - 12 May

Week 7 - 19 May

Week 20 - 26 May

Hardware

Raspberry Pi Pico W: A wireless-enabled microcontroller board for embedded projects.

16x2 I2C LCD Display: A compact text display module for showing information in DIY electronics projects.

Jumper Wires: Essential for making temporary connections between components on a breadboard.

Breadboard: A solderless prototyping board for building and testing electronic circuits.

Micro-USB Cable: Used for powering and connecting devices like the Raspberry Pi Pico W to a computer or power source.

Schematics

KiCad

Bill of Materials

DeviceUsagePrice
Rapspberry Pi Pico WThe microcontroller35 RON

| LCD SCREEN | The Screen | 28 RON |

| Breadboard | The microcontroller | 3 RON |

| Micro-USB Cable | The USB Cable | 18 RON |

| Jumper Wires | The wires | 5 RON |

Software

LibraryDescriptionUsage
st7789Display driver for ST7789Used for the display for the Pico Explorer Base
embedded_halHardware abstraction layer for embedded systemsUsed for abstracting hardware interactions
embassy_rpProvides abstractions and APIsCommunicate via UART, SPI, and I2C using their respective modules
embassy_timeProvides time-related functionalitySchedule tasks to run at specific times
embassy_executorProvides an executor for running asynchronous tasks concurrentlyExecute asynchronous tasks concurrently
embassy_syncProvides synchronization primitivesCreate mutexes, semaphores, and barriers for coordinating access to shared resources
PythonPython serves as the programming language to interact with the hardware components, allowing you to create a wide range of embedded projects
  1. How2electronics
  2. Youtube ...