فهرست مطالب:
![آردوینو UNO (ایجاد منوها و توابع): 4 مرحله آردوینو UNO (ایجاد منوها و توابع): 4 مرحله](https://i.howwhatproduce.com/images/004/image-9747-10-j.webp)
تصویری: آردوینو UNO (ایجاد منوها و توابع): 4 مرحله
![تصویری: آردوینو UNO (ایجاد منوها و توابع): 4 مرحله تصویری: آردوینو UNO (ایجاد منوها و توابع): 4 مرحله](https://i.ytimg.com/vi/e1FVSpkw6q4/hqdefault.jpg)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
![Arduino UNO (ایجاد منوها و توابع) Arduino UNO (ایجاد منوها و توابع)](https://i.howwhatproduce.com/images/004/image-9747-11-j.webp)
![Arduino UNO (ایجاد منوها و توابع) Arduino UNO (ایجاد منوها و توابع)](https://i.howwhatproduce.com/images/004/image-9747-12-j.webp)
در این مقاله آموزشی نحوه ایجاد منوها ، خواندن دما از سنسور TC74A0 و نمایش "مقادیر" (در این مورد شماره تلفن همراه) به روشی که نامحدود است ، اما محدود به حافظه آردوینو روی صفحه است.
ما استفاده خواهیم کرد
-آرایه ها
-صفحه نمایش کریستال مایع
-دستگاه کلید
راهنمای کاربر در مرحله آخر گنجانده شده است.
مرحله 1: اجزاء
آردوینو اونو
· صفحه کلید 4x4
· سنسور دما دیجیتال TC74A0
· ماژول LCD I2c 16x2
· صفحه نمایش کریستال مایع 16x2
· سیم های بلوز
· تخته نان
· کامپیوتر شخصی
· Arduino IDE
· کابل انتقال
مرحله 2: سیم کشی کامپوننت
سنسور دما و LCD متصل به یک خط به SDA و SCL (A4 ، A5)
LCD (ماژول I2c)
o SDA تا A5 در آردوینو
o SCL تا A4 در آردوینو
o VCC تا 5V در آردوینو
o GND به GND در آردوینو
· صفحه کلید 4 * 4
o پین 1 - 8 در صفحه کلید به ترتیب به پین 9 - 2 در آردوینو متصل شده است
سنسور دما TC74A0
o TC74A0 پین 2 به SDA در آردوینو
o TC74A0 پین 3 به GND در آردوینو
o TC74A0 پین 4 به SCL در آردوینو
o TC74A0 پین 5 تا 5 ولت در آردوینو
مرحله 3: کد
#شامل // کتابخانه ها را هنگام کامپایل شامل می شود
#عبارتند از
#عبارتند از
#رمز_عمر را تعریف کنید 5
#تعریف_مدت_مدت 3
#تعداد سلول 10 را تعریف کنید
int کاربران = 0؛
int نمایش = 0؛
آدرس int = 72؛ // آدرس tc74a0
int I = 0 ؛
int USER؛
int X = 0 ؛
int XY = 0 ؛
int temp ؛
int tempPre = 0؛
char userNum [10] [10] = {{} ، {} ، {}}؛
char داده [Password_Lenght]؛
char Master [Password_Lenght] = "5466"؛ //کلمه عبور
char ExitData [Command_Lenght] ؛ //
char Master1 [Command_Lenght] = "**"؛ //
char MenuItem؛
char CELLArrayA [10]؛
char CELLArrayB [10]؛
char CELLArrayC [10]؛
const byte ROWS = 4؛ // چهار ردیف
const byte COLS = 4؛ // چهار ستون
بایت rowPins [ROWS] = {5 ، 4 ، 3 ، 2} ؛
بایت colPins [COLS] = {9 ، 8 ، 7 ، 6} ؛
بایت data_count = 0 ، master_count = 0 ؛
bool Pass_is_good؛
LiquidCrystal_I2C ال سی دی (0x26 ، 16 ، 2) ؛
char hexaKeys [ROWS] [COLS] = // INITIATING KEYPAD
{
{'1' ، '2' ، '3' ، 'A'} ،
{'4' ، '5' ، '6' ، 'B'} ،
{'7' ، '8' ، '9' ، 'C'} ،
{'*' ، '0' ، '#' ، 'D'}
};
صفحه کلید customKeypad = صفحه کلید (makeKeymap (hexaKeys) ، rowPins ، colPins ، ROWS ، COLS) ؛
void setup ()
{
Serial.begin (9600)؛ // این Serial Monitor را ایجاد می کند
Wire.begin ()؛ // این یک شی Wire ایجاد می کند
lcd.begin (16 ، 2) ؛
lcd.lightlight ()؛
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) ؛
for (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)
{
مورد "A":
{
Serial.println ("A فشار داده شد") ؛
StoreUser ()؛
زنگ تفريح؛
}
مورد "B":
{
Serial.println ("B فشار داده شد") ؛
if (کاربران == 0) {
lcd.clear ()؛
lcd.print ("NO USERS SAVED")؛
تاخیر (3000) ؛
lcd.clear ()؛
نمایش = 1؛
زنگ تفريح؛
}
DisplayUsers ()؛ زنگ تفريح؛
}
مورد "C":
{
Serial.println ("C فشار داده شد") ؛ // در طول آزمایش استفاده می شود
int ext = 0؛
در حالی که (! ext) {
char ch؛
temp = TempMenu ()؛
if (temp! = tempPre) {
lcd.clear ()؛
lcd.print ("Temparature") ؛
lcd.setCursor (0 ، 1) ؛
lcd.print (temp) ؛
lcd.print ("C") ؛
tempPre = temp؛
تأخیر (500) ؛
}
ch = customKeypad.getKey ()؛
if (ch == ' *') // خروج از منوی دما (در صورت فشار *)
{
ext = 1؛
lcd.clear ()؛
نمایش = 1؛
}
}
زنگ تفريح؛
TempMenu ()؛
زنگ تفريح؛
}
مورد "D":
{
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 ("MAY 2019") ؛
lcd.setCursor (0 ، 1) ؛
lcd.print ("CC OOSTHUIZEN") ؛
تاخیر (3000) ؛
lcd.clear ()؛
نمایش = 1؛
}
}
}
}
}
// عملکردهای سفارشی برای فراخوانی ارزشها یا روشها
void password ()
{
char customKey = customKeypad.getKey ()؛
if (customKey) // مطمئن شوید که یک کلید در واقع فشرده شده است ، برابر با (customKey! = NO_KEY)
{
داده [data_count] = customKey؛ // char را در آرایه داده ذخیره کنید
lcd.setCursor (data_count ، 1) ؛ // مکان نما را برای نمایش هر کاراکتر جدید حرکت دهید
lcd.print ("*") ؛ // چاپ char در مکان نما گفت
data_count ++؛ // آرایه داده را 1 افزایش دهید تا کاراکتر جدید ذخیره شود ، همچنین تعداد کاراکترهای وارد شده را پیگیری کنید
}
if (data_count == Password_Lenght-1) // اگر نمای آرایه برابر با تعداد کاراکترهای مورد انتظار باشد ، داده ها را با master مقایسه کنید
{
lcd.clear ()؛
lcd.setCursor (0 ، 0) ؛
lcd.print ("رمز عبور است") ؛
if (! strcmp (Data، Master)) // برابر با (strcmp (Data، Master) == 0)
{
lcd.print ("خوب") ؛
lcd.clear ()؛
نمایش = 1؛
}
دیگری
lcd.print ("بد") ؛
تأخیر (1000) ؛ // 1 ثانیه تأخیر اضافه کرد تا مطمئن شوید رمز عبور قبل از پاک شدن به طور کامل روی صفحه نشان داده شده است.
lcd.clear ()؛
اطلاعات روشن()؛
lcd.clear ()؛
lcd.setCursor (0 ، 0) ؛
lcd.print ("رمز عبور را وارد کنید") ؛
}
}
int TempMenu ()
{
Wire.begin انتقال (آدرس) ؛
Wire.write (0) ؛
Wire.endTransmission ()؛
سیم. درخواست از (آدرس ، 1) ؛
while (Wire.available () == 0)؛
int c = Wire.read ()؛
بازگشت ج؛
}
void clearData ()
{
در حالی که (data_count! = 0)
{// این را می توان برای هر اندازه آرایه استفاده کرد ،
داده [data_count--] = 0؛ // پاک کردن آرایه برای داده های جدید
}
}
void StoreUser ()
{
int ext = 0؛
کاربر int ؛
char ch؛
در حالی که (! 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) ؛
ال سی دی چاپ (ch) ؛
userNum [کاربر - 1] = ch؛
}
تأخیر (500) ؛
lcd.clear ()؛
lcd.print ("ادامه") ؛
lcd.setCursor (0 ، 1) ؛
lcd.print ("* بله # نه")؛
ch = customKeypad.waitForKey ()؛
if (ch == '*') {
x = 1 ؛
}
if (ch == '#') {
x = 1 ؛
ext = 1؛
lcd.clear ()؛
نمایش = 1؛
}
}
کاربران ++ ؛
}
}
void 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 - شماره تلفن های همراه کاربر را وارد کنید.
o برای نجات کاربر در سیستم ، 10 رقم وارد کنید
o پس از وارد کردن 10 رقم ، " *" را برای افزودن کاربران بیشتر فشار دهید ، یا "#" را برای خروج به منوی اصلی فشار دهید.
· B - نمایش کاربران ذخیره شده
o کاربران از روی صفحه حرکت می کنند ، هر کدام 3 ثانیه نمایش داده می شوند ، به محض نمایش همه کاربران صفحه بسته می شود و به منوی اصلی باز می گردد.
o اگر هیچ کاربر در گزینه A منو اضافه نشده باشد ، "NO SAVED USERS" نمایش داده می شود.
· C - دمای زنده را نمایش می دهد
o برای بازگشت به منوی اصلی ، " *" را فشار دهید
· D - نمایش متن کوتاه
o نام خالق و موضوعی که برای آن تدوین شده است را با تاریخ نمایش می دهد.
توصیه شده:
نحوه ایجاد رادار با استفاده از آردوینو برای پروژه علمی - بهترین پروژه های آردوینو: 5 مرحله
![نحوه ایجاد رادار با استفاده از آردوینو برای پروژه علمی - بهترین پروژه های آردوینو: 5 مرحله نحوه ایجاد رادار با استفاده از آردوینو برای پروژه علمی - بهترین پروژه های آردوینو: 5 مرحله](https://i.howwhatproduce.com/images/001/image-586-26-j.webp)
نحوه ایجاد رادار با استفاده از آردوینو برای پروژه علمی | بهترین پروژه های آردوینو: سلام دوستان ، در این مقاله آموزشی به شما نشان خواهم داد که چگونه یک سیستم راداری شگفت انگیز ایجاد کنید که با استفاده از آردوینو نانو ساخته شده است. این پروژه برای پروژه های علمی ایده آل است و اگر برنده شدن جایزه عالی باشد ، می توانید به راحتی با سرمایه گذاری و شانس بسیار کمتری این کار را انجام دهید
تبدیل متن به گفتار آردوینو با استفاده از LM386 - پروژه صحبت کردن آردوینو - کتابخانه تاکی آردوینو: 5 مرحله
![تبدیل متن به گفتار آردوینو با استفاده از LM386 - پروژه صحبت کردن آردوینو - کتابخانه تاکی آردوینو: 5 مرحله تبدیل متن به گفتار آردوینو با استفاده از LM386 - پروژه صحبت کردن آردوینو - کتابخانه تاکی آردوینو: 5 مرحله](https://i.howwhatproduce.com/images/001/image-2155-23-j.webp)
تبدیل متن به گفتار آردوینو با استفاده از LM386 | پروژه صحبت کردن آردوینو | کتابخانه Talkie Arduino: سلام بچه ها ، در بسیاری از پروژه ها ما به arduino نیاز داریم که چیزی شبیه به ساعت صحبت کردن یا گفتن برخی اطلاعات در این دستورالعمل را با استفاده از Arduino به گفتار تبدیل کنیم
"آماده ساز" - کنترل پروژه "توابع قدرت Lego": 9 مرحله
!["آماده ساز" - کنترل پروژه "توابع قدرت Lego": 9 مرحله "آماده ساز" - کنترل پروژه "توابع قدرت Lego": 9 مرحله](https://i.howwhatproduce.com/images/005/image-13049-5-j.webp)
"Ready Maker" - کنترل پروژه "توابع قدرت Lego": نحوه کنترل Lego & quot؛ توابع قدرت & quot؛ اجزای سازنده با برد آردوینو و پروژه خود را در & quot؛ Ready Maker & quot؛ ویرایشگر (نیازی به کد نیست) تا مدل خود را از راه دور کنترل کنید
توابع بیت اینترنت اشیا: 6 مرحله
![توابع بیت اینترنت اشیا: 6 مرحله توابع بیت اینترنت اشیا: 6 مرحله](https://i.howwhatproduce.com/images/001/image-293-45-j.webp)
توابع بیت اینترنت اشیا: در این مقاله آموزشی ، نحوه استفاده از رابط کاربری بیت توابع اینترنت اشیاء (IoT Bit Functions GUI) برای رایانه های کوچک خود مانند Raspberry Pi 1،2 و 3 را به شما نشان می دهیم. توابع GUI در V1 عبارتند از: & quot؛ ارسال پیامک & quot ؛، & quot ؛ نمایش پیامک & quot ؛، & quot؛ De
ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر)
![ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر) ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/003/image-6862-42-j.webp)
ارزان ترین آردوینو || کوچکترین آردوینو || آردوینو پرو مینی || برنامه نویسی || آردوینو ننو: …………………………. لطفاً برای ویدیوهای بیشتر به کانال YouTube من مشترک شوید ……. .این پروژه در مورد نحوه ارتباط با کوچکترین و ارزانترین آردوینو است. کوچکترین و ارزان ترین آردوینو arduino pro mini است. شبیه آردوینو