Thursday, August 27, 2020

Function: Mid( String, Start, Length)

MID āĻĢাংāĻļāύ āĻ•ী? Excel-āĻ āĻļāĻŦ্āĻĻেāϰ āĻŽাāĻāĻ–াāύ āĻĨেāĻ•ে āĻ…āĻ•্āώāϰ āĻ•াāϟা āĻļিāĻ–ুāύ āϏāĻšāϜ āĻ­াāώাāϝ়

MID āĻĢাংāĻļāύ: āĻļāĻŦ্āĻĻ āĻŦা āĻŦাāĻ•্āϝ āĻĨেāĻ•ে āĻŽাāĻāĻ–াāύেāϰ āĻ…āĻ•্āώāϰ āĻ•েāϟে āύেāĻ“ā§Ÿাāϰ āϏāĻšāϜ āωāĻĒা⧟

āφāĻĒāύি āĻ•ি āϜাāύেāύ Excel āĻŦা āĻĄেāϟা āĻŦ্āϝāĻŦāϏ্āĻĨাāĻĒāύাāϝ় āĻāĻŽāύ āĻāĻ•āϟি āϏāĻšāϜ āĻŽ্āϝাāϜিāĻ• āĻĢাংāĻļāύ āφāĻ›ে, āϝেāϟা āĻĻি⧟ে āφāĻĒāύি āϝেāĻ•োāύো āĻŦাāĻ•্āϝ āĻŦা āĻļāĻŦ্āĻĻেāϰ āĻŽাāĻāĻ–াāύ āĻĨেāĻ•ে āύিāϰ্āĻĻিāώ্āϟ āĻ…ংāĻļ āĻ•েāϟে āύিāϤে āĻĒাāϰেāύ? āϏেāϟিāϰ āύাāĻŽ āĻšāϚ্āĻ›ে MID() āĻĢাংāĻļāύ।

MID āĻĢাংāĻļāύেāϰ āϏংāϜ্āĻžা

MID() āĻāĻ•āϟি āĻĢাংāĻļāύ āϝা āĻāĻ•āϟি āĻļāĻŦ্āĻĻেāϰ āύিāϰ্āĻĻিāώ্āϟ āϏ্āĻĨাāύে āĻ—ি⧟ে, āύিāϰ্āĻĻিāώ্āϟ āϏংāĻ–্āϝāĻ• āĻ…āĻ•্āώāϰ āĻŦা āĻ•্āϝাāϰেāĻ•্āϟাāϰ āφāϞাāĻĻা āĻ•āϰে āύিāϝ়ে āφāϏে।

Mid( String, Start, Length )
  • String: āĻĒুāϰো āĻŦাāĻ•্āϝ āĻŦা āĻļāĻŦ্āĻĻ
  • Start: āĻ•োāύ āĻĒāϜিāĻļāύ (āĻ…āĻ•্āώāϰ) āĻĨেāĻ•ে āĻ•াāϟা āĻļুāϰু āĻšāĻŦে
  • Length: āĻ•āϤāϟি āĻ…āĻ•্āώāϰ āĻ•াāϟা āĻšāĻŦে

āĻŦাāϏ্āϤāĻŦ āωāĻĻাāĻšāϰāĻŖ

āϧāϰুāύ, āφāĻĒāύাāϰ āĻ•াāĻ›ে āύিāϚেāϰ āĻļāĻŦ্āĻĻāϟি āφāĻ›ে:

"BANGLADESH"

āĻāĻ–āύ āφāĻĒāύি āϚাāχāĻ›েāύ āĻŽাāĻāĻ–াāύ āĻĨেāĻ•ে "GLA" āĻ…ংāĻļāϟি āφāϞাāĻĻা āĻ•āϰāϤে। āϤাāĻšāϞে āĻĢাংāĻļāύāϟি āĻšāĻŦে:

Mid("BANGLADESH", 4, 3)

āĻĢāϞাāĻĢāϞ: "GLA"

āĻāĻ–াāύে ā§Ē āύāĻŽ্āĻŦāϰ āĻ…āĻŦāϏ্āĻĨাāύে āφāĻ›ে G, āϤাāϰāĻĒāϰেāϰ ā§Šāϟি āĻ…āĻ•্āώāϰ āĻ•েāϟে āύে⧟া āĻšā§ŸেāĻ›ে: G, L, A।

āĻāϟি āĻ•োāĻĨাāϝ় āĻŦ্āϝāĻŦāĻšৃāϤ āĻšāϝ়?

  • āύাāĻŽ āĻŦা āĻ িāĻ•াāύা āĻĨেāĻ•ে āύিāϰ্āĻĻিāώ্āϟ āĻ…ংāĻļ āφāϞাāĻĻা āĻ•āϰāϤে
  • āĻŽোāĻŦাāχāϞ āύাāĻŽ্āĻŦাāϰ āĻŦা āĻāύāφāχāĻĄি āĻĨেāĻ•ে āύিāϰ্āĻĻিāώ্āϟ āϏংāĻ–্āϝা āĻŦেāϰ āĻ•āϰāϤে
  • Excel/Access-āĻ āϰিāĻĒোāϰ্āϟ āϤৈāϰি āĻ•āϰāϤে
  • āĻĄেāϟা āĻ…āϟোāĻŽেāĻļāύ āĻŦা āĻĢāϰ্āĻŽ āĻĒ্āϰāϏেāϏিং-āĻ

āϏāĻšāϜ āĻāĻ•āϟি āωāĻĻāĻšাāϰāύ:

āĻ­াāĻŦুāύ āφāĻĒāύি āĻāĻ•āϟা āĻ•েāĻ• āĻŦাāύি⧟েāĻ›েāύ। āĻāĻ–āύ āφāĻĒāύি āĻļুāϧু āĻŽাāĻāĻ–াāύেāϰ āĻāĻ• āϟুāĻ•āϰো āĻ–েāϤে āϚাāύ। MID āĻĢাংāĻļāύ āĻāĻ•āĻĻāĻŽ āϏেāχ āĻ•াāϜāϟাāχ āĻ•āϰে — āĻĒুāϰো āĻ•েāĻ• āύা āĻ•েāϟে, āĻĒāĻ›āύ্āĻĻেāϰ āϟুāĻ•āϰোāϟা āϤুāϞে āύে⧟!

āĻ…āϤিāϰিāĻ•্āϤ āϟিāĻĒāϏ:

  • āĻļুāϰু āĻĨেāĻ•ে āĻ•েāϟে āύিāϤে āϚাāχāϞে LEFT() āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰুāύ
  • āĻļেāώ āĻĨেāĻ•ে āύিāϤে āϚাāχāϞে RIGHT() āĻĢাংāĻļāύ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰুāύ

āωāĻĒāϏংāĻšাāϰ

MID() āĻĢাংāĻļāύ āφāĻĒāύাāϰ āĻĄেāϟা āĻŦ্āϝāĻŦāϏ্āĻĨাāĻĒāύা āĻāĻŦং āϰিāĻĒোāϰ্āϟিং āĻ•ে āĻ…āύেāĻ• āϏāĻšāϜ āĻ•āϰে āϤোāϞে। āĻāϟি āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে āφāĻĒāύি āĻĻ্āϰুāϤ āĻāĻŦং āύিāϰ্āĻ­ুāϞāĻ­াāĻŦে āĻŽাāĻāĻ–াāύ āĻĨেāĻ•ে āϤāĻĨ্āϝ āĻŦেāϰ āĻ•āϰāϤে āĻĒাāϰāĻŦেāύ — āĻāĻ•েāĻŦাāϰে āĻŽ্āϝাāϜিāĻ•েāϰ āĻŽāϤো!

āφāĻĒāύি āϚাāχāϞে āφāϜāχ āĻŦ্āϝāĻŦāĻšাāϰ āĻļুāϰু āĻ•āϰুāύ:

  • Google Sheets-āĻ āĻ—ি⧟ে MID āĻĢাংāĻļāύ āĻĒ্āϰ⧟োāĻ— āĻ•āϰে āĻĻেāĻ–ুāύ
  • Excel āĻŦা MS Access āĻĢāϰ্āĻŽে āĻāχ āϟুāϞāϟি āϟ্āϰাāχ āĻ•āϰুāύ

āφāϰ āϝāĻĻি āφāĻĒāύি āϚাāύ LEFT(), RIGHT(), āĻ•িংāĻŦা āφāϰāĻ“ āϏāĻšāϜ Excel āϟিāĻĒāϏ āĻļিāĻ–āϤে, āύিāϚে āĻ•āĻŽেāύ্āϟ āĻ•āϰুāύ āĻŦা āφāĻŽাāĻĻেāϰ āĻĢāϞো āĻ•āϰুāύ!

---Visual Basic:

Mid( String, Start, Length)

.....................................................................................

Code: 
Command = "Corrupted People"
newCommand = Mid(Command, 0, 5)
.................................................................................................
Then
newCommand = "Corru"
.....................................................................................
Code: 
Command = "Corrupted People"
newCommand = Mid(Command, 5, 8)
.................................................................................................
Then
newCommand = "pted Peo"

.....................................................................................

If Length argument is not used then from Start to last all string will be stored.
Code: 
Command = "Corrupted People"
newCommand = Mid(Command, 5)
.................................................................................................
Then
newCommand = "pted People"



Function: Substring(x, y)

Visual Basic-āĻāϰ Substring(x, y) āĻĢাংāĻļāύ: āϟেāĻ•্āϏāϟ āĻ•েāϟে āύেāĻ“āϝ়াāϰ āϏāĻšāϜ āωāĻĒাāϝ়

Visual Basic-āĻāϰ Substring(x, y): āϟেāĻ•্āϏāϟ āĻĨেāĻ•ে āĻ•াāĻ™্āĻ•্āώিāϤ āĻ…ংāĻļ āĻ•েāϟে āύিāύ āϏāĻšāϜে

Visual Basic (VB)-āĻ āφāĻĒāύি āϝāĻĻি āĻ•োāύ āϏ্āϟ্āϰিং (text/string) āĻĨেāĻ•ে āĻāĻ•āϟি āύিāϰ্āĻĻিāώ্āϟ āĻ…ংāĻļ āĻ•েāϟে āύিāϤে āϚাāύ, āϤাāĻšāϞে Substring() āĻĢাংāĻļāύāχ āφāĻĒāύাāϰ āϏāĻŦāϚেāϝ়ে āĻ­াāϞো āĻšাāϤি⧟াāϰ। āφāϜāĻ•ে āφāĻŽāϰা āϜাāύāĻŦো āĻ•িāĻ­াāĻŦে āĻāϟি āĻ•াāϜ āĻ•āϰে, āĻāĻŦং āĻ•েāύ āĻāϟি āĻāϤ āĻĻāϰāĻ•াāϰী।

Substring() āĻĢাংāĻļāύ āĻ•ী?

Substring() āĻāĻ•āϟি āĻĢাংāĻļāύ āϝা āĻāĻ•āϟি āĻļāĻŦ্āĻĻ āĻŦা āĻŦাāĻ•্āϝেāϰ āύিāϰ্āĻĻিāώ্āϟ āĻĒāϜিāĻļāύ āĻĨেāĻ•ে āĻļুāϰু āĻ•āϰে āύিāϰ্āĻĻিāώ্āϟ āϏংāĻ–্āϝāĻ• āĻ…āĻ•্āώāϰ āĻ•েāϟে āĻāύে āφāĻĒāύাāĻ•ে āĻĻে⧟।

String.Substring(StartIndex, Length)
  • StartIndex: āĻ•োāύ āĻĒāϜিāĻļāύ āĻĨেāĻ•ে āĻļুāϰু āĻ•āϰāĻŦেāύ (0 āĻĨেāĻ•ে āĻ—āĻŖāύা āĻļুāϰু āĻšā§Ÿ)
  • Length: āĻ•āϤāϟি āĻ…āĻ•্āώāϰ āĻ•েāϟে āύেāĻŦেāύ

āωāĻĻাāĻšāϰāĻŖ

Dim country As String = "BANGLADESH"
Dim result As String = country.Substring(3, 3)

āĻāχ āĻ•োāĻĄāϟি "BANGLADESH" āĻļāĻŦ্āĻĻ āĻĨেāĻ•ে ā§Ēāϰ্āĻĨ āĻĒāϜিāĻļāύ (G) āĻĨেāĻ•ে āĻļুāϰু āĻ•āϰে ā§Šāϟি āĻ…āĻ•্āώāϰ (G, L, A) āĻ•েāϟে "GLA" āĻĢāϞাāĻĢāϞ āĻĻেāĻŦে।

āĻ…āĻ•্āώāϰ āĻ—āĻŖāύাāϰ āύি⧟āĻŽ:

B = 0
A = 1
N = 2
G = 3 ← āĻāĻ–াāύ āĻĨেāĻ•ে āĻļুāϰু
L = 4
A = 5

Substring() āĻ•োāĻĨা⧟ āĻŦ্āϝāĻŦāĻšাāϰ āĻšā§Ÿ?

  • āύাāĻŽ āĻŦা āĻ িāĻ•াāύা āĻĨেāĻ•ে āĻ…ংāĻļ āĻ•েāϟে āύিāϤে
  • āĻŽোāĻŦাāχāϞ āύāĻŽ্āĻŦāϰ āĻĨেāĻ•ে āĻ•োāĻĄ āφāϞাāĻĻা āĻ•āϰāϤে
  • āĻĢাāχāϞ āύাāĻŽ āĻĨেāĻ•ে āϤাāϰিāĻ– āĻŦা āϏāĻŽā§Ÿ āϟেāύে āφāύāϤে
  • āĻĄেāϟা āĻ­্āϝাāϞিāĻĄেāĻļāύ āĻŦা āχāύāĻĒুāϟ āϝাāϚাāĻ‡ā§Ÿে

āϏāĻšāϜ āĻāĻ•্āϏাāĻŽāĻĒ্āϞ

āĻāĻ•āϟি āĻŦ⧜ āĻ•েāĻ•েāϰ āĻŽাāĻāĻ–াāύ āĻĨেāĻ•ে āĻāĻ•āϟি āϟুāĻ•āϰো āĻ•েāϟে āύিāϤে āϚাāχāϞে āϝেāĻŽāύ āĻ›ুāϰি āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰি, Substring() āĻĢাংāĻļāύ āϤেāĻŽāύāĻ­াāĻŦেāχ āĻ•াāϜ āĻ•āϰে āϟেāĻ•্āϏāϟেāϰ āĻŽাāĻāĻ–াāύ āĻĨেāĻ•ে āύিāϰ্āĻĻিāώ্āϟ āĻ…ংāĻļ āĻ•েāϟে āύেāĻ“ā§Ÿাāϰ āϜāύ্āϝ।

💡 āϟিāĻĒāϏ

  • VB-āϤে āĻ…āĻ•্āώāϰ āĻ—োāύা āĻļুāϰু āĻšā§Ÿ 0 āĻĨেāĻ•ে
  • āĻļেāώ āĻĒāϰ্āϝāύ্āϤ āύিāϤে āϚাāχāϞে āĻļুāϧু Substring(x) āϞিāĻ–āϞেāχ āĻšāĻŦে
  • āϏ্āϟ্āϰিং āĻ›োāϟ āĻšāϞে Substring() āĻāϰ Index āĻāĻŦং Length āύি⧟ে āϏাāĻŦāϧাāύে āĻ•াāϜ āĻ•āϰুāύ, āύ⧟āϤো error āĻšāϤে āĻĒাāϰে

āωāĻĒāϏংāĻšাāϰ

Substring() āĻĢাংāĻļāύ āĻļেāĻ–া āĻĒ্āϰোāĻ—্āϰাāĻŽিং-āĻāϰ āĻāĻ• āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āϧাāĻĒ। āĻāϰ āĻŽাāϧ্āϝāĻŽে āφāĻĒāύি āϜāϟিāϞ āϏ্āϟ্āϰিং āĻŦা āϟেāĻ•্āϏāϟ āĻĄেāϟা āĻĨেāĻ•ে āĻ–ুāĻŦ āϏāĻšāϜে āĻĻāϰāĻ•াāϰি āĻ…ংāĻļ āϟেāύে āφāύāϤে āĻĒাāϰāĻŦেāύ। āϝাāϰা Excel Macro, VB.NET āĻŦা Access āĻĢāϰ্āĻŽ āύিāϝ়ে āĻ•াāϜ āĻ•āϰেāύ, āϤাāĻĻেāϰ āϜāύ্āϝ āĻāϟি āĻ…āϤ্āϝāύ্āϤ āĻĻāϰāĻ•াāϰি।

āφāĻĒāύাāϰ āĻĒাāϞা!

āφāĻĒāύি āϚাāχāϞে āφāϜāχ āĻāĻ•āϟি āĻ›োāϟ āĻ•োāĻĄ āϞিāĻ–ে Substring() āĻĢাংāĻļāύ āϟ্āϰাāχ āĻ•āϰে āĻĻেāĻ–ুāύ। āφāϰ āϝāĻĻি āφāĻĒāύি āϚাāύ Left(), Right(), āĻ…āĻĨāĻŦা InStr() āĻāϰ āĻŽāϤো āĻ…āύ্āϝাāύ্āϝ āĻĢাংāĻļāύেāϰ āωāĻĒāϰāĻ“ āϏāĻšāϜ āĻŦাংāϞা āĻŦ্āϞāĻ—, āϤাāĻšāϞে āύিāϚে āĻ•āĻŽেāύ্āϟ āĻ•āϰুāύ!

Visual Basic:
Substring(x, y)
............................................................................................... 
Code:
Command = "Beautifully"
Newcommand = Command. Substring(0, 5)
...............................................................................................
Then 
Newcommand =  "Beauti"
............................................................................................... 
Code:
Command = "Beautifully"
Newcommand = Command. Substring(6, 10)
...............................................................................................
Then 
Newcommand =  "fully"

Thursday, May 7, 2020

The function " strcpy() "

C āĻĒ্āϰোāĻ—্āϰাāĻŽিং⧟ে strcpy(X, Y) āĻĢাংāĻļāύ — āĻŦিāϏ্āϤাāϰিāϤ āĻŦিāĻļ্āϞেāώāĻŖ

C āĻĒ্āϰোāĻ—্āϰাāĻŽিং āĻ­াāώা⧟ āϏ্āϟ্āϰিং (String) āĻŽাāύে āĻšāϚ্āĻ›ে āĻāĻ• āϧāϰāύেāϰ āĻ•্āϝাāϰেāĻ•্āϟাāϰ āĻ…্āϝাāϰে āĻŦা āĻ…āĻ•্āώāϰেāϰ āϏাāϰি, āϝা \0 (null character) āĻĻ্āĻŦাāϰা āĻļেāώ āĻšā§Ÿ। āφāϰ āĻāχ āϏ্āϟ্āϰিংāĻ—ুāϞোāĻ•ে āĻāĻ•ে āĻ…āĻĒāϰেāϰ āĻŽাāĻে āĻ•āĻĒি āĻ•āϰাāϰ āϜāύ্āϝ C-āϤে āĻāĻ•āϟি āĻļāĻ•্āϤিāĻļাāϞী āĻĢাংāĻļāύ āϰ⧟েāĻ›ে āϝাāϰ āύাāĻŽ āĻšāϚ্āĻ›ে  strcpy()

strcpy(X, Y); āĻĢাংāĻļāύ āĻ•ী?

strcpy() āĻšāϞ āĻāĻ•āϟি āϏ্āϟ্āϝাāύ্āĻĄাāϰ্āĻĄ āϞাāχāĻŦ্āϰেāϰি āĻĢাংāĻļāύ āϝা Y āϏ্āϟ্āϰিং-āĻāϰ āĻ•āύāϟেāύ্āϟāĻ•ে X-āĻ āĻ•āĻĒি āĻ•āϰে। āĻāϟি string.h āĻšেāĻĄাāϰ āĻĢাāχāϞেāϰ āĻ…āύ্āϤāϰ্āĻ—āϤ।

āĻĢাংāĻļāύেāϰ āϏিāύāϟ্āϝাāĻ•্āϏ:

#include <string.h>

strcpy(destination, source);
  • destination → āϝেāϟি āϏ্āϟ্āϰিংāϟি āϰিāϏিāĻ­ āĻ•āϰāĻŦে (X)
  • source → āϝেāϟি āĻĨেāĻ•ে āĻ•āĻĒি āĻ•āϰা āĻšāĻŦে (Y)

āĻ…āϰ্āĻĨাā§Ž: strcpy(X, Y); āĻ…āϰ্āĻĨ: Y-āĻāϰ āĻŽাāύ X-āĻ āĻ•āĻĒি āĻ•āϰো।

đŸ§Ē āωāĻĻাāĻšāϰāĻŖ:

#include <stdio.h>
#include <string.h>

int main() {
    char X[20];
    char Y[] = "Hello, World!";

    strcpy(X, Y);

    printf("X āĻāϰ āĻŽাāύ: %s\n", X);
    return 0;
}

āφāωāϟāĻĒুāϟ:
X āĻāϰ āĻŽাāύ: Hello, World!

āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻŦিāώ⧟:

  • X (destination) āĻāϰ āφāĻ•াāϰ āϝāĻĨেāώ্āϟ āĻŦ⧜ āĻšāϤে āĻšāĻŦে āϝেāύ Y-āĻāϰ āϏāĻŦ āĻ…āĻ•্āώāϰ + null character (\0) āϧাāϰāĻŖ āĻ•āϰāϤে āĻĒাāϰে।
  • āϝāĻĻি X āĻ›োāϟ āĻšā§Ÿ, āϤাāĻšāϞে buffer overflow āĻšāϤে āĻĒাāϰে āϝা āĻ…্āϝাāĻĒ āĻ•্āϰ্āϝাāĻļ āĻŦা āϏিāĻ•িāωāϰিāϟি āϰিāϏ্āĻ• āϏৃāώ্āϟি āĻ•āϰāϤে āĻĒাāϰে।

āĻŽেāĻŽোāϰি āĻ­িāω (Visualization):

| Y | → | H | e | l | l | o | , |   | W | o | r | l | d | ! | \0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|----|
| X | ← āĻ•āĻĒি āĻšā§Ÿে āϝা⧟ →

strcpy() āĻāϰ āĻ•াāϰ্āϝāĻĒ্āϰāĻŖাāϞি (āĻ•োāĻĄেāϰ āĻŽাāϧ্āϝāĻŽে):

char* strcpy(char* dest, const char* src) {
    char* ptr = dest;
    while (*src != '\0') {
        *ptr++ = *src++;
    }
    *ptr = '\0'; // null character āϝোāĻ— āĻ•āϰা
    return dest;
}

 āĻŦিāĻ•āϞ্āĻĒ: strncpy() — āφāϰāĻ“ āύিāϰাāĻĒāĻĻ āϏংāϏ্āĻ•āϰāĻŖ

strncpy(X, Y, sizeof(X) - 1);
X[sizeof(X) - 1] = '\0'; // null āϝোāĻ— āĻ•āϰা āύিāĻļ্āϚিāϤ āĻ•āϰাāϰ āϜāύ্āϝ

āĻāϟি buffer overflow āĻĒ্āϰāϤিāϰোāϧে āϏāĻšা⧟āĻ•।

strcpy() āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰাāϰ āϏāĻŽā§Ÿ āϏāϤāϰ্āĻ•āϤা:

āϏāĻŽāϏ্āϝা āϏāĻŽাāϧাāύ
Buffer overflowstrncpy() āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰুāύ
Source string null āύা āĻšāϞেāĻĒ্āϰোāĻ—্āϰাāĻŽ āĻ•্āϰ্āϝাāĻļ āĻ•āϰāϤে āĻĒাāϰে
Destination āĻ›োāϟ āĻšāϞেāĻ…āĻĒ্āϰāϤ্āϝাāĻļিāϤ āϰেāϜাāϞ্āϟ

āĻŦাāϏ্āϤāĻŦ āϜীāĻŦāύ āĻŦ্āϝāĻŦāĻšাāϰ:

  • āχāωāϜাāϰেāϰ āύাāĻŽ āĻŦা āχāύāĻĒুāϟ āĻ•āĻĒি āĻ•āϰা
  • āĻĢাāχāϞāĻĒাāĻĨ āϏ্āϟোāϰ āĻ•āϰা
  • āϞোāĻ•াāϞ āĻ•āĻĒি āϤৈāϰি āĻ•āϰে āĻĒ্āϰāϏেāϏ āĻ•āϰা

āωāĻĒāϏংāĻšাāϰ

strcpy() āĻāĻ•āϟি āĻ…āϤ্āϝāύ্āϤ āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻāĻŦং āĻŦāĻšুāϞ āĻŦ্āϝāĻŦāĻšৃāϤ C āϞাāχāĻŦ্āϰেāϰি āĻĢাংāĻļāύ। āϝāĻĻিāĻ“ āĻāϟি āĻŦ্āϝāĻŦāĻšাāϰে āĻ•িāĻ›ু āϏāϤāϰ্āĻ•āϤা āĻĻāϰāĻ•াāϰ, āϤāĻŦুāĻ“ āϏāĻ িāĻ•āĻ­াāĻŦে āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϞে āϏ্āϟ্āϰিং āĻ•āĻĒি āĻ•āϰাāϰ āϜāύ্āϝ āĻāϟি āĻĻ্āϰুāϤ āĻ“ āĻ•াāϰ্āϝāĻ•āϰ।

āĻĒāϰাāĻŽāϰ্āĻļ: āϝāĻĻি āύিāϰাāĻĒāϤ্āϤা āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻšā§Ÿ, āϤাāĻšāϞে strncpy() āĻ…āĻĨāĻŦা strcpy_s() (modern C) āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰাāχ āĻ­াāϞো।

āϝāĻĻি āĻāχ āĻŦ্āϞāĻ—āϟি āφāĻĒāύাāϰ āωāĻĒāĻ•াāϰে āφāϏে, āύিāϚে āĻ•āĻŽেāύ্āϟ āĻ•āϰুāύ āĻāĻŦং āĻļে⧟াāϰ āĻ•āϰāϤে āĻ­ুāϞāĻŦেāύ āύা।

Friday, April 24, 2020

āύিāωāϟāύেāϰ āĻ—āϤিāϰ āϏুāϤ্āϰঃ

           āĻĒ্āϰāĻĨāĻŽ āϏুāϤ্āϰঃ "āĻŦāϞ āĻĒ্āϰ⧟োāĻ— āύা āĻ•āϰāϞে āϏ্āĻĨিāϰ āĻŦāϏ্āĻĨু āϏ্āĻĨিāϰ āĻĨাāĻ•āĻŦে āĻāĻŦং āϏāĻŽāĻŦেāĻ—ে āϚāϞāϤে āĻĨাāĻ•া āĻŦāϏ্āϤু āϏāĻŽāĻŦেāĻ—ে āϚāϞāϤে āĻĨাāĻ•āĻŦে"
           āĻĻ্āĻŦিāϤী⧟ āϏুāϤ্āϰঃ "āĻŦāϏ্āϤুāϰ āĻ­āϰāĻŦেāĻ—েāϰ āĻĒāϰিāĻŦāϰ্āϤāύেāϰ āĻšাāϰ āϤাāϰ āωāĻĒāϰ āĻĒ্āϰāϝুāĻ•্āϤ āĻŦāϞেāϰ āϏāĻŽাāύুāĻĒাāϤিāĻ• āĻāĻŦং āĻŦāϞ āϝে āĻĻিāĻ•ে āĻĒ্āϰ⧟োāĻ— āĻ•āϰা āĻšā§Ÿ āĻŦāϏ্āϤুāϰ āĻ­āϰāĻŦেāĻ—েāϰ āĻĒāϰিāĻŦāϰ্āϤāύ āϏে āĻĻিāĻ•েāχ āϘāϟে"
           āϤৃāϤী⧟ āϏুāϤ্āϰঃ "āĻĒ্āϰāϤ্āϝেāĻ• āĻ•্āϰি⧟াāϰ āϏāĻŽাāύ āĻ“ āĻŦিāĻĒāϰীāϤ āĻĒ্āϰāϤিāĻ•্āϰি⧟া āφāĻ›েāĻ…āϰ্āĻĨাāϤ āϝāĻ–āύ āĻāĻ•āϟি āĻŦāϏ্āϤু āĻ…āύ্āϝ āĻāĻ•āϟি āĻŦāϏ্āϤুāϰ āωāĻĒāϰ āĻŦāϞ āĻĒ্āϰ⧟োāĻ— āĻ•āϰে āϤāĻ–āύ āϏেāχ āĻŦāϏ্āϤুāϟিāĻ“ āĻĒ্āϰāĻĨāĻŽ āĻŦāϏ্āϤুāϟিāϰ āωāĻĒāϰ āĻŦিāĻĒāϰীāϤ āĻĻিāĻ•ে āϏāĻŽাāύ āĻŦāϞ āĻĒ্āϰ⧟োāĻ— āĻ•āϰে। 

Thursday, April 23, 2020

What is Static Frequency Converter?

Static Frequency Converter (SFC) āĻ•ী? āϏāĻšāϜ āĻŦাংāϞা āĻŦ্āϞāĻ—

Static Frequency Converter (SFC) āĻ•ী? āϏāĻšāϜ āĻŦাংāϞা⧟ āϜাāύুāύ

āφāĻŽাāĻĻেāϰ āϚাāϰāĻĒাāĻļে āĻ…āύেāĻ• āχāϞেāĻ•āϟ্āϰিāĻ• āϝāύ্āϤ্āϰ āϰ⧟েāĻ›ে āϝেāĻ—ুāϞো āύিāϰ্āĻĻিāώ্āϟ āĻāĻ•āϟি āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏিāϤে (frequency) āĻ•াāϜ āĻ•āϰে। āĻ•িāύ্āϤু āϏāĻŦāϏāĻŽā§Ÿ āĻŦিāĻĻ্āϝুā§Ž āϏাāĻĒ্āϞাāχ āϏেāχ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏিāϤে āĻšā§Ÿ āύা। āϤāĻ–āύ āĻĒ্āϰ⧟োāϜāύ āĻšā§Ÿ āĻāĻŽāύ āĻāĻ•āϟি āĻĄিāĻ­াāχāϏ, āϝা āĻŦিāĻĻ্āϝুā§Ž āϏাāĻĒ্āϞাāĻ‡ā§Ÿেāϰ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏি āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰāϤে āĻĒাāϰে। āĻāĻ•ে āĻŦāϞা āĻšā§Ÿ Static Frequency Converter (SFC)

Frequency āĻŦāϞāϤে āĻ•ী āĻŦোāĻা⧟?

āĻŦিāĻĻ্āϝুā§Ž āĻĒ্āϰāĻŦাāĻšেāϰ āĻāĻ•āϟি āĻ—āϤি āĻŦা āĻ›āύ্āĻĻ (rhythm) āĻĨাāĻ•ে — āĻĒ্āϰāϤি āϏেāĻ•েāύ্āĻĄে āĻ•ā§ŸāĻŦাāϰ āϤা āĻĻিāĻ• āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰে, āϏেāϟাāχ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏি। āĻāĻ•ে āĻŦāϞা āĻšā§Ÿ Hertz (Hz)। āωāĻĻাāĻšāϰāĻŖāϏ্āĻŦāϰূāĻĒ, āĻŦাংāϞাāĻĻেāĻļে āĻŦিāĻĻ্āϝুā§Ž āϏāϰāĻŦāϰাāĻšেāϰ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏি āϏাāϧাāϰāĻŖāϤ ā§Ģā§Ļ āĻšেāϰ্āϜ।

Static Frequency Converter (SFC) āĻ•ী?

SFC āĻšāϞো āĻāĻŽāύ āĻāĻ•āϟি āχāϞেāĻ•āϟ্āϰāύিāĻ• āĻĄিāĻ­াāχāϏ āϝা āĻŦিāĻĻ্āϝুā§Ž āĻĒ্āϰāĻŦাāĻšেāϰ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏি āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰে। āϏāĻšāϜāĻ­াāĻŦে āĻŦāϞāϞে, āĻāϟি āĻāĻ• āϧāϰāύেāϰ āϰূāĻĒাāύ্āϤāϰāĻ•াāϰী (converter) āϝা āĻāĻ• āϰāĻ•āĻŽ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏিāĻ•ে āĻ…āύ্āϝ āϰāĻ•āĻŽ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏিāϤে āϰূāĻĒাāύ্āϤāϰ āĻ•āϰে āĻĻে⧟।

"Static" āĻļāĻŦ্āĻĻেāϰ āĻŽাāύে āĻ•ী?

"Static" āĻŽাāύে āĻšāϞো — āĻāϤে āĻ•োāύো āϘূāϰ্āĻŖāĻŽাāύ āĻŦা āϚāϞāĻŽাāύ āϝāύ্āϤ্āϰাংāĻļ (moving parts) āύেāχ। āĻāϟি āĻĒুāϰোāĻĒুāϰি āχāϞেāĻ•āϟ্āϰāύিāĻ• āϏাāϰ্āĻ•িāϟ āĻĻি⧟ে āϤৈāϰি, āĻĢāϞে āĻāϰ āϰāĻ•্āώāĻŖাāĻŦেāĻ•্āώāĻŖāĻ“ āϏāĻšāϜ।

SFC āĻ•িāĻ­াāĻŦে āĻ•াāϜ āĻ•āϰে? (āϏāĻšāϜ āĻ­াāώা⧟)

  1. āĻĒ্āϰāĻĨāĻŽে AC āĻŦিāĻĻ্āϝুā§ŽāĻ•ে DC āϤে āϰূāĻĒাāύ্āϤāϰ āĻ•āϰা āĻšā§Ÿ।
  2. āϤাāϰāĻĒāϰ āϏেāχ DC āĻŦিāĻĻ্āϝুā§ŽāĻ•ে āφāĻŦাāϰ āĻĒ্āϰ⧟োāϜāύী⧟ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏিāϰ AC āϤে āϰূāĻĒাāύ্āϤāϰ āĻ•āϰা āĻšā§Ÿ।
  3. āĻāχāĻ­াāĻŦে āφāĻŽāϰা āϝāύ্āϤ্āϰে āĻĒāĻ›āύ্āĻĻāĻŽāϤো āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏি āĻĻিāϤে āĻĒাāϰি।

āϏāĻšāϜ āωāĻĻাāĻšāϰāĻŖ:

āϧāϰুāύ āφāĻĒāύি āĻŦিāĻĻেāĻļ āĻĨেāĻ•ে āĻāĻŽāύ āĻāĻ•āϟি āĻĢ্āϝাāύ āĻ•িāύেāĻ›েāύ āϝা āϚāϞে ā§Ŧā§Ļ āĻšেāϰ্āϜ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏিāϤে। āĻ•িāύ্āϤু āφāĻĒāύাāϰ āĻŦাāϏা⧟ ā§Ģā§Ļ āĻšেāϰ্āϜেāϰ āĻŦিāĻĻ্āϝুā§Ž āĻĨাāĻ•ে। āĻĢ্āϝাāύāϟি āĻ িāĻ•āĻ­াāĻŦে āϚāϞāĻŦে āύা। āĻāχ āϏāĻŽāϏ্āϝাāϰ āϏāĻŽাāϧাāύ āĻšāϞো āĻāĻ•āϟি Static Frequency Converter āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা, āϝা ā§Ģā§Ļ āĻšেāϰ্āϜāĻ•ে ā§Ŧā§Ļ āĻšেāϰ্āϜে āϰূāĻĒাāύ্āϤāϰ āĻ•āϰāĻŦে।

SFC āĻ•োāĻĨা⧟ āĻŦ্āϝāĻŦāĻšৃāϤ āĻšā§Ÿ?

  • ✈️ āĻāϝ়াāϰāĻĒোāϰ্āϟে — āĻŦিāĻŽাāύ āϚāϞাāϚāϞেāϰ āϏāĻŽā§Ÿ āύিāϰ্āĻĻিāώ্āϟ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏি āĻĒ্āϰ⧟োāϜāύ āĻšā§Ÿ।
  • 🚆 āϰেāϞāĻ“āϝ়েāϤে — āχāϞেāĻ•āϟ্āϰিāĻ• āϟ্āϰেāύ āϚাāϞাāϤে āύিāϰ্āĻĻিāώ্āϟ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏি āĻĻāϰāĻ•াāϰ।
  • 🏭 āĻļিāϞ্āĻĒ āĻ•াāϰāĻ–াāύা⧟ — āϏ্āĻĒেāĻļাāϞ āĻŽেāĻļিāύ āĻĒāϰিāϚাāϞāύাāϰ āϜāύ্āϝ।
  • 🔋 Renewable energy systems — āϝেāĻŽāύ āωāχāύ্āĻĄ āϟাāϰāĻŦাāχāύ, āϏোāϞাāϰ āχāύāĻ­াāϰ্āϟাāϰ।

SFC āĻāϰ āϏুāĻŦিāϧা āĻ•ী?

  • ✅ āĻ•োāύ āϘূāϰ্āĻŖāύ āĻ…ংāĻļ āύেāχ — āϤাāχ āĻ•āĻŽ āĻŽেāϰাāĻŽāϤ āϞাāĻ—ে
  • ✅ āύিāϰ্āĻ­āϰāϝোāĻ—্āϝ āĻ“ āϟেāĻ•āϏāχ
  • ✅ āύিāϰ্āĻ­ুāϞ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏি āύি⧟āύ্āϤ্āϰāĻŖ
  • ✅ āĻāĻ•াāϧিāĻ• āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏিāϤে āĻ•াāϜ āĻ•āϰāϤে āĻĒাāϰে

SFC āĻāϰ āϏীāĻŽাāĻŦāĻĻ্āϧāϤা

  • ⚠️ āĻĻাāĻŽ āϤুāϞāύাāĻŽূāϞāĻ•āĻ­াāĻŦে āĻŦেāĻļি
  • ⚠️ āĻ…āϤিāϰিāĻ•্āϤ āϤাāĻĒ āĻ‰ā§ŽāĻĒāύ্āύ āĻšāϤে āĻĒাāϰে
  • ⚠️ āχāύāϏ্āϟāϞ āĻ•āϰাāϰ āϜāύ্āϝ āĻĻāĻ•্āώ āϟেāĻ•āύিāĻļিāϝ়াāύ āĻĻāϰāĻ•াāϰ

āωāĻĒāϏংāĻšাāϰ

Static Frequency Converter (SFC) āĻāĻ•āϟি āφāϧুāύিāĻ• āĻĒ্āϰāϝুāĻ•্āϤি āϝা āύিāϰ্āĻĻিāώ্āϟ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏিāϰ āĻŦিāĻĻ্āϝুā§Ž āϏāϰāĻŦāϰাāĻš āύিāĻļ্āϚিāϤ āĻ•āϰে। āĻāϟি āĻŦিāĻļেāώ āϝāύ্āϤ্āϰāĻĒাāϤি āĻ“ āĻļিāϞ্āĻĒ āĻŦ্āϝāĻŦāϏ্āĻĨাāϰ āϜāύ্āϝ āĻ…āϤ্āϝāύ্āϤ āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻāĻ•āϟি āĻĄিāĻ­াāχāϏ। āĻāϰ āϏাāĻšাāϝ্āϝে āϝেāϏāĻŦ āϝāύ্āϤ্āϰ āύিāϰ্āĻĻিāώ্āϟ āĻĢ্āϰিāĻ•োāϝ়েāύ্āϏি āϚা⧟, āϏেāĻ—ুāϞো āϏāĻšāϜেāχ āϚাāϞাāύো āϏāĻŽ্āĻ­āĻŦ āĻšā§Ÿ।

āφāϰāĻ“ āϜাāύāϤে āϚাāύ?

āφāĻĒāύি āϝāĻĻি āĻāĻŽāύ āφāϰāĻ“ āϏāĻšāϜ āĻĒ্āϰāϝুāĻ•্āϤিāĻ—āϤ āĻŦিāώ⧟ āϜাāύāϤে āϚাāύ — āϝেāĻŽāύ Inverter āĻ•ীāĻ­াāĻŦে āĻ•াāϜ āĻ•āϰে, Voltage āĻ“ Frequency āĻāϰ āĻĒাāϰ্āĻĨāĻ•্āϝ, āϤাāĻšāϞে āφāĻŽাāĻĻেāϰ āĻĢāϞো āĻ•āϰুāύ āĻāĻŦং āĻ•āĻŽেāύ্āϟ āĻ•āϰুāύ! āφāĻŽāϰা āĻŦাংāϞা⧟ āĻĒ্āϰāϝুāĻ•্āϤিāĻ•ে āϏāĻšāϜāĻ­াāĻŦে āϤুāϞে āϧāϰāĻ›ি āĻĒ্āϰāϤিāĻĻিāύ 

Friday, April 10, 2020

4x4 keypad interfacing with ArduinoUNO

4x4 āĻ•িāĻĒ্āϝাāĻĄ āĻāĻŦং Arduino UNO āĻĒ্āϰāϜেāĻ•্āϟ

ā§Ēxā§Ē āĻ•িāĻĒ্āϝাāĻĄ āĻ“ LCD āĻĄিāϏāĻĒ্āϞে āϏāĻš Arduino UNO āĻĒ্āϰāϜেāĻ•্āϟ

āĻŦāϰ্āϤāĻŽাāύ āϝুāĻ—ে āχāϞেāĻ•āϟ্āϰāύিāĻ•্āϏ āĻ“ āĻŽাāχāĻ•্āϰোāĻ•āύ্āϟ্āϰোāϞাāϰ āĻ­িāϤ্āϤিāĻ• āĻĒ্āϰāĻ•āϞ্āĻĒāĻ—ুāϞোāϰ āϜāύāĻĒ্āϰি⧟āϤা āĻ…āύেāĻ• āĻŦে⧜ে āĻ—েāĻ›ে। āĻŦিāĻļেāώ āĻ•āϰে āϝাāϰা āĻļিāĻ–āϤে āϚাāύ āĻ•িāĻ­াāĻŦে āĻŦিāĻ­িāύ্āύ āχāύāĻĒুāϟ āĻ“ āφāωāϟāĻĒুāϟ āĻĄিāĻ­াāχāϏ Arduino āĻāϰ āĻŽাāϧ্āϝāĻŽে āύি⧟āύ্āϤ্āϰāĻŖ āĻ•āϰা āϝা⧟, āϤাāĻĻেāϰ āϜāύ্āϝ ā§Ēxā§Ē āĻ•িāĻĒ্āϝাāĻĄ āĻāĻŦং ā§§ā§Ŧx⧍ āĻāϞāϏিāĻĄি āĻĄিāϏāĻĒ্āϞে āĻāĻ•āϟি āϚāĻŽā§ŽāĻ•াāϰ āĻĒ্āϰāϜেāĻ•্āϟ।

āĻāχ āĻŦ্āϞāĻ—ে āφāĻŽāϰা āĻĻেāĻ–āĻŦ āĻ•ীāĻ­াāĻŦে āĻāĻ•āϟি ā§Ēxā§Ē āĻ•িāĻĒ্āϝাāĻĄāĻ•ে Arduino UNO-āϰ āϏাāĻĨে āϏংāϝুāĻ•্āϤ āĻ•āϰে, LCD āĻĄিāϏāĻĒ্āϞেāϤে āĻĒ্āϰেāϏāĻ•ৃāϤ āĻŦাāϟāύেāϰ āĻŽাāύ āĻĻেāĻ–াāύো āϝা⧟।


āĻĒ্āϰ⧟োāϜāύী⧟ āωāĻĒāĻ•āϰāĻŖ

  • Arduino UNO
  • ā§Ēxā§Ē āĻ•িāĻĒ্āϝাāĻĄ
  • ā§§ā§Ŧx⧍ LCD āĻĄিāϏāĻĒ্āϞে
  • ā§§ā§Ļ āĻ•িāϞোāĻ“āĻšāĻŽ āĻĒোāϟেāύāĻļিāĻ“āĻŽিāϟাāϰ (āĻŦা ā§§ āĻ•িāϞোāĻ“āĻšāĻŽ āϝেāĻŽāύ āϚিāϤ্āϰে)
  • āϜাāĻŽ্āĻĒাāϰ āϤাāϰ
  • āĻŦ্āϰেāĻĄāĻŦোāϰ্āĻĄ (āϐāϚ্āĻ›িāĻ•)


āϏংāϝোāĻ— āĻĒāĻĻ্āϧāϤি

LCD āĻĄিāϏāĻĒ্āϞে āϏংāϝোāĻ— (ā§§ā§Ŧx⧍):

LCD-āĻāϰ āĻĒিāύ āĻ“ Arduino-āĻāϰ āϏংāϝোāĻ—:

  • RS → āĻĒিāύ 6
  • EN → āĻĒিāύ 7
  • D4 → āĻĒিāύ 8
  • D5 → āĻĒিāύ 9
  • D6 → āĻĒিāύ 10
  • D7 → āĻĒিāύ 11
  • RW → āĻ—্āϰাāωāύ্āĻĄে
  • VSS → āĻ—্āϰাāωāύ্āĻĄে
  • VDD (VCC) → 5V
  • VEE → āĻĒোāϟেāύāĻļিāĻ“āĻŽিāϟাāϰ āĻĻি⧟ে āĻ—্āϰাāωāύ্āĻĄে (LCD āĻ•āύāϟ্āϰাāϏ্āϟ āύি⧟āύ্āϤ্āϰāĻŖে)

āĻ•িāĻĒ্āϝাāĻĄ āϏংāϝোāĻ— (ā§Ēxā§Ē):

āĻ•িāĻĒ্āϝাāĻĄেāϰ āĻŽোāϟ ā§Žāϟি āĻĒিāύ (ā§Ēāϟি āϰো āĻ“ ā§Ēāϟি āĻ•āϞাāĻŽ), āϏংāϝুāĻ•্āϤ āĻšāĻŦে Arduino-āĻāϰ āĻĄিāϜিāϟাāϞ āĻĒিāύ 0-7 āϤে।

āϏংāϝোāĻ—:

  • Row A-D (āωāĻĒāϰ āĻĨেāĻ•ে āύিāϚে) → Arduino āĻĒিāύ 0-3
  • Column 1-4 (āĻŦাāĻŽ āĻĨেāĻ•ে āĻĄাāύে) → Arduino āĻĒিāύ 4-7


āĻĒ্āϰāϜেāĻ•্āϟেāϰ āĻ•াāϜেāϰ āϧাāϰāĻŖা

āĻāχ āĻĒ্āϰāϜেāĻ•্āϟে āϝāĻ–āύ āĻ•িāĻĒ্āϝাāĻĄেāϰ āĻāĻ•āϟি āĻŦাāϟāύ āĻĒ্āϰেāϏ āĻ•āϰা āĻšā§Ÿ, āϤāĻ–āύ Arduino āϏেāχ āĻ•ী āϚিāĻš্āύিāϤ āĻ•āϰে āĻāĻŦং āϏেāϟিāĻ•ে LCD āĻĄিāϏāĻĒ্āϞেāϤে āĻĒ্āϰāĻĻāϰ্āĻļāύ āĻ•āϰে। āϝেāĻŽāύঃ āϝāĻĻি “5” āϚাāĻĒা āĻšā§Ÿ, LCD-āϤে āĻĻেāĻ–া āϝাāĻŦে:

Button: 5

Simulation screenshot:
 
4x4 Keypad Interfacing with Arduino
Fig: Button pressed 5


4x4 Keypad Interfacing with Arduino
Fig: Button pressed 6
Code:
#include <Key.h>
#include <Keypad.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13 );
const byte ROWS = 4;
const byte COLS = 4;
char hexaKeys[ROWS][COLS] = {
  {'7', '8', '9', '/'},
  {'4', '5', '6', 'X'},
  {'1', '2', '3', '-'},
  {'C', '0', '=', '+'}
};
byte rowPins[ROWS] = {7, 6, 5, 4};
byte colPins[COLS] = {3, 2, 1, 0};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup(){
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Button:");
  }
void loop(){
  char customKey = customKeypad.getKey();
  if (customKey){
  lcd.setCursor(10,0);
  lcd.print(customKey);
     }
}

āωāĻĒāϏংāĻšাāϰ 

 āĻāχ āĻĒ্āϰāϜেāĻ•্āϟেāϰ āĻŽাāϧ্āϝāĻŽে Arduino āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে āĻ•ীāĻ­াāĻŦে āχāωāϜাāϰ āχāύāĻĒুāϟ āύেāĻ“ā§Ÿা āϝা⧟ āĻ“ āϏেāϟি āĻĄিāϏāĻĒ্āϞেāϤে āĻĻেāĻ–াāύো āϝা⧟ āϤা āĻļিāĻ–āϤে āĻĒাāϰāĻŦেāύ। āĻāϟি āĻāĻ•āϟি āĻĻুāϰ্āĻĻাāύ্āϤ āĻĒ্āϰাāĻĨāĻŽিāĻ• āĻĒ্āϰāϜেāĻ•্āϟ āϝা āĻ­āĻŦিāώ্āϝāϤেāϰ āĻŦ⧜ āĻŦ⧜ āϏিāϏ্āϟেāĻŽ āϝেāĻŽāύ āĻ•্āϝাāϞāĻ•ুāϞেāϟāϰ, āĻĒাāϏāĻ“ā§Ÿাāϰ্āĻĄ āϞāĻ• āχāϤ্āϝাāĻĻিāϰ āĻ­িāϤ্āϤি āϤৈāϰি āĻ•āϰে।

Arduino and LM35 interfacing.

LM35 āϏেāύ্āϏāϰ āĻāĻŦং Arduino UNO āĻĒ্āϰāϜেāĻ•্āϟ

āĻ•িāĻ­াāĻŦে āĻāĻ•āϟি āϤাāĻĒāĻŽাāϤ্āϰা āϏেāύ্āϏāϰāĻ•ে(LM35) āφāϰāĻĄুāχāύোāϰ āϏāĻ™্āĻ—ে āϏংāϝুāĻ•্āϤ āĻ•āϰা āϝাāϝ়

āĻāχ āĻ“āϝ়াāϰ্āĻ•āĻļāĻĒে āφāĻŽāϰা āĻĻেāĻ–āĻŦ āĻ•ীāĻ­াāĻŦে āĻāĻ•āϟি āϤাāĻĒāĻŽাāϤ্āϰা āϏেāύ্āϏāϰāĻ•ে āφāϰāĻĄুāχāύোāϰ āϏāĻ™্āĻ—ে āϏংāϝুāĻ•্āϤ āĻ•āϰা āϝাāϝ়। āĻāĻ–াāύে āφāĻŽāϰা LM35 āϏেāύ্āϏāϰ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻ›ি, āϝা āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āĻ–ুāĻŦ āϏāĻšāϜ āĻāĻŦং āĻāϰ āφāωāϟāĻĒুāϟāĻ“ āϏāĻšāϜে āϰিāĻĄ āĻ•āϰা āϝাāϝ়। āϏেāύ্āϏāϰেāϰ āφāωāϟāĻĒুāϟ āφāϰāĻĄুāχāύোāϰ āĻāύাāϞāĻ— āĻĒিāύ A1-āĻ āϏংāϝুāĻ•্āϤ āĻ•āϰা āĻšāϝ়েāĻ›ে। āφāĻŽāϰা āĻāĻ•āϟি LCD āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻ›ি āĻĒāϰিāĻŦেāĻļেāϰ āĻĒ্āϰāĻ•ৃāϤ āϤাāĻĒāĻŽাāϤ্āϰা āĻĒ্āϰāĻĻāϰ্āĻļāύেāϰ āϜāύ্āϝ। āĻĒূāϰ্āĻŦāĻŦāϰ্āϤী āĻ“āϝ়াāϰ্āĻ•āĻļāĻĒে āφāĻŽāϰা āχāϤিāĻŽāϧ্āϝে LCD āχāύ্āϟাāϰāĻĢেāϏিং āύিāϝ়ে āφāϞোāϚāύা āĻ•āϰেāĻ›ি, āϤাāχ āĻāχ āĻ…ংāĻļāϟি āφāϜ āφāĻŽāϰা āĻāĻĄ়িāϝ়ে āϝাāϚ্āĻ›ি। 

āϝāύ্āϤ্āϰাংāĻļেāϰ āύাāĻŽ āĻĒāϰিāĻŽাāĻŖ
Arduino Uno 1āϟি
LM35 āϤাāĻĒāĻŽাāϤ্āϰা āϏেāύ্āϏāϰ 1āϟি
16x2 LCD (I2C āĻŦা āϏাāϧাāϰāĻŖ) 1āϟি
āĻŦ্āϰেāĻĄāĻŦোāϰ্āĻĄ 1āϟি
āϜাāĻŽ্āĻĒাāϰ āϤাāϰ āĻ•িāĻ›ু
USB āĻ•েāĻŦāϞ (Arduino āĻāϰ āϜāύ্āϝ) 1āϟি



āĻĒ্āϰোāϟি⧟াāϏ āϏিāĻŽুāϞেāĻļāύ āϏ্āĻ•্āϰিāύāĻļāϟ:
āĻĒ্āϰোāϟি⧟াāϏ āϏāĻĢāϟāĻ“ā§Ÿ্āϝাāϰে āϤৈāϰি āϏাāϰ্āĻ•িāϟেāϰ āϏ্āĻ•্āϰিāύāĻļāϟ।




āĻŦ্āϰেāĻĄāĻŦোāϰ্āĻĄ āϚিāϤ্āϰ: āĻŦাāϏ্āϤāĻŦ āĻŦ্āϰেāĻĄāĻŦোāϰ্āĻĄে āϏংāϝুāĻ•্āϤ āϝāύ্āϤ্āϰাংāĻļেāϰ āĻ›āĻŦি। 
 

................................................................................................................................................।
Code:
#include <LiquidCrystal.h>               // include the library code:                                        
LiquidCrystal lcd(2, 3, 4,5 , 6, 7);     // initialize the LCD with the numbers of the interface pins
float temp = 0;
int temp1=0;
void setup() {
               lcd.begin(16, 2);                          // set up the LCD's number of columns and rows:
               lcd.print("mahabub's note");       // Print a message to the LCD.
                     }
void loop()
         {
         lcd.setCursor(6, 1);            // set the cursor to column 6, line 1
         temp= analogRead(1);  //returns: 0-1023
         temp1= (temp*500)/1023;
         lcd.print(temp1);
         lcd.setCursor(9, 1);
         lcd.print("C");
         delay(100);

         }
.........................................................................................................................................................

āĻāχ āĻĒ্āϰāϜেāĻ•্āϟāϟি āύāϤুāύāĻĻেāϰ āϜāύ্āϝ āĻ–ুāĻŦ āωāĻĒāϝোāĻ—ী, āĻ•াāϰāĻŖ āĻāϟি āϏāĻšāϜে Arduino, āϏেāύ্āϏāϰ āĻ“ LCD āĻĄিāϏāĻĒ্āϞেāϰ āĻ•াāϜ āĻļেāĻ–া⧟। āφāĻĒāύি āϚাāχāϞে āĻāχ āĻĒ্āϰāϜেāĻ•্āϟāĻ•ে āφāϰāĻ“ āωāύ্āύāϤ āĻ•āϰে WiFi āĻĻি⧟ে āϤাāĻĒāĻŽাāϤ্āϰা āĻ…āύāϞাāχāύে āĻĒাāĻ াāϤে āĻĒাāϰেāύ āĻŦা āϤাāĻĒāĻŽাāϤ্āϰা āύিāϰ্āĻĻিāώ্āϟ āĻŽাāύ āĻ…āϤিāĻ•্āϰāĻŽ āĻ•āϰāϞে āĻ…্āϝাāϞাāϰ্āĻŽ āĻĻিāϤে āĻĒাāϰেāύ।

Gas leakage detector by ArduinoUNO

Arduino UNO āĻ“ MQ-2 āĻ—্āϝাāϏ āϏেāύ্āϏāϰ āĻĻি⧟ে āĻ—্āϝাāϏ āĻĄিāϟেāĻ•āĻļāύ āϏিāϏ্āϟেāĻŽ āϤৈāϰি āĻ•āϰুāύ


āĻĒ্āϰāϜেāĻ•্āϟেāϰ āϏংāĻ•্āώিāĻĒ্āϤ āĻŦিāĻŦāϰāĻŖ:

āĻāχ āĻĒ্āϰāϜেāĻ•্āϟে āφāĻŽāϰা Arduino UNO āĻŽাāχāĻ•্āϰোāĻ•āύ্āϟ্āϰোāϞাāϰ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে āĻāĻ•āϟি āĻ—্āϝাāϏ āĻĄিāϟেāĻ•āĻļāύ āϏিāϏ্āϟেāĻŽ āϤৈāϰি āĻ•āϰāĻŦ, āϝেāĻ–াāύে MQ-2 āĻ—্āϝাāϏ āϏেāύ্āϏāϰ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āĻšā§ŸেāĻ›ে āĻ—্āϝাāϏ āϏāύাāĻ•্āϤ āĻ•āϰāϤে āĻāĻŦং LCD āĻĄিāϏāĻĒ্āϞে, LED āĻ“ Buzzer āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰা āĻšā§ŸেāĻ›ে āϏāϤāϰ্āĻ•āĻŦাāϰ্āϤা āĻĒ্āϰāĻĻাāύেāϰ āϜāύ্āϝ।

🧰 āĻĒ্āϰ⧟োāϜāύী⧟ āωāĻĒāĻ•āϰāĻŖ:

  1. Arduino UNO
  2. MQ-2 āĻ—্āϝাāϏ āϏেāύ্āϏāϰ
  3. 16x2 LCD āĻĄিāϏāĻĒ্āϞে
  4. 1āϟি āĻĒোāϟেāύāĻļিāĻ“āĻŽিāϟাāϰ (RV1 - 10kâ„Ļ āĻŦা 1kâ„Ļ)
  5. ā§§āϟি NPN āϟ্āϰাāύāϜিāϏ্āϟāϰ (BD135)
  6. āϰেāĻĄ LED
  7. Buzzer
  8. āĻ•িāĻ›ু āϏংāϝোāĻ— āϤাāϰ āĻāĻŦং āĻŦ্āϰেāĻĄāĻŦোāϰ্āĻĄ

🛠️ āϏাāϰ্āĻ•িāϟেāϰ āĻŦিāĻŦāϰāĻŖ:

MQ-2 āĻ—্āϝাāϏ āϏেāύ্āϏāϰ:

  • Vcc → 5V
  • GND → GND
  • OUT → Arduino-āĻāϰ A0 āĻĒিāύ
LCD āĻĄিāϏāĻĒ্āϞে (16x2):
  • āϏাāϧাāϰāĻŖāĻ­াāĻŦেāχ āϏংāϝুāĻ•্āϤ āĻ•āϰা āĻšā§ŸেāĻ›ে (RS → D12, EN → D11, D4-D7 → D10-D7)
  • āĻĒোāϟেāύāĻļিāĻ“āĻŽিāϟাāϰ āĻĻি⧟ে āĻ•āύāϟ্āϰাāϏ্āϟ āĻ•āύ্āϟ্āϰোāϞ āĻ•āϰা āĻšā§ŸেāĻ›ে
āφāωāϟāĻĒুāϟ āĻĄিāĻ­াāχāϏ:
  • āϝāĻ–āύ āĻ—্āϝাāϏ āύিāϰ্āϧাāϰিāϤ āϏীāĻŽাāϰ āϚে⧟ে āĻŦেāĻļি āĻšā§Ÿ, āϤāĻ–āύ Arduino āĻāĻ•āϟি HIGH āϏিāĻ—āύাāϞ āĻĻে⧟।
  • āĻāχ āϏিāĻ—āύাāϞ āĻĻি⧟ে BD135 āϟ্āϰাāύāϜিāϏ্āϟāϰ āĻ…āύ āĻšā§Ÿ।
  • āĻĢāϞে LED āϜ্āĻŦāϞে āĻ“āĻ ে āĻāĻŦং Buzzer āĻŦেāϜে āĻ“āĻ ে āϏāϤāϰ্āĻ•āĻŦাāϰ্āϤা āĻšিāϏাāĻŦে।
Simulation Screenshots:
Fig: Gas detection negative

Fig: Gas detection positive

🧠 āĻĒ্āϰোāĻ—্āϰাāĻŽেāϰ āĻ•াāϜেāϰ āϧাāϰা:

  • āĻĒ্āϰোāĻ—্āϰাāĻŽে A0 āĻĒিāύ āĻĨেāĻ•ে āϏেāύ্āϏāϰেāϰ āϰিāĻĄিং āύেāĻ“ā§Ÿা āĻšā§Ÿ।
  • āύিāϰ্āĻĻিāώ্āϟ āĻĨ্āϰেāĻļāĻšোāϞ্āĻĄ (āϝেāĻŽāύ: 400 āĻŦা 500) āĻ…āϤিāĻ•্āϰāĻŽ āĻ•āϰāϞে:

    LCD āϤে "Gas Detect: Yes" āϞেāĻ–া āĻĻেāĻ–া⧟।
  • LED āĻ…āύ āĻšā§Ÿ āĻāĻŦং Buzzer āĻŦেāϜে āĻ“āĻ ে।
  • āĻ—্āϝাāϏ āύা āĻĨাāĻ•āϞে "Gas Detect: No" āϞেāĻ–া āĻĻেāĻ–া āϝা⧟ āĻĄিāϏāĻĒ্āϞেāϤে।
Code: 

#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2,3,4,5, 6, 7);
int Gas = 0;
int Buzzer = 1;
void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Gas Detect:");
  lcd.setCursor(1,2);
  lcd.print("Projects Club");
  pinMode(Gas , INPUT);
  pinMode (Buzzer,OUTPUT);
}
void loop() {
  if(digitalRead(Gas) == HIGH)
          {lcd.setCursor(12,0);
          lcd.print(" Yes");
           digitalWrite(Buzzer,HIGH);}
  if(digitalRead(Gas) == LOW)
         {lcd.setCursor(12,0);
         lcd.print(" No ");
        digitalWrite(Buzzer,LOW);}

 }

āĻŦ্āϝāĻŦāĻšাāϰিāĻ• āĻĒ্āϰ⧟োāĻ—:

  • āϰাāύ্āύাāϘāϰে āĻ—্āϝাāϏ āϞিāĻ• āĻļāύাāĻ•্āϤāĻ•āϰāĻŖ
  • āϞ্āϝাāĻŦāϰেāϟāϰিāϤে āύিāϰাāĻĒāϤ্āϤা āύিāĻļ্āϚিāϤāĻ•āϰāĻŖ
  • āĻ›োāϟ āĻļিāϞ্āĻĒ āĻĒ্āϰāϤিāώ্āĻ াāύে āĻ—্āϝাāϏ āύিāϰ্āĻ—āĻŽāύ āĻĒāϰ্āϝāĻŦেāĻ•্āώāĻŖ

āωāĻĒāϏংāĻšাāϰ:

āĻāχ āĻĒ্āϰāϜেāĻ•্āϟāϟি āύāϤুāύāĻĻেāϰ āϜāύ্āϝ āĻĻুāϰ্āĻĻাāύ্āϤ āĻāĻ•āϟি āĻĒ্āϰāĻ•āϞ্āĻĒ, āϝেāϟি āĻŦাāϏ্āϤāĻŦ āϜীāĻŦāύেāϰ āύিāϰাāĻĒāϤ্āϤাāĻŽূāϞāĻ• āĻāĻ•āϟি āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻĒ্āϰāϝুāĻ•্āϤি āĻļেāĻ–াāϰ āϏুāϝোāĻ— āĻ•āϰে āĻĻে⧟। āĻ…āϞ্āĻĒ āĻ•িāĻ›ু āĻ•āĻŽ্āĻĒোāύেāύ্āϟ āĻĻি⧟ে āĻ•ীāĻ­াāĻŦে āĻāĻ•āϟি āĻ•াāϰ্āϝāĻ•āϰী āĻ—্āϝাāϏ āϏāϤāϰ্āĻ•āϤা āϏিāϏ্āϟেāĻŽ āϤৈāϰি āĻ•āϰা āϝা⧟, āϤাāϰ āĻāĻ•āϟি āĻŦাāϏ্āϤāĻŦ āωāĻĻাāĻšāϰāĻŖ āĻāϟি।

Tuesday, April 7, 2020

ArduinoUNO external analog reference āĻĒিāύেāϰ āĻŦ্āϝাāĻŦāĻšাāϰ


AREF āĻĒিāύে āϝে āĻ­োāϞ্āϟেāϜ āĻĻেāĻ“ā§Ÿা āĻšāĻŦে āϏেāϟা analogRead() āĻĢাংāĻļāύেāϰ āϏāϰāĻŦāϚ্āϚ āĻ­োāϞ্āϟেāϜ āĻšিāϏেāĻŦে āĻ•াāϜ āĻ•āϰāĻŦে। āϝেāĻŽāύঃ
AREF āĻĒিāύে ⧍.ā§Ģ āĻ­োāϞ্āϟেāϜ āĻĻে⧟া āĻšāϞে
(0 – 2.5V ) āĻ­োāϞ্āϟেāϜ āϰেāĻž্āϜেāϰ āϜāύ্āϝ āĻĄিāϜিāϟাāϞ āϰিāĻĄ āĻ•āϰāĻŦে ~ (0 – 1023)
analogRead() āĻĢাংāĻļāύ āĻ•āϞ āĻ•āϰাāϰ analogReference() External āϏেāϟ āĻ•āϰāϤে āĻšāĻŦে।

analogReference(EXTERNAL);

SensorValue= analogRead(0);


Friday, April 3, 2020

Function sq() and sqrt() :


sq()

āĻ•োāύ āϏংāĻ–্āϝাāϰ āĻŦāϰ্āĻ— āύিāϰ্āϪ⧟ āĻ•āϰাāϰ āϜāύ্āϝ āĻāχ āĻĢাংāĻļāύāϟি āĻŦ্āϝাāĻŦāĻšাāϰ āĻšā§Ÿে āĻĨাāĻ•ে।
Y=sq(x)
X:āϏংāĻ–্āϝাāϟি āϝে āĻ•োāύ āĻĄাāϟা āϟাāχāĻĒ āĻšāϤে āĻĒাāϰে।
Y:āϏংāĻ–্āϝাāϟিāϰ āĻĄাāϟা āϟাāχāĻĒ āĻšāĻŦে double, āĻ…āύ্āϝ āĻĄাāϟা āϟাāχāĻĒ āĻĄিāĻ•্āϞে⧟াāϰ āĻ•āϰāϞে āϰেāϜাāϞ্āϟ āĻ িāĻ• āφāϏāĻŦে āύা।
X= ā§Ģ āĻšāϞে, Y=sq(5), Y= ⧍ā§Ģ āĻšāĻŦে
Source

sqrt()

āĻ•োāύ āϏংāĻ–্āϝাāϰ āĻŦāϰ্āĻ—āĻŽূāϞ āύিāϰ্āϪ⧟ āĻ•āϰাāϰ āϜāύ্āϝ āĻāχ āĻĢাংāĻļāύāϟি āĻŦ্āϝাāĻŦāĻšাāϰ āĻšā§Ÿে āĻĨাāĻ•ে।
Y=sqrt(x)
X:āϏংāĻ–্āϝাāϟি āϝে āĻ•োāύ āĻĄাāϟা āϟাāχāĻĒ āĻšāϤে āĻĒাāϰে।
Y:āϏংāĻ–্āϝাāϟিāϰ āĻĄাāϟা āϟাāχāĻĒ āĻšāĻŦে double, āĻ…āύ্āϝ āĻĄাāϟা āϟাāχāĻĒ āĻĄিāĻ•্āϞে⧟াāϰ āĻ•āϰāϞে āϰেāϜাāϞ্āϟ āĻ িāĻ• āφāϏāĻŦে āύা।
X= ⧍ā§Ģ āĻšāϞে, Y=sq(25), Y= ā§Ģ āĻšāĻŦে
Source

Function pow():


pow()


  • pow(base, exponent)

           base: Allowed data types: float.
                        
exponent: Allowed data types: float.
                         The result of the exponentiation. Data type: double.

  • z = pow(x, y);

x=10.00 āĻāĻŦং y = 2.00 āĻšāϞে  z = 100.00 āĻšāĻŦে।