### Archive

Archive for the ‘Lesson’ Category

## Radwani House Musemun post: 4

Radwani House located in Mshareb district been selected to be saved as a Museum to reflect Qataris Family life in early 19’s. Click Here to see all the Gallery pictures.

Bed-Room: The head covering worn by men is called “Ghutra and Aqal”, and this “Ghutra” in the image is of a relatively expensive type during that period. Sleeping pillows embroidered with old, traditional designs. Read the Story Here

## Python: Grade_2 Math Questions V1

Learning : Python, Math
Subject: Math Questions for Grade-2 V.1

[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 the process of studing with/for my kids [specialy Math] i always need to give them some Questions in [+ -], I need to write the Questions on a paper then they solve it and i check the answers. So I thought if I create an app to solve this Problem.
Application to Do What?

• Select Two random numbers from a given range.
• Select a Math operator [+ -].
• Writing the Question on the Screen.
• Comparing the user input with the real answer.
• Writing a message on the screen acoording to the user answers.

• Start Play the Game. [All Math Lessons]
• Re-set the Numbers Range.
• Register New Kid to Play.
• Questions Like: x (+ -) y = ??
• Questions Like: x (+ -) ?? = y
• Questions Like:
x
y (+ -)
_______________
??

• Exit.
• In this Version (V.1) of the application, there will be some limitations on the Questions Difficulties, Number ranges and type of Questions.

Start Coding
Here is the code for the Main Menu.

``` # Code for Main Menu

# ---------------- Main Menu -------------------------
def menu () :
os.system('clear')
print('\n\n\t This is a Math Revision Game.',version)
print('\t --------------------------------------------')

print('\n\n\t')
print('\t 1. Start Play the Game. [All Math Lessons]')
print('\t 2. Re-set the Numbers Range.')
print('\t 3. Register New Kid to Play.')
print('\t \n ')
print('\t 5. Questions Like:   x (+ -) y = ?? \n')
print('\t 6. Questions Like:   x (+ -) ?? = y \n')
print('\t 7. Questions Like:      x','\n\t\t\t\t y   (+ -)','\n\t\t\t     ___________')

print('\t ')
print('\t 9. Exit.')

user_select = input ('\n\n\t Select from the Menu. > ')

return user_select

```

Get the Numbers Range
In this Function the user will be asked to Enter the Number range as from and to, we will check if the user Enter a valid input, No space, No Alphabetics.

``` #  Get the Numbers Range

def get_numbers_range () :

"""
Function to get the Number range from the user, we will check if the user Enter
a valid input, No space, No Alphabetics.

return:
nfrom: is the lower number range.
nto  : is the upper number range.
"""

nfrom = check_user_input("\t Enter the Lower Range Number > ","\t ... You Need to Enter a Lower Range Number.") #(input('\n\t Enter the Lower Range > '))
nto = check_user_input("\t Enter the Upper Range Number > ","\t ... You Need to Enter an Upper Range Number.")

if (int(nfrom)) > (int(nto)) :
nfrom, nto =  nto, nfrom

return int(nfrom), int(nto)

```

Check user input
With each user input we will call this Function with two messages, statement message will be the one to gaid the user to What is need to Enter, error message will be display if the user input something wrong or not expected. Then the Function will return back the user input.

``` # check_user_input

def check_user_input(statment_m,error_m):
"""
Function to check on the user input if it is a valid or not.

Arguments:
statmen_m: will be the one to gaid the user to What is need to Enter
error_m: will be display if the user input something wrong or not expected.

Return:
uinput

"""
while True :
print(statment_m,end="")
uinput = input()
if ((uinput) in [" ",""] or (not uinput.isnumeric()) or ((uinput) in schar) or ((str(uinput).isalpha()))):
print(error_m)
else:
break
return uinput

```

Get the Kid Name
A small and short Function to return the user/Kid Name.

``` # Get the Kid Name

def get_kid_name () :

return input('\n\t Enter Your Name > ')

```

Setting and Variabls
This is the first upper part of the application, we just import the random and os also we set some variables.

``` # Variables

import random, os, operator

score1 = 0
good = ['Correct','You are Right', 'Well Done..','Nice..','Excellent..','Amazing..','Good job',' YES .. Keep it up .. ','So Proud of You','Yes .. Another Point for You',]
bad = ['Wrong ..','Sorry .. No!','Try Your Best','No!','No..Think Harder','ooops .. No','Not this Time']
oper_dict = { '+': operator.add, '-': operator.sub,} # '*': operator.mul, }
schar = "@_!#\$%^&*()?/\|}{~,.:'"

nfrom = 0
nto = 0
name = 0
version = 'V.10.2022.R1'
```

Math Question Type-1
This Function will ask the user 10 Questions of Math according to the Numbers Range were the question will looks like: X [+ -] Y = ??, then if the answer is right good message will display on the screen.

``` #  Math Question Type-1 (X [+ -] Y = ??)

def Math_G2_type_1():
os.system('clear')
score =0
for q in range(0,10):
n1 = random.randint(nfrom,nto)
n2 = random.randint(nfrom,nto)
op = random.choice(list(oper_dict.keys()))

if op == '-' :
if n1 ')
print('   ', n1, op ,n2,end='')

ans = check_user_input(" = ","  You Need to Enter an Answer .. ")

if  int(ans) == oper_dict[op](n1,n2):
print('   ',random.choice(good),'   .. ')
score = score +1
else:
print('   ',random.choice(bad),'   .. ')

return score

```

Math Question Type-2
This Function will ask the user 10 Questions of Math according to the Numbers Range were the question will looks like: X [+ -] ?? = Y, then if the answer is right good message will display on the screen.

``` # Math Question Type-1 (X [+ -] ?? = Y)

def Math_G2_type_2():
os.system('clear')
print('\n\n\t ', name ,' Now try to solve these once\n ')
score =0
for q in range(0,10):
n1 = random.randint(nfrom,nto)
n2 = random.randint(nfrom,nto)
op = random.choice(list(oper_dict.keys()))
if op == '-' :
if n1 < n2 :
n1,n2 = n2,n1

print('\t\t   ',n1)
print('\t\t   ',n2,' ',op)
print('\t\t __________')
ans = int(input('\t\t    '))

if ans in [" ",""]:
print('   ',random.choice(bad),'  You Need to Enter an Answer .. ')
else:
if ans == oper_dict[op](n1,n2):
print('   ',random.choice(good),'   .. \n\n')
score = score +1
else:
print('   ',random.choice(bad),'   .. \n\n')

return score

```

Math Question Type-3
This Function will ask the user 10 Questions of Math according to the Numbers Range were the question will looks like:

X
Y [+ -]
__________
???
then if the answer is right good message will display on the screen.

``` #

def Math_G2_type_3 ():
os.system('clear')
print('\n\n\t ', name ," let's try this.")
print('\t Complete with correct number.\n')
score = 0
for q in range(0,10):
n1 = random.randint(nfrom,nto)
n2 = random.randint(nfrom,nto)
op = random.choice(list(oper_dict.keys()))
if op == '-' :
if n1  n2 :
n1,n2 = n2, n1

print('\t ',n1,op, ' ______ = ', n2)
ans = int(input('  Your Answer > ') )

if ans in [" ",""]:
print('   ',random.choice(bad),'  You Need to Enter an Answer .. ')
else:
if n2 == oper_dict[op](ans,n1):
print('   ',random.choice(good),'   .. \n\n')
score = score +1
else:
print('   ',random.choice(bad),'   .. \n\n')
return score

```

Application Body
In the Application Body itself I use a while loop to call and detect the User input from the menu and using that input to call the corresponding Function. All the codes and functions also the application Body code is on the Source file and can be Downloaded.

I test the code and RUN the app several times, but errors can be found, so next version of this Application will solve any errors also will add more Math Questions Type.

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

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

## Daily Sketch: Colored Seal

I Just finish this Water-color Sketch of a Seal, I almost have 20 water_colored sketches on a 4x3in cards since I start this session [Drawing on a 4×3 Card] on September 2022, the sketch it self is about 3x2in. Here I am posting todays Seal sketch.

More of my Other Sketches Here..

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

## Daily Sketch: Colored Love Bird

On last September I start doing some small water_colored sketches on a 4x3in card, sketch size is almost 3x2in. Here I am posting yesterday Love-Bird sketch.

More of my Other Sketches Here..

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

## Fujifilm X-T30ii Post # 24

Subject:FIFA WORLD CUP 2022 IN QATAR
using Fujifilm X-T30ii.

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. Away from Nikon, I got my first FujiFilm X-T30ii camera.
[:. Read more about my cameras and lenses Here .:]

This Shot: This is a shot of Qatar West-Bay towers that has a FIFA WORLD CUP 2022 advertising campaign, I take the shoot using FujiFilm X-T30ii with ACROS film simulation.

 …Click Image to Enlarge… Camera in Hand, F: 4, ISO: 400, Shutter:1/500s, Focal-Point:51mmLens: XF 18-55mm F2.8-4.0 OIS lens. Film Simulation: ACROS

::.. To see all my FujiFilm X-T30ii Photos Click-Here
::.. To see all my Nikon S9900 Photos Click-Here
::.. To see all my Nikon D7100 Photos Click-Here
::.. To see all my Nikon D90 Photos Click-Here

## Fujifilm X-T30ii Post # 21

Subject: Classic Green Simulation in Fujifilm X-T30ii.

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. Away from Nikon, I got my first FujiFilm X-T30ii camera.
[:. Read more about my cameras and lenses Here .:]

This Shot: This is a shoot of a Mosque near my kids school, i take to shoot while waiting for them to finish. Also this is a test for my New ClassicGreen film recipe I create for indoor shooting it look great for outdoor also. I am
using FujiFilm X-T30ii and XF 18-55mm F2.8-4.0 OIS lens.

 …Click Image to Enlarge… Camera in Hand, F:9, ISO:200, Shutter:1/250s, Focal-Point:33mmLens: XF 18-55mm F2.8-4.0 OIS lens. Film Simulation: ClassicGreen

::.. To see all my FujiFilm X-T30ii Photos Click-Here
::.. To see all my Nikon S9900 Photos Click-Here
::.. To see all my Nikon D7100 Photos Click-Here
::.. To see all my Nikon D90 Photos Click-Here

## Fujifilm X-T30ii Post # 22

Subject: Testing a recipe for Fujifilm X-T30ii.

In 2016 I bought Nikon Coolpix S9900, I have Nikon D90, and Nikon 7100 both are DX (crop sensor), but S9900 is my first Coolpix (point & shoot) camera from Nikon, I use to have Sony T100. Away from Nikon, I got my first FujiFilm X-T30ii camera.
[:. Read more about my cameras and lenses Here .:]

This Shot: If you are using Fujifilm camera then you can simply create or [change] some setting and numbers that set the colors, ISO, lights, Grain, White Balance and other setting to make very customized look of your photos, then you can save those setting and give it a name, late-on if you want to take photos with same that lookANDfeel you just select the name. In this example I create a Film Simulation [FujiFilm called the above photo-look a “Film Simulation”, and they call the setting “Recipe” ] that will give me some green tone with little blue(weak)[i name it ClassicGreen], i use this most in door for kids photography with ISO 1000/4000 it give me a beautiful images, also i try it for out-door with ISO 200/400 and F:7 again the resul’s was great. Here are two examples.

 …Click Image to Enlarge… This is a shoot from behind a window at 12:30pmCamera in Hand, F:6.4, ISO:160, Shutter:1/250s, Focal-Point:32mmLens: XF 18-55mm F2.8-4.0 OIS lens. Film Simulation: ClassicGreen …Click Image to Enlarge… Shoot of a Mosque.Camera in Hand, F:9, ISO:200, Shutter:1/250s, Focal-Point:33mmLens: XF 18-55mm F2.8-4.0 OIS lens. Film Simulation: ClassicGreen

::.. To see all my FujiFilm X-T30ii Photos Click-Here
::.. To see all my Nikon S9900 Photos Click-Here
::.. To see all my Nikon D7100 Photos Click-Here
::.. To see all my Nikon D90 Photos Click-Here

## Arduino: NOT-Gate Circuit

Learning : Electronic NOT-Gate Circuit
Subject: To Build a NOT-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 a NOT-Gate circuit, so we will Not use the ADRUINO board.

What we Need

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

Connections

• Connect the BC547 BasePin to a Resistor Pin1, Then the Pin2 of the Transistor to the Push-Button Pin1.
• Connect the Push-Button Pin2 to Another Transistor Pin1, Then the Pin2 of the Transistor to BC547 CollectorPin, AND to the Battery(+).
• Connect the third Transistor Pin1 to BC547 CollectorPin, and the Pin2 of the transistor to LED(+) Pin.
• Connect the BC547 EmitterPin to the LED(-) Pin by Jumper-wire.
• Connect the LED(-) Pin to the Battery(-).
 Here is the Circuit on the Breadboard

Run-Time
Since this is a NOT-Gare Circuit then once we connect the Power we can see the LED turns ON, Now if we Press the button and keep pressing, the circuit will be in connecting phase and the LED will tune Off.

 Here is a GIF clip of Running Time.

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

## Arduino: AND-Gate Circuit

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.

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 PROJECTS LIST ::
[ Click Here to See all ARDUINO Projects ]

## LED Fade-Off from Prototype to Gadget

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.

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

Back side Connections.

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}