
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48

Hey, այնքան վերջերս ես ուսումնասիրում էի, թե ինչպես տարբեր տեսակի կոդեր ներդնել միացման մեջ: Ես գտա, որ հաշվիչ սարքելը հիանալի միջոց կլինի «գործը» և ինձ համար հետաքրքիր այլ կոդերի իրականացման համար: Նախկինում ես հաշվիչներն անմիջապես կոդից էի պատրաստել, բայց դրա համար միացում սարքելը ինձ հետաքրքրություն առաջացրեց: Հատկապես կարանտինի այս ժամանակահատվածում, որտեղ ես գրեթե ամբողջ օրը համակարգչում եմ: Նախագծով նախատեսվում է մաթեմատիկական գործողություններ իրականացնել LCD էկրանով:
Քայլ 1: Նյութեր
Շրջանի համար
- LCD 16 x 2
- Arduino Uno R3
- Ստեղնաշար 4x4
- Փոքր Breadboard
- Պոտենցիոմետր (250 kΩ)
- Ռեզիստոր (1kΩ)
- x26 Jumper լարեր
Քայլ 2: 4x4 ստեղնաշարի միացում

4x4 ստեղնաշարի 4 շարքի կապումներն միացրեք Arduino 4-7 կապումներին և 4 սյունակի կապում միացրեք Arduino 0-3 կապումներին:
Քայլ 3. Էլեկտրաէներգիա տրամադրեք Breadboard- ին և միացրեք LCD- ը

Ես օգտագործեցի հոսանքի լարումը 5 տախտակի համար: Ես հոսանքն ու գետինը միացրեցի հացահատիկին: LCD- ն տեղադրված է հացատախտակին և տեղադրված է այնպես, որ նրա բոլոր կապումներն միացվեն սեղանին:
Քայլ 4. Միացրեք Power և Ground- ը LCD- ին:

LCD- ին միանալու համար անհրաժեշտ կլինի գետնի 3 կապում: Մեկը կցված կլինի LCD- ի հիմքով, մյուսը `LCD- ի LED- ով, իսկ վերջինը` RW- ով: LCD- ի և լուսադիոդի VCC- ն կպահանջի միացում: Այնուամենայնիվ, LED- ի հզորությունը կպահանջի այս դեպքում միացված ռեզիստոր, ես օգտագործեցի 1kΩ ռեզիստոր:
Քայլ 5. Պոտենցիոմետրի միացում

Միացրեք պոտենցիոմետրը տախտակին 3 անվճար սյունակով: Այն կունենա 3 կապ, սյունակին, որը պարունակում է տերմինալ 1 փին, անհրաժեշտ կլինի նրան տրված հիմք: Տերմինալ 2 փին պարունակող սյունակին անհրաժեշտ կլինի դրան տրված էներգիա: Ապա մաքրիչն իր սյունակում կունենա թռիչքային մետաղալար, որը միանում է LCD- ի VO- ին:
Քայլ 6. Arduino- ի միացում LCD- ին

Arduino- ի 8-13 կապերը միացված կլինեն LCD- ին: Arduino- ի 8-11 կապումներն համապատասխանաբար կկապվեն D8- ի (7-4) հետ: Այնուհետև Arduino- ի 12 -րդ կապը կկապվի LCD- ի Enable- ի հետ, իսկ Arduino- ի 13 -րդ կապը `LCD- ի գրանցամատյանին:
Քայլ 7: Իրականացնել ծածկագիրը
Կոդ կպահանջվի ստեղնաշարի և LCD- ի հետ մաթեմատիկական գործողությունների օգտագործման համար: Հետևյալը կլինի իմ օգտագործած ծածկագիրը, սակայն մի քանի փոփոխություններ դեռ կարող են իրականացվել `այն ավելի մաքուր և ավելի լավ դարձնելու համար: Այնպես որ, ազատ զգացեք մի փոքր խաղալ դրա հետ:
#ներառել #ներառել
LiquidCrystal LCD (13, 12, 11, 10, 9, 8);
երկար առաջին = 0;
երկար վայրկյան = 0;
կրկնակի ընդհանուր = 0;
int pozit = 0;
char customKey;
const բայթ ROWS = 4;
const բայթ COLS = 4;
ածխի ստեղներ [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};
Ստեղնաշար customKeypad = Ստեղնախումբ (makeKeymap (ստեղներ), rowPins, colPins, ROWS, COLS);
void setup () {
lcd. սկսել (16, 2);
lcd.setCursor (5, 0);
lcd. հստակ (); }
դատարկ շրջան () {
customKey = customKeypad.getKey ();
անջատիչ (customKey) {
գործ '0'… '9':
lcd.setCursor (0, 0);
առաջին = առաջին * 10 + (customKey - '0');
lcd.print (առաջին);
դիրք ++;
ընդմիջում;
գործ '+':
առաջին = (ընդամենը! = 0? ընդհանուր `առաջին);
lcd.setCursor (posit, 0);
lcd.print ("+");
դիրք ++;
երկրորդ = SecondNumber ();
ընդհանուր = առաջին + երկրորդ;
lcd.setCursor (1, 1);
lcd.print (ընդամենը);
առաջին = 0, երկրորդ = 0;
դիրք = 0;
ընդմիջում;
գործ '-':
առաջին = (ընդամենը! = 0? ընդհանուր `առաջին);
lcd.setCursor (posit, 0);
lcd.print ("-");
դիրք ++;
երկրորդ = SecondNumber ();
ընդհանուր = առաջին - երկրորդ;
lcd.setCursor (1, 1);
lcd.print (ընդամենը);
առաջին = 0, երկրորդ = 0;
դիրք = 0;
ընդմիջում;
գործ '*':
առաջին = (ընդամենը! = 0? ընդհանուր `առաջին);
lcd.setCursor (posit, 0);
lcd.print ("*");
դիրք ++;
երկրորդ = SecondNumber ();
ընդհանուր = առաջին * երկրորդ;
lcd.setCursor (1, 1);
lcd.print (ընդամենը);
առաջին = 0, երկրորդ = 0;
դիրք = 0;
ընդմիջում;
գործ '/':
առաջին = (ընդամենը! = 0? ընդհանուր `առաջին);
lcd.setCursor (posit, 0);
lcd.print ("/");
դիրք ++;
երկրորդ = SecondNumber (); lcd.setCursor (1, 1);
երկրորդ == 0? lcd.print («Սխալ»). ընդհանուր = (float) առաջին / (float) երկրորդ;
lcd.print (ընդամենը);
առաջին = 0, երկրորդ = 0;
դիրք = 0;
ընդմիջում;
գործ 'C':
ընդամենը = 0;
առաջին = 0;
երկրորդ = 0;
դիրք = 0;
lcd. հստակ ();
ընդմիջում; }
}
երկար SecondNumber () {
մինչդեռ (1) {
customKey = customKeypad.getKey ();
if (customKey> = '0' && customKey <= '9') {
երկրորդ = երկրորդ * 10 + (customKey - '0');
lcd.setCursor (posit, 0);
lcd.print (երկրորդ); }
եթե (customKey == 'C') {
ընդամենը = 0;
առաջին = 0;
երկրորդ = 0;
դիրք = 0;
lcd. հստակ ();
ընդմիջում; }
եթե (customKey == '=') {
lcd.setCursor (0, 1);
lcd.print ("=");
դիրք = ընդհանուր;
lcd. հստակ ();
lcd.setCursor (0, 1);
lcd.print ("=");
ընդմիջում; }
}
վերադառնալ երկրորդ;}
Քայլ 8: Արդյունք


Հուսով եմ, որ դուք բոլորդ վայելեցիք այս ուսանելի ուղեցույցը: Շնորհակալություն կարդալու համար:
Սաիմ.
Խորհուրդ ենք տալիս:
3D տպագիր տեսախցիկ Gimbal (Tinkercad մրցույթ) ՝ 6 քայլ

3D տպագիր տեսախցիկ Gimbal (Tinkercad Contest). Բարև, սա տեսախցիկի գիմբալ է, որը ես նախագծել եմ Tinkercad- ում: Հիմնական գիմբալը պատրաստված էր այս բանկայի բռնակից և հինգ մատանի գիմբալից / գիրոյից, որն այլևս կարծես չեմ գտնում: Tinkercad- ի դիզայնը կարելի է գտնել այստեղ: Սա նախատեսված էր լիազորությունների վրա աշխատելու համար
Adafruit Shield- ով նկարող ռոբոտ (մրցույթ շարժեք այն). 10 քայլ (նկարներով)

Նկարող ռոբոտ Adafruit Shield- ով (Make It Move Contest). Ողջույն, իմ անունները Jacեյքոբը և ես ապրում ենք Մեծ Բրիտանիայում: Այս նախագծում ես պատրաստվում եմ կառուցել ռոբոտ, որը նկարում է ձեզ համար: *Համոզված եմ, որ ձեզանից շատերը ցանկանում են տեսնել այն: Եթե ցանկանում եք իմանալ, խնդրում ենք անցնել երկրորդից վերջին քայլին, բայց անպայման վերադառնալ այստեղ ՝ տեսնելու
DIY VR վազքուղի- Basys3 FPGA-Digilent մրցույթ. 3 քայլ

DIY VR վազքուղի- Basys3 FPGA-Digilent մրցույթ. Անկանու՞մ եք կառուցել VR վազքուղի, որի վրա կարող եք գործարկել ձեր աշխատասեղանի ծրագրերն ու խաղերը: Հետո դուք ճիշտ տեղում եք եկել: Պայմանական խաղերում դուք օգտագործում եք մկնիկը և ստեղնաշարը `շրջակա միջավայրի հետ շփվելու համար: Հետևաբար, մենք պետք է ուղարկենք
VEX Tower Takeover Competition մրցույթ ռոբոտ. 8 քայլ

VEX Tower Takeover Competition Robot. Այս ձեռնարկում ես ձեզ ցույց կտամ Vex Robotics Tower Takeover Competition մրցույթի հիմունքները, ինչպես նաև այն, թե ինչպես կառուցել ռոբոտ այս խաղի համար: Խնդրում ենք ստուգել պիտույքների ներդիրը: ՆՇՈՄ. Vex EDR- ի մասերը ՇԱՏ թանկ են, եթե չեք կարող թույլ տալ ծախսել
Fpga Controlled RC Servo Motor Robot Arm - Digilent մրցույթ. 3 քայլ

Fpga Controlled RC Servo Motor Robot Arm - Digilent Contest: FPGA վերահսկվող սերվո շարժիչով ռոբոտի բազուկ Այս նախագծի նպատակն է ստեղծել ծրագրավորվող համակարգ, որը կարող է զոդման աշխատանքներ կատարել տախտակի վրա: Համակարգը հիմնված է Digilent Basys3 զարգացման տախտակի վրա և այն ի վիճակի կլինի զոդել