Tartalomjegyzék:
- 1. lépés: Anyagok
- 2. lépés: A 4x4 -es billentyűzet csatlakoztatása
- 3. lépés: Tápellátás biztosítása a kenyértáblán és az LCD csatlakoztatása
- 4. lépés: Csatlakoztassa a tápellátást és a földelést az LCD -hez
- 5. lépés: A potenciométer csatlakoztatása
- 6. lépés: Az Arduino csatlakoztatása az LCD -hez
- 7. lépés: A kód végrehajtása
- 8. lépés: Eredmény
Videó: TinkerCad számológép verseny: 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Hé, így a közelmúltban azt vizsgáltam, hogyan lehet különböző típusú kódokat egy áramkörbe implementálni. Úgy találtam, hogy számológép készítése nagyszerű módja az "eset" és más, érdekesnek talált kódformák megvalósításának. A múltban számológépeket készítettem egyenesen kódból, de ehhez kapcsolót készítettem. Különösen a karantén idején, amikor szinte egész nap a számítógépemen vagyok. A projekt célja matematikai műveletek végrehajtása LCD képernyőn.
1. lépés: Anyagok
Áramkör:
- LCD 16 x 2
- Arduino Uno R3
- 4x4 -es billentyűzet
- Kis kenyértábla
- Potenciométer (250 kΩ)
- Ellenállás (1kΩ)
- x26 Jumper vezetékek
2. lépés: A 4x4 -es billentyűzet csatlakoztatása
Csatlakoztassa a 4 soros csapokat a 4x4 billentyűzeten az Arduino 4-7 csapokhoz, és a 4 oszlopcsapokat az Arduino 0-3 csapokhoz.
3. lépés: Tápellátás biztosítása a kenyértáblán és az LCD csatlakoztatása
A kenyértáblához 5 -ös tápfeszültséget használtam. Csatlakoztattam a tápellátást és a földet a kenyértáblához. Az LCD -t a kenyérsütő lapra helyezi, és úgy helyezi el, hogy minden csapja összekapcsolódjon a kenyérpaddal.
4. lépés: Csatlakoztassa a tápellátást és a földelést az LCD -hez
Az LCD -hez 3 földelőcsapot kell csatlakoztatni. Az egyik a földhöz csatlakozik, az LCD -hez, a másik az LCD LED -hez, az utolsó pedig az RW -hez. Az LCD és a LED VCC -je tápellátást igényel. A LED tápellátásához azonban ellenállás szükséges, ebben az esetben 1 kΩ -os ellenállást használtam.
5. lépés: A potenciométer csatlakoztatása
Csatlakoztassa a potenciométert a kenyértáblához 3 szabad oszloppal. Három csapja lesz, az oszlop, amely az 1 érintkezőt tartalmazza, földelni kell. Az oszlop, amely a 2 -es érintkezőt tartalmazza, áramot kap. Ekkor az ablaktörlő oszlopában lesz egy áthidaló vezeték, amely az LCD VO -jához csatlakozik.
6. lépés: Az Arduino csatlakoztatása az LCD -hez
Az Arduino 8-13. Csapjai az LCD-hez csatlakoznak. Az Arduino 8-11-es csapjai a D8-hoz (7-4) csatlakoznak. Ezután az Arduino 12. csapja csatlakozik az LCD engedélyezéséhez, és az Arduino 13. csapja az LCD regiszteréhez.
7. lépés: A kód végrehajtása
A billentyűzettel és az LCD -vel végzett matematikai műveletekhez kódra lesz szükség. A következőkben az általam használt kódot használom, bár több változtatást is végrehajthatok, hogy tisztábbá és jobbá tegyem. Szóval bátran játssz vele egy kicsit.
#befoglalni #befoglalni
LiquidCrystal LCD (13, 12, 11, 10, 9, 8);
hosszú első = 0;
hosszú másodperc = 0;
dupla össz = 0;
int posit = 0;
char customKey;
const byte ROWS = 4;
const bájt COLS = 4;
char billentyűk [ROWS] [COLS] = {
{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'}};
byte rowPins [SOROK] = {7, 6, 5, 4};
bájt colPins [COLS] = {3, 2, 1, 0};
Billentyűzet customKeypad = Billentyűzet (makeKeymap (billentyűk), rowPins, colPins, ROWS, COLS);
void setup () {
lcd. kezdet (16, 2);
lcd.setCursor (5, 0);
lcd.clear (); }
void loop () {
customKey = customKeypad.getKey ();
switch (customKey) {
„0”… „9” eset:
lcd.setCursor (0, 0);
első = első * 10 + (customKey - '0');
lcd.print (első);
pozitív ++;
szünet;
„+” eset:
első = (összesen! = 0? összesen: első);
lcd.setCursor (pozitív, 0);
lcd.print ("+");
pozitív ++;
second = SecondNumber ();
összesen = első + második;
lcd.setCursor (1, 1);
lcd.print (összesen);
először = 0, második = 0;
pozitív = 0;
szünet;
"-" eset:
első = (összesen! = 0? összesen: első);
lcd.setCursor (pozitív, 0);
lcd.print ("-");
pozitív ++;
second = SecondNumber ();
összesen = első - második;
lcd.setCursor (1, 1);
lcd.print (összesen);
először = 0, második = 0;
pozitív = 0;
szünet;
"*" eset:
első = (összesen! = 0? összesen: első);
lcd.setCursor (pozitív, 0);
lcd.print ("*");
pozitív ++;
second = SecondNumber ();
összesen = első * második;
lcd.setCursor (1, 1);
lcd.print (összesen);
először = 0, második = 0;
pozitív = 0;
szünet;
eset '/':
első = (összesen! = 0? összesen: első);
lcd.setCursor (pozitív, 0);
lcd.print ("/");
pozitív ++;
second = SecondNumber (); lcd.setCursor (1, 1);
második == 0? lcd.print ("Hiba"): összesen = (úszó) első / (úszó) második;
lcd.print (összesen);
először = 0, második = 0;
pozitív = 0;
szünet;
„C” eset:
összesen = 0;
első = 0;
második = 0;
pozitív = 0;
lcd.clear ();
szünet; }
}
hosszú Második szám () {
míg (1) {
customKey = customKeypad.getKey ();
if (customKey> = '0' && customKey <= '9') {
második = második * 10 + (customKey - '0');
lcd.setCursor (pozitív, 0);
lcd.print (második); }
if (customKey == 'C') {
összesen = 0;
első = 0;
második = 0;
pozitív = 0;
lcd.clear ();
szünet; }
if (customKey == '=') {
lcd.setCursor (0, 1);
lcd.print ("=");
posit = összesen;
lcd.clear ();
lcd.setCursor (0, 1);
lcd.print ("=");
szünet; }
}
visszatérés második;}
8. lépés: Eredmény
Remélem, mindenki élvezte ezt az oktathatót. Köszönöm, hogy elolvasta!
Saim.
Ajánlott:
3D nyomtatott kamera gimbal (Tinkercad verseny): 6 lépés
3D nyomtatott kamera gimbal (Tinkercad Contest): Helló! A fő kardántengely ebből a tégely fogantyúból és egy ötkarikás gimbalból / giroszkópból készült, amelyeket már nem találok. A Tinkercad design itt található. Ezt úgy tervezték, hogy működjön egy hatalmon
DIY VR futópad- Basys3 FPGA-Digilent verseny: 3 lépés
DIY VR futópad- Basys3 FPGA-Digilent verseny: Szeretnél olyan VR futópadot építeni, amelyen futtathatod az asztali alkalmazásokat és játékokat? Akkor a megfelelő helyre jöttél! A hagyományos játékoknál az egeret és a billentyűzetet használod, hogy kölcsönhatásba lépj a környezettel. Ezért el kell küldenünk a
Harvest Drawers - NASA Growing Beyond Earth Verseny nevezés: 5 lépés (képekkel)
Harvest Drawers - NASA Growing Beyond Earth Verseny nevezése: Összefoglaló: A nemzetközi űrállomás fedélzetén az űrhajósoknak nincs sok helyük élelmiszerek termesztésére. Ezt a hidroponikus kertet úgy tervezték, hogy hatékonyan működjön a minimális helyigény mellett 30 növény betakarítására, forgó ütemtervben, nulla gravitációban
Adatgyűjtő és adatmegjelenítő rendszer egy MotoStudent elektromos verseny kerékpárhoz: 23 lépés
Adatgyűjtő és adatmegjelenítő rendszer egy MotoStudent elektromos versenyautóhoz: Az adatgyűjtő rendszer olyan hardverek és szoftverek gyűjteménye, amelyek együtt dolgoznak annak érdekében, hogy adatokat gyűjtsenek a külső érzékelőkből, tárolják és feldolgozzák, hogy grafikusan megjeleníthetők és elemezhetők legyenek, lehetővé teszi a mérnökök számára, hogy
Fpga vezérelt RC szervomotoros robotkar - Digilent verseny: 3 lépés
Fpga vezérelt RC szervomotoros robotkar - Digilent verseny: FPGA vezérelt szervomotoros robotkar Ennek a projektnek az a célja, hogy olyan programozható rendszert hozzon létre, amely forrasztási műveleteket végezhet a perforációs táblán. A rendszer a Digilent Basys3 fejlesztőlapra épül, és képes lesz a forrasztásra