Мазмуну:
- Жабдуулар
- 1 -кадам: Товарларыңызды TinkerCadдан чогултуп алыңыз
- 2 -кадам: Берилиштериңизди иреттеңиз
- 3 -кадам: Зымдарды туташтыруу
- 4 -кадам: Код жазуу
- 5 -кадам: Кодексти бузуу
- 6 -кадам: Бул эсептегичтин жабдыктары кантип иштейт?
- 7 -кадам: Калькулятордун толук көрүнүшү
- 8 -кадам: Бул Коддун Менин Илхамы
Video: ЖК Мишранын LCD эсептегичи: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Tinkercad долбоорлору »
Бул өзүңүздүн калькуляторуңузду түзүүнү үйрөтүүчү абдан пайдалуу долбоор. Сиз бул эсептегичти онлайнда же реалдуу жашоодо кошумча жабдуулардын жардамы менен түзө аласыз, бирок азырынча биз онлайн калькуляторду түзүүгө гана басым жасайбыз.
Жабдуулар
- Arduino Uno R3
- 220 Ом каршылыгы
- 4*4 Баскычтоп
- 16*2 ЖК
- Районду туташтыруу үчүн зымдардын тобу
1 -кадам: Товарларыңызды TinkerCadдан чогултуп алыңыз
Стрессти жана каталарды азайтуу үчүн 2 -кадамды баштоодон мурун бардык жабдууларыңыз бар экенин текшериңиз. Туура жабдууларды колдонууну тактаңыз, жогорудагы сүрөттөгү кээ бир компоненттер башка компоненттерге окшош, андыктан алардын ортосунда аралашпаңыз. Жетекчилик катары жогорудагы сүрөттү колдонуңуз.
2 -кадам: Берилиштериңизди иреттеңиз
Берилиштериңизди иреттөө - бул сиздин калькуляторуңуздун кандай болорун алдын ала көрүүнүн эң жакшы жолу. Сиз каалаган калькулятордун дизайнын түзө аласыз, бирок калькулятор табигый көрүнгөнүнө жана колдонуучулар дизайнды түшүнүп, чаташпашына ишениңиз. Мен баарына эффективдүү жана түшүнүктүү типтүү классикалык эсептегичтин дизайнын колдондум. Сиз менин дизайнымды тандай аласыз же өзүңүздүн оюңузду түзө аласыз, бирок бул эмне болсо дагы чыгармачыл жана ийгилик!
3 -кадам: Зымдарды туташтыруу
Зымдарды туташтыруу - анын артындагы маанини түшүнбөсөңүз, оор жумуш. Бул зым менен биз төрт компонентти бириктирүүгө аракет кылып жатабыз, алар код жазуу убактысы келгенде топ болуп иштей алышат. Эгерде зымдар жок болсо, анда эч кандай ток өтпөйт, ал ишке ашпай калган долбоорго алып келет. Сиздин зымдар эч кандай түшүнбөстүккө туура туташканын текшериңиз.
Зымдарды туташтырып бүткөндөн кийин, зымдарыңыздын тыкан жана уюшулгандыгын текшериңиз, андыктан сизге жана башкаларга бул эсептегичтин жабдууларында эмне болуп жатканын түшүнүү оңой болот. Жогоруда айтканымдай, сиз зымдарды уюштуруу техникасын колдоно аласыз же өзүңүз түзө аласыз, бирок эмне кылууну чечсеңиз да, алар кандайдыр бир боштук менен чогулганын текшериңиз.
4 -кадам: Код жазуу
#кошуу
#кошуу #кошуу
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
long first = 0; узак секунд = 0; эки эсе жалпы = 0;
char customKey; const байт ROWS = 4; const байт COLS = 4;
char баскычтары [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; байт rowPins [ROWS] = {7, 6, 5, 4}; // клавиатуранын байт colPins'инин катар чокуларына туташуу [COLS] = {3, 2, 1, 0}; // баскычтоптун мамычанын пинуттарына туташуу
// класстын инициализациясы NewKeypad Keypad customKeypad = Баскычтоп (makeKeymap (key), rowPins, colPins, ROWS, COLS);
void setup () {lcd.begin (16, 2); // баштоо үчүн lcd (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Калькулятор"); lcd.setCursor (0, 1); lcd.print ("By Jai Mishra"); кечигүү (4000); lcd.clear (); lcd.print ("Акыркы долбоор"); кечигүү (2500); lcd.clear (); lcd.setCursor (0, 0); }
void loop () {
customKey = customKeypad.getKey (); switch (customKey) {case '0'… '9': // Бул оператор "+-*/" lcd.setCursor (0, 0) басылмайынча биринчи маанини чогултууну улантат; биринчи = биринчи * 10 + (customKey - '0'); lcd.print (биринчи); тыныгуу;
case '+': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("+"); экинчи = SecondNumber (); // чогултулган экинчи санды алуу = биринчи + экинчи; lcd.setCursor (0, 3); lcd.print (жалпы); биринчи = 0, экинчи = 0; // кийинки колдонуу үчүн баалуулуктарды нөлгө кайтаруу;
case '-': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("-"); экинчи = SecondNumber (); жалпы = биринчи - экинчи; lcd.setCursor (0, 3); lcd.print (жалпы); биринчи = 0, экинчи = 0; тыныгуу;
case '*': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("*"); экинчи = SecondNumber (); жалпы = биринчи * экинчи; lcd.setCursor (0, 3); lcd.print (жалпы); биринчи = 0, экинчи = 0; тыныгуу;
case '/': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("/"); экинчи = SecondNumber (); lcd.setCursor (0, 3);
секунд == 0? lcd.print ("Жараксыз"): total = (float) first / (float) second;
lcd.print (жалпы); биринчи = 0, экинчи = 0; тыныгуу;
case 'C': total = 0; lcd.clear (); тыныгуу; }}
long SecondNumber () {while (1) {customKey = customKeypad.getKey (); if (customKey> = '0' && customKey <= '9') {second = second * 10 + (customKey - '0'); lcd.setCursor (0, 2); lcd.print (экинчи); }
if (customKey == '=') break; // return second; } экинчи кайтуу; }
5 -кадам: Кодексти бузуу
Биз түшүнүү үчүн компьютердин баалуулуктарын баштадык
#кошуу
#кошуу #кошуу
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
long first = 0; узак секунд = 0; эки эсе жалпы = 0;
char customKey; const байт ROWS = 4; const байт COLS = 4;
Биз компьютерге баскычтоп иштеши керек болгон сандарды жана белгилерди айттык
char баскычтары [ROWS] [COLS] = {{'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'}};
Биз баскычтоптун саптарын жана мамыларын такташтырдык жана кайсы сан кайсы тилкеде ж
байт rowPins [ROWS] = {7, 6, 5, 4}; байт colPins [COLS] = {3, 2, 1, 0};
Биз компьютер үчүн киришүү же экрандын кубатын түздүк (Сиз ага өз атыңызды жаза аласыз)
void setup () {lcd.begin (16, 2); үчүн (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Калькулятор"); lcd.setCursor (0, 1); lcd.print ("By Jai Mishra"); кечигүү (4000); lcd.clear (); lcd.print ("Акыркы долбоор"); кечигүү (2500); lcd.clear (); lcd.setCursor (0, 0); }
Биз эсептегичте ар бир операциянын маанисин жана формуласын түзөбүз, ошондо компьютер колдонуучу калькуляторго "+" басканда кандай формуланы колдонууну түшүнөт
{case '0'… '9': lcd.setCursor (0, 0); биринчи = биринчи * 10 + (customKey - '0'); lcd.print (биринчи); тыныгуу;
case '/': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("/"); экинчи = SecondNumber (); lcd.setCursor (0, 3);
секунд == 0? lcd.print ("Жараксыз"): total = (float) first / (float) second;
lcd.print (жалпы); биринчи = 0, экинчи = 0; тыныгуу; case '+': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("+"); экинчи = SecondNumber (); lcd.setCursor (0, 3); lcd.print (жалпы); биринчи = 0, экинчи = 0; тыныгуу;
case '-': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("-"); экинчи = SecondNumber (); жалпы = биринчи - экинчи; lcd.setCursor (0, 3); lcd.print (жалпы); биринчи = 0, экинчи = 0; тыныгуу;
case '*': first = (total! = 0? total: first); lcd.setCursor (0, 1); lcd.print ("*"); экинчи = SecondNumber (); жалпы = биринчи * экинчи; lcd.setCursor (0, 3); lcd.print (жалпы); биринчи = 0, экинчи = 0; тыныгуу;
case 'C': total = 0; lcd.clear (); тыныгуу; }}
Код абдан оңой, муну түшүнүүгө аракет кылуу гана керек, анан баарын оңой эле жасаса болот. Коду менен кандайдыр бир көйгөйлөр болсо, мага электрондук кат
6 -кадам: Бул эсептегичтин жабдыктары кантип иштейт?
Бул эсептегич ЖК, клавиатура, Arduino тактасы жана 220 омдук резисторду колдонот. Бул компоненттердин баары өзүнчө, бирок Arduino клавиатурасына жана ЖКга зымдар менен туташкан. ЖКнын ар кандай бөлүмдөрү акыры экөөнү баскычтоп менен байланыштырган Arduino тактасы менен байланышкан. Туташкандан кийин, коддоо бардык ишти аткарат жана ар бир операцияны жана баскычтоптун баскычын аткарууга тапшырма берет.
7 -кадам: Калькулятордун толук көрүнүшү
Биздин акыркы долбоор ушундай көрүнөт! Эгерде сиздин код иштебесе, же кандайдыр бир техникалык кыйынчылыктар болсо, анда мага электрондук кат жөнөтүңүз, мен сизге эң жакшы эсептегичти түзүүгө жардам берүү үчүн колумдан келгендин баарын кылам!
8 -кадам: Бул Коддун Менин Илхамы
Мен жогорудагы видеодон tinkercadда калькуляторду кантип жасоону үйрөндүм! Мен эч нерсени көчүрүп, чаптаган жокмун, бирок анын эсептегич жана коддун түшүнүгү жөнүндөгү идеясын колдондум.
Сунушталууда:
Автоматтык бөлмө жарыгы жана күйөрман контролери эки багыттуу келүүчүнүн эсептегичи менен: 3 кадам
Автоматтык бөлмө жарыгы жана күйөрман контроллери эки тараптуу келүүчүнүн эсептегичи: Көбүнчө биз стадиондо, соода борборунда, кеңселерде, класстык бөлмөлөрдө коноктордун эсептегичтерин көрөбүз. Алар элди санап, эч ким жок болгондо жарыкты кантип күйгүзүп же өчүрүшөт? Бүгүн биз бул жерде автоматтык бөлмө жарык контроллеринин долбоору менен эки тараптуу келүүчүнүн эсептегичи менен
Жеке виджеттериңизди оңой жасаңыз - BPMдин тез эсептегичи: 6 кадам
Өз виджеттериңизди оңой жасаңыз - BPM Counter: Web колдонмолору кеңири жайылган, бирок интернетке кирүүнү талап кылбаган веб -колдонмолор эмес. бул жерден караңыз). Эгер жүктөлүп алынса, бул виджет оффлайнда колдонулушу мүмкүн
Акылдуу 3D принтер филамент эсептегичи: 5 кадам (сүрөттөр менен)
Акылдуу 3D принтер филамент эсептегичи: Эмнеге жипти санап убара болуу керек? Бир нече себептер: Ийгиликтүү басып чыгаруу үчүн туура калибрленген экструдер талап кылынат: gcode экструдерге жипти 2 мм жылдырууну айтканда, ал так 2 мм жылышы керек. Жаман нерселер болуп кетет, эгер ал ашыкча болсо же жетишсиз болсо
Так YouTube жазылуучуларынын эсептегичи: 4 кадам
Так YouTube жазылуучуларынын эсептегичи: Мен бул долбоорго бир айга жакын даярдана баштагам, бирок кийин алар чыныгы абоненттердин санын эмес, эң жакын тегеректелген номерди берерин айтышканда, YouTube мени жолдон чыгарды. Азыркы учурда, бул чынында маселе эмес
Макей-Макейди жана Скретчти колдонуу менен монета эсептегичи: 10 кадам (Сүрөттөр менен)
Макей-Макейди жана Скретчти колдонуу менен монета эсептегичи: Акчаны эсептөө-бул биздин күнүмдүк жашообузда колдоно турган абдан маанилүү практикалык математикалык чеберчилик. Макей-Макей жана Скретчтин жардамы менен монеталарды эсептегичти кантип программалоону жана курууну үйрөнүңүз