
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36


এই নির্দেশে আমরা কিভাবে মেনু তৈরি করতে হয় তা অনুসন্ধান করব, TC74A0 সেন্সর থেকে তাপমাত্রা পড়ব এবং "মান" (এই ক্ষেত্রে সেলফোন নম্বরগুলি) এমনভাবে প্রদর্শন করব যা অসীম, কিন্তু আরডুইনো বোর্ড মেমোরিতে সীমাবদ্ধ।
আমরা ব্যবহার করব
-অ্যারে
-তরল স্ফটিক প্রদর্শন
-কেপ্যাড
চূড়ান্ত ধাপে ব্যবহারকারী নির্দেশিকা অন্তর্ভুক্ত।
ধাপ 1: উপাদান
আরডুইনো উনো
· 4x4 কীপ্যাড
· TC74A0 ডিজিটাল তাপমাত্রা সেন্সর
· I2c 16x2 LCD মডিউল
· 16x2 তরল স্ফটিক প্রদর্শন
Um জাম্পার তার
· ব্রেডবোর্ড
· ব্যক্তিগত কম্পিউটার
· Arduino IDE
· স্থানান্তর তারের
ধাপ 2: কম্পোনেন্ট ওয়্যারিং
টেম্প সেন্সর এবং এলসিডি এসডিএ এবং এসসিএল (A4, A5) এর একই লাইনে সংযুক্ত
LCD (I2c মডিউল)
Arduino এ SDA থেকে A5
o আরডুইনোতে এসিএল থেকে এ 4
Arduino এ VCC থেকে 5V
o Arduino এ GND থেকে GND
X 4 x 4 কীপ্যাড
কিপ্যাডে পিন 1 - 8 যথাক্রমে আরডুইনোতে 9 - 2 পিনের সাথে সংযুক্ত
TC74A0 টেম্প সেন্সর
o TC74A0 পিন 2 আরডুইনোতে এসডিএ -তে
o TC74A0 পিন 3 GND থেকে Arduino তে
o TC74A0 পিন 4 আরডুইনোতে এসসিএল
Arduino তে TC74A0 পিন 5 থেকে 5V
ধাপ 3: কোড
#অন্তর্ভুক্ত // সংকলনের সময় লাইব্রেরি অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#পাসওয়ার্ড_লাইন 5 নির্ধারণ করুন
#কমান্ড_লেংট নির্ধারণ করুন 3
#সেল নম্বর 10 নির্ধারণ করুন
int ব্যবহারকারীরা = 0;
int প্রদর্শন = 0;
int ঠিকানা = 72; // tc74a0 ঠিকানা
int I = 0;
int ব্যবহারকারী;
int X = 0;
int XY = 0;
int temp;
int tempPre = 0;
char userNum [10] [10] = {{}, {}, {}};
char data [Password_Lenght];
char Master [Password_Lenght] = "5466"; // পাসওয়ার্ড
char ExitData [Command_Lenght]; //
char Master1 [Command_Lenght] = "**"; //
চর মেনু আইটেম;
C CELLArrayA [10];
C CELLArrayB [10];
C CELLArrayC [10];
const বাইট ROWS = 4; // চার সারি
const বাইট COLS = 4; // চারটি কলাম
বাইট rowPins [ROWS] = {5, 4, 3, 2};
বাইট কলপিনস [COLS] = {9, 8, 7, 6};
বাইট data_count = 0, master_count = 0;
বুল পাস_ইস_গুড;
LiquidCrystal_I2C lcd (0x26, 16, 2);
char hexaKeys [ROWS] [COLS] = // প্রাথমিক কীপ্যাড
{
{'1', '2', '3', 'এ'}, {'4', '5', '6', 'বি'}, {'7', '8', '9', 'সি'}, {'*', '0', '#', 'D'}
};
Keypad customKeypad = Keypad (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);
অকার্যকর সেটআপ()
{
Serial.begin (9600); // এটি সিরিয়াল মনিটর তৈরি করে
Wire.begin (); // এটি একটি ওয়্যার বস্তু তৈরি করে
lcd.begin (16, 2);
lcd.backlight ();
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print ("দয়া করে অপেক্ষা করুন 3"); // লোডিং স্ক্রিন
বিলম্ব (1000);
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print ("অনুগ্রহ করে অপেক্ষা করুন 2");
বিলম্ব (1000);
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print ("অনুগ্রহ করে অপেক্ষা করুন 1");
বিলম্ব (300);
lcd.clear ();
স্ট্রিং myString = "ARDUINO INSTRUCTABLE";
lcd.setCursor (2, 2);
lcd.print (myString);
বিলম্ব (2500);
জন্য (int scrollCounter = 0; scrollCounter <24; scrollCounter ++)
{
lcd.scrollDisplayLeft ();
বিলম্ব (300);
}
lcd.clear ();
lcd.print ("পাসওয়ার্ড লিখুন");
}
অকার্যকর লুপ ()
{
সুইচ (ডিসপ্লে) // যেখানে আমরা প্রধান মেনুতে আছি
{// ব্যবহারকারীর প্রেস A, B, C, D
কেস 0:
{
পাসওয়ার্ড ();
}
বিরতি;
মামলা 1:
{
lcd.clear ();
lcd.setCursor (0, 1);
lcd.print ("A B C D");
lcd.setCursor (0, 0);
lcd.print ("প্রধান মেনু");
প্রদর্শন = 2;
বিলম্ব (100);
বিরতি;
}
কেস 2:
{
char customKey = customKeypad.getKey ();
সুইচ (customKey)
{
কেস 'এ':
{
Serial.println ("A চাপানো হয়েছিল");
স্টোর ইউজার ();
বিরতি;
}
কেস 'বি':
{
Serial.println ("B চাপানো হয়েছিল");
যদি (ব্যবহারকারী == 0) {
lcd.clear ();
lcd.print ("ব্যবহারকারীদের সংরক্ষণ করা হয়নি");
বিলম্ব (3000);
lcd.clear ();
প্রদর্শন = 1;
বিরতি;
}
DisplayUsers (); বিরতি;
}
কেস 'সি':
{
Serial.println ("C চাপানো হয়েছিল"); // পরীক্ষা চলাকালীন ব্যবহৃত
int ext = 0;
while (! ext) {
char ch;
temp = TempMenu ();
যদি (temp! = tempPre) {
lcd.clear ();
lcd.print ("তাপমাত্রা");
lcd.setCursor (0, 1);
lcd.print (temp);
lcd.print ("C");
tempPre = temp;
বিলম্ব (500);
}
ch = customKeypad.getKey ();
if (ch == ' *') // টেম্পারেচার মেনু থেকে বেরিয়ে আসুন (যদি * প্রেস করা হয়)
{
ext = 1;
lcd.clear ();
প্রদর্শন = 1;
}
}
বিরতি;
TempMenu ();
বিরতি;
}
কেস 'ডি':
{
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print ("NUA PRAC");
lcd.setCursor (0, 1);
lcd.print ("JB SCHOEMAN");
বিলম্ব (3000);
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print ("মে 2019");
lcd.setCursor (0, 1);
lcd.print ("CC OOSTHUIZEN");
বিলম্ব (3000);
lcd.clear ();
প্রদর্শন = 1;
}
}
}
}
}
// মূল্য বা পদ্ধতিগুলি কল করার জন্য কাস্টম ফাংশন
অকার্যকর পাসওয়ার্ড ()
{
char customKey = customKeypad.getKey ();
যদি (customKey) // নিশ্চিত করে যে একটি কী আসলে চাপা আছে, সমান (customKey! = NO_KEY)
{
ডেটা [data_count] = customKey; // ডেটা অ্যারেতে চর সংরক্ষণ করুন
lcd.setCursor (data_count, 1); // প্রতিটি নতুন চর দেখানোর জন্য কার্সার সরান
lcd.print ("*"); // কার্সারে প্রিন্ট চার
data_count ++; // নতুন অক্ষর সঞ্চয় করতে 1 দ্বারা বৃদ্ধি ডেটা অ্যারে, প্রবেশ করা অক্ষরের সংখ্যাও ট্র্যাক রাখুন
}
যদি (data_count == Password_Lenght-1) // যদি অ্যারে ইনডেক্স প্রত্যাশিত অক্ষরের সংখ্যার সমান হয়, তাহলে ডেটার সাথে মাস্টারের তুলনা করুন
{
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print ("পাসওয়ার্ড হল");
যদি (! strcmp (ডেটা, মাস্টার)) // সমান (strcmp (ডেটা, মাস্টার) == 0)
{
lcd.print ("ভালো");
lcd.clear ();
প্রদর্শন = 1;
}
অন্য
lcd.print ("খারাপ");
বিলম্ব (1000); // পাসওয়ার্ডটি পরিষ্কার হওয়ার আগে সম্পূর্ণরূপে স্ক্রিনে দেখানো হয়েছে তা নিশ্চিত করতে 1 সেকেন্ড বিলম্ব যোগ করা হয়েছে।
lcd.clear ();
উপাত্ত মুছে ফেল();
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print ("পাসওয়ার্ড লিখুন");
}
}
int TempMenu ()
{
Wire.beginTransmission (ঠিকানা);
Wire.write (0);
Wire.endTransmission ();
Wire.requestFrom (ঠিকানা, 1);
যখন (Wire.available () == 0);
int c = Wire.read ();
প্রত্যাবর্তন গ;
}
অকার্যকর clearData ()
{
যখন (data_count! = 0)
{// এটি যেকোনো অ্যারের আকারের জন্য ব্যবহার করা যেতে পারে, ডেটা [data_count--] = 0; // নতুন ডেটার জন্য পরিষ্কার অ্যারে
}
}
অকার্যকর StoreUser ()
{
int ext = 0;
int ব্যবহারকারী;
char ch;
while (! ext) {
lcd.clear ();
lcd.print ("ব্যবহারকারী লিখুন");
ব্যবহারকারী = ব্যবহারকারী + 1;
lcd.print (ব্যবহারকারী);
int x = 0;
যখন (! x) {
জন্য (int i = 0; i <10; i ++) {
ch = customKeypad.waitForKey ();
lcd.setCursor (i, 1);
lcd.print (ch);
userNum [user - 1] = ch;
}
বিলম্ব (500);
lcd.clear ();
lcd.print ("চালিয়ে যান");
lcd.setCursor (0, 1);
lcd.print ("* হ্যাঁ # না");
ch = customKeypad.waitForKey ();
যদি (ch == '*') {
x = 1;
}
যদি (ch == '#') {
x = 1;
ext = 1;
lcd.clear ();
প্রদর্শন = 1;
}
}
ব্যবহারকারী ++;
}
}
অকার্যকর DisplayUsers ()
{
lcd.clear ();
জন্য (int i = 0; i <users; i ++) {
lcd.print ("সংরক্ষিত ব্যবহারকারী");
lcd.print (i + 1);
জন্য (int u = 0; u <10; u ++) {
lcd.setCursor (u, 1);
lcd.print (userNum [u]);
}
বিলম্ব (2000);
lcd.clear ();
প্রদর্শন = 1;
}
}
ধাপ 4: ব্যবহারকারী নির্দেশিকা
1. প্রকল্পটি চালু করার পরে, একটি লোডিং বা স্বাগত পর্দা উপস্থিত হবে।
2. একটি "পাসওয়ার্ড লিখুন" স্ক্রিন প্রদর্শিত হবে, এই স্ক্রিনটি আপনাকে 4 টি অক্ষর, অক্ষর বা সংখ্যা লিখতে দেয়, সঠিক পাসওয়ার্ড হল: 5466, এটি আপনাকে প্রধান মেনুতে অ্যাক্সেস দেবে।
3. সঠিক পাসওয়ার্ড প্রবেশ করার পর, প্রধান মেনু বিভিন্ন উপলব্ধ ফাংশন নেভিগেট করার জন্য 4 টি সম্ভাব্য বিকল্প সহ উপস্থিত হবে।
· A - ব্যবহারকারীর সেল ফোন নম্বর লিখুন।
ব্যবহারকারীকে সিস্টেমে সংরক্ষণ করতে 10 টি সংখ্যা লিখুন
10 নম্বর প্রবেশ করার পর আরো ব্যবহারকারী যোগ করতে " *" টিপুন, অথবা মূল মেনুতে ফিরে যাওয়ার জন্য "#" টিপুন
· বি - সংরক্ষিত ব্যবহারকারীদের প্রদর্শন করুন
o ব্যবহারকারীরা স্ক্রিন পেরিয়ে স্ক্রল করবে, সেগুলি প্রতিটি 3 সেকেন্ডের জন্য প্রদর্শিত হবে, যত তাড়াতাড়ি সমস্ত ব্যবহারকারী প্রদর্শিত হবে পৃষ্ঠাটি বন্ধ হয়ে যাবে এবং মূল মেনুতে ফিরে আসবে।
o যদি মেনু বিকল্প A তে কোন ব্যবহারকারী যুক্ত না করা হয়, তাহলে এটি "কোন সংরক্ষিত ব্যবহারকারী" প্রদর্শন করবে।
· C - জীবন্ত তাপমাত্রা প্রদর্শন করে
প্রধান মেনুতে ফিরে যাওয়ার জন্য " *" টিপুন
· D - সংক্ষিপ্ত পাঠ্য প্রদর্শন করুন
o স্রষ্টার নাম এবং যে বিষয়ের জন্য এটি একটি তারিখ দিয়ে সংকলিত হয়েছিল তা প্রদর্শন করে।
প্রস্তাবিত:
(2) একটি গেম তৈরি করা শুরু করা - ইউনিটি 3 ডি: 9 ধাপে একটি স্প্ল্যাশ স্ক্রিন তৈরি করা

(2) একটি গেম তৈরি করা শুরু করা - ইউনিটি 3 ডি -তে একটি স্প্ল্যাশ স্ক্রিন তৈরি করা: এই নির্দেশনায় আপনি ইউনিটি 3 ডি -তে একটি সাধারণ স্প্ল্যাশ স্ক্রিন তৈরি করতে শিখবেন। প্রথমত, আমরা ityক্য খুলব
IoT তৈরি করা সহজ: দূরবর্তী আবহাওয়ার ডেটা ক্যাপচার করা: UV এবং বায়ুর তাপমাত্রা এবং আর্দ্রতা: 7 টি ধাপ

IoT তৈরি করা সহজ: দূরবর্তী আবহাওয়ার ডেটা ক্যাপচার করা: UV এবং বায়ুর তাপমাত্রা এবং আর্দ্রতা: এই টিউটোরিয়ালে আমরা দূরবর্তী ডেটা UV (আল্ট্রা-ভায়োলেট বিকিরণ), বায়ুর তাপমাত্রা এবং আর্দ্রতা হিসাবে ধারণ করব। এই তথ্যগুলো খুবই গুরুত্বপূর্ণ এবং ভবিষ্যতে সম্পূর্ণ আবহাওয়া স্টেশনে ব্যবহার করা হবে।
DIY MusiLED, সঙ্গীত সিঙ্ক্রোনাইজড LEDs এক-ক্লিক উইন্ডোজ এবং লিনাক্স অ্যাপ্লিকেশন (32-বিট এবং 64-বিট)। পুনরায় তৈরি করা সহজ, ব্যবহার করা সহজ, পোর্টে সহজ।: 3 টি ধাপ

DIY MusiLED, সঙ্গীত সিঙ্ক্রোনাইজড LEDs এক-ক্লিক উইন্ডোজ এবং লিনাক্স অ্যাপ্লিকেশন (32-বিট এবং 64-বিট)। পুনরায় তৈরি করা সহজ, ব্যবহার করা সহজ, পোর্টে সহজ। এই প্রকল্পটি আপনাকে আপনার আরডুইনো বোর্ডে 18 টি LED (6 লাল + 6 নীল + 6 হলুদ) সংযুক্ত করতে এবং আপনার কম্পিউটারের সাউন্ড কার্ডের রিয়েল-টাইম সংকেত বিশ্লেষণ করতে এবং তাদের রিলেতে সহায়তা করবে। বীট প্রভাব (ফাঁদ, উচ্চ টুপি, কিক) অনুযায়ী তাদের আলো জ্বালানোর জন্য LEDs
ছোট রোবট তৈরি করা: এক কিউবিক ইঞ্চি মাইক্রো-সুমো রোবট তৈরি করা এবং ছোট: 5 টি ধাপ (ছবি সহ)

ছোট রোবট তৈরি করা: এক কিউবিক ইঞ্চি মাইক্রো-সুমো রোবট তৈরি করা এবং ছোট: এখানে ছোট ছোট রোবট এবং সার্কিট তৈরির কিছু বিবরণ দেওয়া হল। এই নির্দেশযোগ্য কিছু মৌলিক টিপস এবং কৌশলগুলিও অন্তর্ভুক্ত করবে যা যে কোনো আকারের রোবট তৈরিতে কাজে লাগে।
আপনার ক্যামেরা "মিলিটারি নাইটভিশন" -এ তৈরি করা, নাইটভিশন ইফেক্ট যোগ করা, অথবা যেকোন ক্যামেরায় নাইটভিশন "মোড তৈরি করা !!!": 3 টি ধাপ

আপনার ক্যামেরাটিকে "মিলিটারি নাইটভিশন" তৈরি করা, নাইটভিশন ইফেক্ট যোগ করা, অথবা নাইটভিশন "মোড তৈরি করা যেকোন ক্যামেরায় !!!" *যদি আপনার কোন সাহায্যের প্রয়োজন হয়, দয়া করে ইমেইল করুন: [email protected] আমি ইংরেজি, ফরাসি, জাপানি, স্প্যানিশ, এবং আমি অন্য ভাষা জানি যদি আপনি