Arduino: AND-Gate Circuit

March 17, 2022 Leave a comment

Learning : Electronic AND-Gate Circuit
Subject: To Build an AND-Gate Circuit using BC547 Transistor

[NOTE:
W
e are working on Electronic Devices, Voltage, Resistors and other Electronic Parts that may Become HOT due to un-stable current or Wrong Wire Connections..
PLEASE BE CAUTIOUS AND TAKE SAFETY NEEDED PROCEDURES.]

In this Project we will use the BC547 Transistor to build an AND-Gate Circuit on a breadboard, so we will Not use the ADRUINO board.

What we Need

  • 2 2Pin Push-Button.
  • 1 LED
  • 3 Resistors.
  • 2 BC547 Transistor.
  • 1 BreadBoard. [I am using a small 5x7cm]
  • Some Jumper Wires.
  • 3V Battery

Connections

  • Connect Both BC547 to the BreadBoard.
  • Connect Emitter of the First (left) One to the Collector of the second One (Right one). [Use Jumper Wire]
  • Connect TWO Push-Buttons to the BreadBoard.
  • Connect between each BasePin of the BC547 and Pin1 of each Push-Button using a Resistor1&2 [Pin1 of PushButton1 to Pin1 of Resistor1, Pin2 on the Resistor1 to BasePin of BC547.]
  • Connect Pin2 of Push-Button1 to the Pin2 of the Push-Button2.
  • Connect the Push-Button2 Pin2 to a Resistor3 Pin1
  • Connect the Resistor3 Pin2 to the LED(+)Pin.
  • Connect the LED(-)Pin to the First BC547 CollectorPin
  • Connect the Battery (+) to the Resistor3 pin2, and Connect the Battery (-) to the Emitter Pin of Second BC547.
arduino project electronic circuit BC547 ali radw doha ahradwani.con arduino project electronic circuit BC547 ali radw doha ahradwani.con



Run-Time
The Logic of the AND-Gate is if the BOTH Button are Pressed in same time the circuit will close and the LED turn On.

Here is a GIF clip of Running Time.
arduino project electronic circuit BC547 ali radw doha ahradwani.con



:: ARDUINO PROJECTS LIST ::
[ Click Here to See all ARDUINO Projects ]



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Daily Sketch: The Tiger

March 13, 2022 Leave a comment

Using a new pocket size sketch book, pincel and water-color; it is a quite challenge to mix colors on a thin paper. Here is another Daily Sketch challenge “The Tiger “. The paper is observing the water and in some places the paper get damaged.

Here is the sketch..

Draw daily sketch challenge tiger Ali radwani Doha qatar water color

Click to Check my Sketches Page

LED Fade-Off from Prototype to Gadget

March 10, 2022 Leave a comment

Learning about : Circutes, Capasitor, Push-Button
Subject: LED Fade-off apply it on a PCB Board.

[NOTE:
W
e are working on Electronic Devices, Voltage, Resistors and other Electronic Parts that may Become HOT due to un-stable current or Wrong Wire Connections..
PLEASE BE CAUTIOUS AND TAKE SAFETY NEEDED PROCEDURES.]

In one of my previous Post [Read Here] I did some connection on a breadboard using BC547 and a Capacitor to make an LED Fade-off in 60sec after pushing a button. In this post we will convert that circuit a simpler circuit doing the same thing from a breadboard to a PCB to be as a Gadget.

What we Need: Here is a list of what we will use:

  • 1 LED (I will use a yellow one)
  • 1 PCB Board 5x7cm.
  • 1 1000uF 6.3v Capacitor.
  • 1 Resistor 300 ohm.
  • 1 2pin Push Button.
  • 1 CR2032 Lithium Cell 3V Battery.

Connection: All the connections will be on a 5x7cm PCB Board, I use a thin steel wire to create a strap to hold the Battery, and:

  • Connect the Negative (-) Battery to Pin1 of the Push Button.
  • Pin2 of the Push Button will be connected to the Negative (-) pin of the Capacitor.
  • Connect the 300ohm Resistor Between (+) Pin of the Capacitor and the (+) Pin of the LED.
  • The Negative(-) Pin of the LED will be connected to the Pin2 of the Push Button.


Here is all connections on a small breadboard.

arduino ali radwani ahradwani.com doha qatar circuits



Here I copy the circuit on a small 5x7cm PCB.

arduino ali radwani ahradwani.com doha qatar circuits



Back side Connections.

arduino ali radwani ahradwani.com doha qatar circuits


Finslly, I cut the PCB to a smaller size and Label it.

Now once we Push the Button the LED Turns On and Start Fading-Out. [you may need to give 5-10sec to charge the Capacitor before seeing the Fading Effect]

:: ARDUINO PROJECTS LIST ::
[ Click Here to See all ARDUINO Projects ]

To Download the ARDUINO Project [Code and Diagram] files {No Code in this Project}



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Daily Sketch Challenge: Octopus


Away from coding and reading here I am finding myself sketching some lines and dots to be an Octopus.

I am using a new pocket size sketch book, but it seems that the paper is not good for water-colos, it is quite challenge to mix colors. But at the end I will use every page of it. 🙂

Here is the sketch..

A Sketch a day challenge Ali radwani drawing sketchbook

Arduino: Morse Code Blinking


Learning : ARDUINO, Morse-Code, Electronic Circuit
Subject: LED to Blink Morse Code

[NOTE:
W
e are working on Electronic Devices, Voltage, Resistors and other Electronic Parts that may Become HOT due to un-stable current or Wrong Wire Connections..
PLEASE BE CAUTIOUS AND TAKE SAFETY NEEDED PROCEDURES.]


Some days ago I just went through some pages of Morse-Code. Then I got an idea to write a code for the ARDUINO to blink an LED for some letters.

Morse Code: In a basic and easy way, Morse code is a Dots (.) and Dashs (-) to present alphabet characters. So A = .- ; B = -… ; C = -.-. and so on (Morse code table in Wikipedia)

Morse Code Rules:

if we assume a unit is U, then :

  • 1. A Dot is 1U.
  • 2. A Dash is 3U.
  • 3. A Space between a part of the same letter is 1U.
  • 4. A Space between letters is 3U.
  • 5. A Space between words is 7U.

In our project here, the Unite U will be the Delay in Arduino, so the LED will be High for 1U to represent a Dot (.) and will be High for 3U to represent the Dash (-).

What we will Need: I will use a Breadboard, ARDUINO Nano , One Red LED, One 300 ohm Resitro, Jumper Wire.

  • A BreadBoard.
  • ARDUINO Nano.
  • 1 Red LED.
  • 1 Resistor [I will Use 300 ohm]
  • Some Jumper Wire.

Connection:

  • The ARDUINO Nano will be on the Breadboard
  • Connect D13 on Nano to Column 11 on the Breadboard using Jumper-wire.
  • Connect the Resistor on Column 11 and Column 6 on the Breadboard.
  • Connect the LED Anode (+) pin on the Column 6 on the Breadboard.
  • Connect the LED Cathode (-) pin to the Column 4 on the Breadboard.
  • Connect the Column 4 on the Breadboard to the Cathode Row on the Breadboard using Jumper-wire.
  • Connect the Column 17 on the Breadboard (Nano GND pin) to Cathode Row on Breadboard using Jumper-wire.
  • Connect the Column 19 on the Breadboard (Nano 5V pin) to the Anode Row on Breadboard using Jumper-wire.
Image of the Connected Breadboard.
ali radwani ARDUINO Projects morse code



The Coding: First we need to define the Dots and Dashs for each Alphbets, in this example I will do only three carecters for my Name A L I, I will create an array of 0 and 1, 0 is a dot, 1 is a dash, here is the code:
int A [ ] = {0,1} ; // 0 = dot (1U), 1 = dash (3U)
int L [ ] = {0,1,0,0} ;
int I [ ] = {0,0} ;

Here is declearing the Unite, u as Delay time:
int u = 170 ; // 1U = 170 delay.

and here is the Arduino pin I will use:
int ledpin = 13 ;

in the void setup, we will only write one line to set the pinMode(ledpin, OUTPUT)

then I create a function to read the letter array-content

 // CODE: Function to read the letters contents. 

void letter(int c [], byte s)
{
      if (c[s] == 0)   // dot 
        {morse1(ledpin, 1) ;}
      if (c[s] == 1)   // dash 
        {morse1(ledpin, 3) ;}       
}



In this code, I will let the LED to Blink in Morse code saying “ALI” [My Name 🙂 ]. You may add the Morse code in the Application and making the LED to send you message. Code Available in Download Page.

RUN TIME..






:: ARDUINO PROJECTS LIST ::
[ Click Here to See all ARDUINO Projects ]

To Download the ARDUINO Project [Code and Diagram] files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python Project: Properties Maintenance System P12

February 27, 2022 Leave a comment

Subject: Writing a Full Application for Properties Maintenance System [Delete Maintenance Request]
Learning : Python, Math, SQL, Logeic

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]


In this part we will continue write the Functions in Maintenance Request Service. Here we will write the Function to Delete a Maintenance Request.

This is very easy and short Function, first we will list all the requests by calling the def show_maintenance_request, after that we will ask the user to Select the ID of the request to be Delete.

Validation
We will use simple validation code on the User input for the following aspects:

  • If the user input E to Exit.
  • If the user input digits or Not.
  • If the ID is available in the system/Database.
  • If the user input Y to confirm the Deleting prosses.

So if the user input pass all the Validations, and he confirm the Deleting, the Record will be Deleting using the following SQL Command:
c.execute (“delete from maint_request_t where m_r_id ={}”.format(int(delete_this)))
db_conn.commit()

python project code SQL ali radwani



We done with this part, Next we will write a code to change a request status.



:: PMS Parts ::

Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7
Part 8 Part 9 Part 10 Part 11 Part 12 Part 13 Part 14



..:: Have Fun with Coding ::.. 🙂

To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

ARDUINO: 2Pin Push Button and Speed Delay

February 24, 2022 Leave a comment

Learning : Arduino, Circuit, coding
Subject: Controlling LED Delay by Push-Button

[NOTE:
W
e are working on Electronic Devices, Voltage, Resistors and other Electronic Parts that may Become HOT due to un-stable current or Wrong Wire Connections..
PLEASE BE CAUTIOUS AND TAKE SAFETY NEEDED PROCEDURES.]


In many ARDUINO Project we codes that have Delay commands, such as in LED Blinking circuits. The delay use numbers, 1000mSec is 1sec, Example in LED blinking projects there must be a delay for some time [1000mSec is 1Sec] between LED-Hight and LED-Low commands. Usually we use a variable to save a delay amount, we can change the amount during code run-time if certain condition accurred.

In this post, we will learn how we can use a 2Pin Push Button to control the speed/Delay of a blinking LED using a code when the Button pressed.

The Case: Say we have a one LED that’s blinks (turns On and Off) with Delay time = 800 (mSec), we want to Press the Button to make it Blink Faseter, and each time we Press it blinks faster and faster, say each press will reduce the amount by 100mSec unit, and if the delay reach less than 60mSec, then it will jump to 800mSec again.

What we Need:

  • Arduino UNO or Arduino Nano.
  • 1 Breadbord.
  • 1 LED. [i will use a red one]
  • 1 2Pin  Push Button.
  • 1 Resistor 300 ohm.
  • Some Jumper wires.

Connections:

  • Connect Pin-1 in PushButton to ARDUINO Pin 8.
  • Connect Pin-2 in PushButton to ARDUINO Pin 5V.
  • Connect ARDUINO Pin-13 to a resistor Pin-1.
  • Connect the LED Anode(+) Pin to the Resistor Pin-2.
  • Connect the LED Cathode(-) Pin to ARDUINO GND Pin

You will have something like this ..

Arduino circute LED projects ali radwani AHRADWANI.COM

Code Consept:
The LED will start blinking in 800msec (start_delay), then we want to press the Push Button and with each press the delay must decreases by certain amount (delay_reduce_s_1 = 100mSec), then if the delay time is less than 100mSec the decrease amount will be as (delay_reduce_s_2 = 10mSec) with each press, also if the delay is below min_delay = 60mSec the delay we re-set to start_delay.

Run-Time:
The LED will start blinking in 800mSec, then we Press the Push-Button (First Press) the delay will be 700mSec, and with each Pressed the delay will decreases 100mSec, when the delay reach less than 100mSec [from 800mSec to 100mSec after 8 presses] then it will start to reduces 10mSec with each Press. If the current delay is less than min_delay it will reset to 800mSec again.

GIF speeded-up to save space.




:: ARDUINO PROJECTS LIST ::
[ Click Here to See all ARDUINO Projects ]



To Download the ARDUINO Project [Code and Diagram] files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Sketch from Two Years Back -The Hen

February 22, 2022 Leave a comment

Looking back in my sketchbooks this is a sketch from Two years back on 24.2.2020, during the COVID-19 Block-Down. The Hen in my garden trying to get the food from behind the fence; I use a pencil then black pen to draw it.

Sketch No. 38
Sketchbook No. 39
Date: 24.3.2020

sketch sketchbook drawing ali radwani

..:: Have Fun with Sketching ::.. 🙂


ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Python Project: Properties Maintenance System P11

February 20, 2022 1 comment

Subject: Writing a Full Application for Properties Maintenance System [Show Maintenance Request]
Learning : Python, Math, SQL, Logeic

[NOTE: To keep the code as simple as we can, We WILL NOT ADD any user input Varevecations. Assuming that our user will Enter the right inputs.]


In this part we will continue write the Functions in Maintenance Request Service. Here we will write the Function to Show Maintenance Request.

Show all Request In this Function we will display all the Properties we have in the system, then the user will Select the ID of the Property, after that we will display all Maintenance Jobs that we have in the system (Maintenance for); again the user need the Select the Job ID and if the required job is not in the list the user need to go-back and add it to the system first. After that the user will Select current Job-Status [also if not in the system we need to add it], then entering the Date of starting the Maintenance, finally the user can write any Notes or just press enter to save the request. With any question above the user can Exit the function by interning [E].

Here are some code sample..
Table header
print(‘ ‘*6,’ID’,’ ‘*3,’Property ID’,’ ‘*5,’Maintenance Date’,’ ‘,’Maintenance For’,’ ‘*7,’Job Status’,’ ‘*12,’Note’)
print(‘ ‘*4,’-‘*120)

Code to fetch-all data in the Maintenance Request Table.
c.execute (“select * from maint_request_t “)
dataset = c.fetchall()

To Get the Property Type, we call our get_lookup_values Function..
prop_type_id = get_lookup_values(‘properties_t’,’p_id’,dataset[each][1])
p_type_name = get_lookup_values(‘prop_type_t’,’pt_id’,prop_type_id[0][2])


To save the time, all the code is available in the Download Page.



:: PMS Parts ::

Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7
Part 8 Part 9 Part 10 Part 11 Part 12 Part 13 Part 14



..:: Have Fun with Coding ::.. 🙂

To Download my Python code (.py) files Click-Here



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani

Arduino Project: LED Fade-off in 60sec using BC547

February 17, 2022 3 comments

Learning : Circutes
Subject: LED Fade-off in 60sec using BC547

[NOTE:
W
e are working on Electronic Devices, Voltage, Resistors and other Electronic Parts that may Become HOT due to un-stable current or Wrong Wire Connections..
PLEASE BE CAUTIOUS AND TAKE SAFETY NEEDED PROCEDURES.]

In most Projects here i am using ARDUINO, but in this Project we will use a Transistor BC547 to make an LED Fade-off.

What we Need In this Project we will use the Following:

  • 1 LED.
  • 1 BC547 Transistor.
  • BreadBoard
  • 2 300 ohm Resistors.
  • 1 Capacitor.
  • 1 2pin push button.
  • Some Jumper wires.
  • 3V Battery.

Connections:

The BC547 has three legs,
Collector
Base
Emitter

So, Starting From BC547 Base will be connected to Resistor 1, and Resistor 2 [in Parallel], Resistor1 will connect to the Capacitor Anode(+), Capacitor Anode(+) also will be connected to the BC547 Emitter.

Capacitor Cathode(-) will be connected to pin1 Push-Button, also Capacitor Cathode(-) is connected to the Resistor 2.

Resistor 2 will be connected to the Battery (-)

BC547 Collector will be connected to LED Cathode(-), LED Anode(+) will be connected to the Battery(+). And the Push-Button Pin2 will be connected to Battery(+).

Here is the diagram:

arduino project BC547 ali radwani ahradwani.com



Push the Button Now if we Push the Button, the LED will Go NO, and start Fading-out (OFF), I start a stop-watch it count almost 60Sec. Here is a speed-up RUN video.

Speed-up Video

arduino projects BC547 ali radwani



:: ARDUINO PROJECTS LIST ::
[ Click Here to See all ARDUINO Projects ]

To Download the ARDUINO Project [Code and Diagram] files {No Code in this Project}



ali radwani ahradwani.com python projects codeFollow me on Twitter..

By: Ali Radwani