Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Hei, nii hiljuti uurisin, kuidas erinevat tüüpi koodi ahelasse rakendada. Leidsin, et kalkulaatori valmistamine oleks suurepärane võimalus rakendada "juhtumit" ja muid minu jaoks huvitavaid koodivorme. Olen varem teinud kalkulaatoreid otse koodist, kuid selle jaoks skeemi tegemine tekitas huvi. Eriti praegusel karantiiniajal, kus olen peaaegu terve päeva arvutis. Projekt seisneb matemaatiliste toimingute teostamises LCD -ekraanil.
Samm: materjalid
Ahela jaoks:
- LCD 16 x 2
- Arduino Uno R3
- Klaviatuur 4x4
- Väike leivalaud
- Potentsiomeeter (250 kΩ)
- Takisti (1 kΩ)
- x26 Jumper juhtmed
2. samm: 4x4 klaviatuuri ühendamine
Ühendage 4x4 klahvistiku 4 rea nööpnõelad Arduino tihvtidega 4-7 ja 4 veergunööpi Arduino tihvtidega 0-3.
3. toiming: andke leivalauale toide ja ühendage LCD -ekraan
Leivaplaadi jaoks kasutasin toitepinget 5. Ühendasin toite ja maa leivaplaadiga. LCD -ekraan asetatakse leivaplaadile ja asetatakse nii, et kõik selle tihvtid ühendatakse leivaplaadiga.
Samm: ühendage toide ja maandus LCD -ekraaniga
LCD -ekraaniga ühendamiseks on vaja 3 tihvti maad. Üks neist ühendatakse maapinnaga LCD -ekraaniga, teine ühendatakse LCD -LED -iga ja viimane ühendatakse RW -ga. LCD -ekraani ja LED -i VCC ühendamiseks on vaja toiteallikat. Kuid LED -i toide nõuab sel juhul ühendatud takistit, ma kasutasin 1 kΩ takisti.
Samm: ühendage potentsiomeeter
Ühendage potentsiomeeter 3 vaba veeruga leivaplaadiga. Sellel on 3 tihvti, veerg, mis sisaldab terminali 1 tihvti, tuleb sellele maandada. Veerg, mis sisaldab terminali 2 tihvti, vajab selle jaoks energiat. Seejärel on klaasipuhasti veerus hüppaja, mis ühendub vedelkristallekraani VO -ga.
Samm: ühendage Arduino LCD -ekraaniga
Arduino tihvtid 8-13 ühendatakse LCD-ekraaniga. Arduino tihvtid 8-11 ühendavad vastavalt D8-ga (7-4). Seejärel ühendatakse Arduino tihvt 12 LCD -seadme lubamisega ja Arduino tihvt 13 ühendatakse LCD -registriga.
Samm: rakendage kood
Klaviatuuri ja LCD -ga matemaatiliste toimingute kasutamiseks on vaja koodi. Järgnev on kood, mida ma kasutasin, kuid mitu muudatust saab siiski rakendada, et muuta see puhtamaks ja paremaks. Nii et mängige sellega julgelt natuke.
#kaasama #kaasama
LiquidCrystal LCD (13, 12, 11, 10, 9, 8);
pikk esimene = 0;
pikk sekund = 0;
kahekordne kogusumma = 0;
int posit = 0;
char customKey;
const bait RIDA = 4;
const bait COLS = 4;
sümboliklahvid [ROWS] [COLS] = {
{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'}};
bait rowPins [ROWS] = {7, 6, 5, 4};
bait colPins [COLS] = {3, 2, 1, 0};
Klahvistik customKlaviatuur = Klaviatuur (makeKeymap (võtmed), rowPins, colPins, ROWS, COLS);
tühine seadistus () {
lcd.algus (16, 2);
lcd.setCursor (5, 0);
lcd.clear (); }
void loop () {
customKey = customKeypad.getKey ();
lüliti (customKey) {
juhtum „0”… „9”:
lcd.setCursor (0, 0);
esimene = esimene * 10 + (customKey - '0');
lcd.print (esimene);
positiivne ++;
murda;
juhtum "+":
esimene = (kokku! = 0? kokku: esimene);
lcd.setCursor (posit, 0);
lcd.print ("+");
positiivne ++;
teine = teine arv ();
kokku = esimene + teine;
lcd.setCursor (1, 1);
lcd.print (kokku);
esimene = 0, teine = 0;
posit = 0;
murda;
juhtum '-':
esimene = (kokku! = 0? kokku: esimene);
lcd.setCursor (posit, 0);
lcd.print ("-");
positiivne ++;
teine = teine arv ();
kokku = esimene - teine;
lcd.setCursor (1, 1);
lcd.print (kokku);
esimene = 0, teine = 0;
posit = 0;
murda;
juhtum '*':
esimene = (kokku! = 0? kokku: esimene);
lcd.setCursor (posit, 0);
lcd.print ("*");
positiivne ++;
teine = teine arv ();
kokku = esimene * teine;
lcd.setCursor (1, 1);
lcd.print (kokku);
esimene = 0, teine = 0;
posit = 0;
murda;
juhtum '/':
esimene = (kokku! = 0? kokku: esimene);
lcd.setCursor (posit, 0);
lcd.print ("/");
positiivne ++;
teine = teine arv (); lcd.setCursor (1, 1);
teine == 0? lcd.print ("Viga"): kokku = (float) esimene / (float) teine;
lcd.print (kokku);
esimene = 0, teine = 0;
posit = 0;
murda;
juhtum „C”:
kokku = 0;
esimene = 0;
teine = 0;
posit = 0;
lcd.clear ();
murda; }
}
pikk SecondNumber () {
samas (1) {
customKey = customKeypad.getKey ();
if (customKey> = '0' && customKey <= '9') {
teine = teine * 10 + (customKey - '0');
lcd.setCursor (posit, 0);
lcd.print (teine); }
if (customKey == 'C') {
kokku = 0;
esimene = 0;
teine = 0;
posit = 0;
lcd.clear ();
murda; }
if (customKey == '=') {
lcd.setCursor (0, 1);
lcd.print ("=");
posit = kokku;
lcd.clear ();
lcd.setCursor (0, 1);
lcd.print ("=");
murda; }
}
tagasitulek teine;}
8. samm: tulemus
Loodan, et teile kõigile meeldis see juhend. Täname lugemise eest!
Saim.