ዝርዝር ሁኔታ:
ቪዲዮ: አርዱዲኖ UNO (ምናሌዎችን እና ተግባሮችን መፍጠር) 4 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
በዚህ መመሪያ ውስጥ ምናሌዎችን እንዴት መፍጠር እንደሚቻል እንመረምራለን ፣ የሙቀት መጠኑን ከ TC74A0 ዳሳሽ ያንብቡ እና “እሴቶችን” (በዚህ ሁኔታ የሞባይል ስልክ ቁጥሮች) በማያልቅ ፣ ግን በቦርዱ ማህደረ ትውስታ ላይ ባለው አርዱinoኖ ብቻ የተወሰነ በሆነ መንገድ ያሳዩ።
እኛ እንጠቀማለን
-አረሪዎች
-ፈሳሽ ክሪስታል ማሳያ
-ቁልፍ ሰሌዳ
የተጠቃሚ መመሪያ በመጨረሻው ደረጃ ውስጥ ተካትቷል።
ደረጃ 1: አካላት
አርዱዲኖ ኡኖ
· 4x4 የቁልፍ ሰሌዳ
· TC74A0 ዲጂታል የሙቀት ዳሳሽ
· I2c 16x2 LCD ሞዱል
· 16x2 ፈሳሽ ክሪስታል ማሳያ
· ዝላይ ሽቦዎች
· የዳቦ ሰሌዳ
· የግል ኮምፒተር
· አርዱዲኖ አይዲኢ
· ገመድ ያስተላልፉ
ደረጃ 2 - የአካል ክፍሎች ሽቦ
TEMP SENSOR እና LCD ተገናኝቷል በተመሳሳይ መስመር ላይ ወደ SDA እና SCL (A4 ፣ A5)
ኤልሲዲ (I2c ሞዱል)
o SDA ወደ A5 በአርዱዲኖ
o SCL ወደ A4 በአርዱዲኖ
o VCC እስከ 5V በአርዱዲኖ
o በአርዲኖ ላይ ከ GND እስከ GND
· 4 x 4 የቁልፍ ሰሌዳ
o በቅደም ተከተል በአርዱዲኖ ላይ ከፒን 9 - 2 ጋር በተገናኘው የቁልፍ ሰሌዳ ላይ 1 - 8 ይሰኩ
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 እኔ = 0;
int USER;
int X = 0;
int XY = 0;
int temp;
int tempPre = 0;
char userNum [10] [10] = {{}, {}, {}};
የቻር ውሂብ [የይለፍ ቃል_ ርዝመት];
char Master [Password_Lenght] = "5466"; //ፕስወርድ
char ExitData [Command_Lenght]; //
char Master1 [Command_Lenght] = "**"; //
char MenuItem;
ቻር CELLArrayA [10];
ቻር CELLArrayB [10];
ቻር CELLArrayC [10];
const byte ROWS = 4; // አራት ረድፎች
const byte COLS = 4; // አራት ዓምዶች
ባይት ረድፍ ፒኖች [ROWS] = {5, 4, 3, 2};
ባይት ኮልፒንስ [COLS] = {9, 8, 7, 6};
ባይት data_count = 0, master_count = 0;
bool Pass_is_ ጥሩ ነው;
LiquidCrystal_I2C lcd (0x26, 16, 2);
char hexaKeys [ROWS] [COLS] = // INITIATING KEYPAD
{
{'1' ፣ '2' ፣ '3' ፣ 'A'} ፣
{'4' ፣ '5' ፣ '6' ፣ 'B'} ፣
{'7' ፣ '8' ፣ '9' ፣ 'C'} ፣
{'*', '0' ፣ '#' ፣ 'መ'}
};
የቁልፍ ሰሌዳ ብጁ የቁልፍ ሰሌዳ = የቁልፍ ሰሌዳ (makeKeymap (hexaKeys) ፣ ረድፎች ፒን ፣ ኮሊፒንስ ፣ ረድፎች ፣ ኮል);
ባዶነት ማዋቀር ()
{
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; rollCounter <24; scrollCounter ++)
{
lcd.scrollDisplayLeft ();
መዘግየት (300);
}
lcd.clear ();
lcd.print ("የይለፍ ቃል ያስገቡ");
}
ባዶነት loop ()
{
ማብሪያ (ማሳያ) // በዋናው ምናሌ ውስጥ እኛ ያለነው
{// ተጠቃሚው ይጫኑ 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 ();
መቀየሪያ (ብጁ ቁልፍ)
{
ጉዳይ 'ሀ':
{
Serial.println ("ሀ ተጭኗል");
StoreUser ();
ሰበር;
}
ጉዳይ 'ለ'
{
Serial.println ("B ተጭኖ ነበር");
ከሆነ (ተጠቃሚዎች == 0) {
lcd.clear ();
lcd.print ("የተቀመጡ ተጠቃሚዎች የሉም");
መዘግየት (3000);
lcd.clear ();
ማሳያ = 1;
ሰበር;
}
ማሳያ ተጠቃሚዎች (); ሰበር;
}
ጉዳይ 'ሐ' ፦
{
Serial.println ("C ተጭኖ ነበር"); // በሙከራ ጊዜ ጥቅም ላይ የዋለ
int ext = 0;
ሳለ (! ext) {
ቻር ቸ;
temp = TempMenu ();
ከሆነ (temp! = tempPre) {
lcd.clear ();
lcd.print ("ሙቀት");
lcd.setCursor (0, 1);
lcd.print (temp);
lcd.print ("C");
tempPre = temp;
መዘግየት (500);
}
ch = customKeypad.getKey ();
ከሆነ (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 ();
(ብጁ ኪይ) // አንድ ቁልፍ በትክክል እንደተጫነ ካረጋገጠ ፣ (ብጁ ኪይ! = NO_KEY)
{
ውሂብ [data_count] = customKey; // ቻርትን ወደ የውሂብ ድርድር ያከማቹ
lcd.setCursor (data_count, 1); // እያንዳንዱን አዲስ ቻርተር ለማሳየት ጠቋሚውን ያንቀሳቅሱ
lcd.print ("*"); // በተጠቀሰው ጠቋሚ ላይ የህትመት ቻር
የውሂብ_ቁጥር ++; // አዲስ ቻርትን ለማከማቸት የውሂብ ድርድር በ 1 ይጨምሩ ፣ እንዲሁም የገቡትን የ chars ብዛት ይከታተሉ
}
ከሆነ (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 ();
clearData ();
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print ("የይለፍ ቃል ያስገቡ");
}
}
int TempMenu ()
{
Wire.begin ማስተላለፊያ (አድራሻ);
Wire.write (0);
Wire.endTransmission ();
Wire.requestFrom (አድራሻ ፣ 1);
እያለ (Wire.available () == 0);
int c = Wire.read ();
መመለስ ሐ;
}
ባዶ ባዶ ውሂብ ()
{
ሳለ (የውሂብ_ቁጥር! = 0)
{// ይህ ለማንኛውም የድርድር መጠን ሊያገለግል ይችላል ፣
ውሂብ [data_count--] = 0; // ለአዲስ ውሂብ ድርድርን ያፅዱ
}
}
ባዶ መደብር ተጠቃሚ ()
{
int ext = 0;
int ተጠቃሚ;
ቻር ቸ;
ሳለ (! 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 [ተጠቃሚ - 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;
}
}
ተጠቃሚዎች ++;
}
}
ባዶ ማሳያ ማሳያ ተጠቃሚዎች ()
{
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 ሊሆኑ የሚችሉ አማራጮች ይታያሉ።
· ሀ - የተጠቃሚ የሞባይል ስልክ ቁጥሮችን ያስገቡ።
o ተጠቃሚን ወደ ስርዓቱ ለማስቀመጥ 10 አሃዞችን ያስገቡ
o 10 አሃዞች ከገቡ በኋላ ተጨማሪ ተጠቃሚዎችን ለመጨመር “*” ን ይጫኑ ወይም ወደ ዋናው ምናሌ ለመመለስ “#” ን ይጫኑ።
· ለ - የተቀመጡ ተጠቃሚዎችን ያሳዩ
o ተጠቃሚዎች ማያ ገጹን ያሸብልላሉ ፣ እያንዳንዳቸው ለ 3 ሰከንዶች ይታያሉ ፣ ሁሉም ተጠቃሚዎች እንደታዩ ወዲያውኑ ገጹ ይዘጋል እና ወደ ዋናው ምናሌ ይመለሳል።
o በምናሌ አማራጭ ሀ ውስጥ ምንም ተጠቃሚዎች ካልተጨመሩ “ምንም የተቀመጡ ተጠቃሚዎችን” ያሳያል።
· ሐ - የቀጥታ ሙቀትን ያሳያል
o ወደ ዋናው ምናሌ ለመመለስ “*” ን ይጫኑ
· D - አጭር ጽሑፍ ያሳዩ
o የፈጣሪውን ስም እና የተሰበሰበበትን ርዕሰ ጉዳይ ከቀን ጋር ያሳያል።
የሚመከር:
አርዱዲኖ ናኖ ወደ አርዱዲኖ ኡኖ አስማሚ 6 ደረጃዎች (ከስዕሎች ጋር)
አርዱዲኖ ናኖ ወደ አርዱዲኖ ኡኖ አስማሚ - አርዱዲኖ ናኖ ጥሩ ፣ ትንሽ እና ርካሽ የአርዱዲኖ ቤተሰብ አባል ነው። እሱ በአትሜጋ 328 ቺፕ ላይ የተመሠረተ ነው ፣ እንደ ትልቁ ወንድሙ አርዱዲኖ ኡኖ ኃይለኛ ያደርገዋል ፣ ግን በአነስተኛ ገንዘብ ሊገኝ ይችላል። በ Ebay አሁን የቻይንኛ ስሪቶች ለ
አርዱዲኖ ፕሮግራም በሞባይል በኩል -- አርዱኖዶሮይድ -- አርዱዲኖ ሀሳብ ለ Android -- ብልጭ ድርግም ፦ 4 ደረጃዎች
አርዱዲኖ ፕሮግራም በሞባይል በኩል || አርዱኖዶሮይድ || አርዱዲኖ ሀሳብ ለ Android || ብልጭ ድርግም እባክዎን ለተጨማሪ ቪዲዮዎች የዩቲዩብ ቻናሌን በደንበኝነት ይመዝገቡ …… አርዱinoኖ በቀጥታ በዩኤስቢ ፕሮግራም ሊሆን የሚችል ቦርድ ነው። ለኮሌጅ እና ለት / ቤት ፕሮጄክቶች ወይም በምርቶች ናሙና ውስጥ እንኳን በጣም ቀላል እና ርካሽ ነው። ብዙ ምርቶች በመጀመሪያ በእሱ ላይ ይገነባሉ
አርዱዲኖ ኦዶሜትር መፍጠር - ክፍል 1 - 4 ደረጃዎች
አርዱዲኖ ኦዶሜትር መፍጠር - ክፍል 1 - ብስክሌተኞች እና የብስክሌት ተጠቃሚዎች የተጓዙበትን ፍጥነት እና ርቀት መለካት በጣም የተለመደ ነው። ለእዚህ እኛ ኦዶሜትር በመባል የሚታወቅ መሣሪያ እንፈልጋለን።ኦዶሜትር እነዚህን ተለዋዋጮች የመለካት እና ይህንን መረጃ የማስተላለፍ ኃላፊነት አለበት
አርዱዲኖ አይዲኢ - ብጁ ቦርዶችን መፍጠር 10 ደረጃዎች
አርዱዲኖ አይዲኢ - ብጁ ቦርዶችን መፍጠር - ባለፉት ስድስት ወራት ውስጥ በሮቦቶች ማስተርስ ለተዘጋጀው ለሮቦ ኤች ኤም 1 ቦርድ የተለያዩ ቤተ -ፍርግሞችን በማሰራጨት ብዙ ጊዜ አሳልፌያለሁ። ይህ ስለእነዚህ ቤተ -መጻህፍት ፣ ከመድረክ በስተጀርባ እንዴት እንደሚሠሩ እና ከሁሉም በላይ አስፈላጊ የሆነውን ወደ
የ SOLIDWORKS ጥቂት መሠረታዊ ተግባሮችን መማር -ስድስት ጎን ዳይ ማድረግ 22 ደረጃዎች
የ SOLIDWORKS ጥቂት መሰረታዊ ተግባሮችን መማር -ስድስት ጎን ዳይ ማድረግ - ይህ አስተማሪ በስድስት ጎን ዳይ 3 ዲ አምሳያን ለመሥራት በሚያስፈልጉት ደረጃዎች ውስጥ ይራመዳል። 3 ዲ ቅርጾች ፣ እና ውስጣዊ እና ውጫዊ ማዕዘኖች ወይም የ 3 ዲ አምሳያ። ሥራ በሚሠራበት ጊዜ