Week #7- Journal

Ideation

Tell us about your assignment's idea for this week. Why do you care about this idea? What inspired you? (Please include images or links to sources of inspiration)



I choose to create a part of my final project (set time&alarm) this week.


Tool Chain

Which software/machines/materials did you use in the assignment? Why?

Arduino IDE

It is an open-source Arduino Software (IDE), used it to makes it easy to write code and upload it to the board.


Wokwi

to make wiring diagram


I used :

-Arduino : to control components

-LCD 1602 letters , number and character

-Keypad 4×3 has 12 buttons in Matrix form to let user enter data.

- piezo

- 4 LEDS

- touch button to stop alarm (Piezo and LEDs)

-male-female wires :to connect lcd and keypad with Arduino.

Design/Preparation Process

Explain the design and/or preparation process of your assignment. How did you use the tool or software to design and/or prepare your assignment before fabrication/implementation?

Summary

home page


HOME PAGE

print Home page on LCD by print room 1 and 2 on first row and room 3 and 4 on the another row.

set page

SET PAGE

when user press 1 on keypad we enter a loop I made with while loop start with set page (which I made by printing 1_set button and *_rst button and room number on the first row then print 2_show button and #_back button on the second row ).


WHILE LOOP

simulate void loop to make it breakable according to my decision which is a back button here pressing #

Validation

"user can add none rational time"

1- Using function called substring which slicing the string into its index and have a start index an d end index . substring (start , end +1);

2- I sliced from 0 to 3 index and save result in variable called hour then sliced from 3to 6 index and save result in variable called minute. After extract time (string) from its variable and slicing it , convert minute and hour to integer using toint function to compare it in if condition.

Alarm

when it set time (from user saved in EEPROM) = real time (from RTC module) Arduino gives signals to LEDs and Piezo
putting the last condition on if condition touch button if its low () there is alarm else stop alarm

In detail
flow charts technique

Development/Implementation Process

Explain the development/implementation process of your assignment. How did you use the machine/tool to manufacture or implement the design of your assignment?

connect to Arduino

after collect my components , I start to connect components to Arduino
lcd has 7 pins to connect start connect:

-- keypad from 4 black pins (rows)to end to Arduino

-- LCD VCC with 5 v Arduino
GND with ground Arduino
SDA with A4 ARDUINO
SDL with A5 ARDUINO

--Touch button VCC with 5 v Arduino
GND with ground Arduino
in-pin with a digital Arduino pin

--LEDs attached on breadboard with resistors as they are 3v only and Arduino gives 5v(not to damage)
--one leg of lED go with one digital pin and the other with the ground

--Piezo attached one leg with one analog pin and the other with the ground



Simulation

connect Arduino to laptop using USB cable and upload code :


lcd- kypad-rtc.mp4
٢٠٢٢٠٩١٥_٠٢٢٣٥٥.mp4

video show set time and alarm case in my final project

Overcoming Challenges

What kinds of challenges or problems did you face while doing the assignment, tutorials, or exercises? How did you solve them? Did you ask for help from an instructor or peer? Please provide a link to the tutorial or article that you used to solve your problem (if any)

i face a problem in offline session this week in how to code a new component Ahmed Adam teach step by step how to do that:

  1. to search (component name Arduino )

  2. choose the first result

  3. in the website will appear how to connect to Arduino
    ,libraries and how to code according to what you need.


I faced a problem in how to transfer logic in my final project into code so my brother Ahmed help me a lot in understanding .

Final Project

How can you use the skills and knowledge that you've acquired this week in your final project?

This week I have a courage to make my final project
this week skill is to contribute all the knowledge i have in the weeks before to make the project.

WOW!

What is the coolest thing that you've learned this week? What is something that you will never forget from this week?


Title of Media

Weekly Digest [OPTIONAL]

Tell us about any other cool things that you've made this week: in the Hands-on activity, tutorial examples, exercises, or any other cool mini-project that you tried out aside from the assignment.


Title of Media