Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kagamitan
- Hakbang 2: Pagkonekta sa 4x4 Keypad
- Hakbang 3: Magbigay ng Lakas sa Breadboard at Ikonekta ang LCD
- Hakbang 4: Ikonekta ang Lakas at Ground sa LCD
- Hakbang 5: Pagkonekta sa Potentiometer
- Hakbang 6: Pagkonekta sa Arduino sa LCD
- Hakbang 7: Ipatupad ang Code
- Hakbang 8: Resulta
Video: Calculator TinkerCad Contest: 8 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Hey, kaya kamakailan lamang ay pagtuklas ko kung paano ipatupad ang iba't ibang mga uri ng code sa isang circuit. Nalaman ko na ang paggawa ng isang calculator ay magiging isang mahusay na paraan upang ipatupad ang "kaso" at iba pang mga form ng code na nakita kong kawili-wili. Mayroon akong nakaraang mga calculator na diretso mula sa code, ngunit ang paggawa ng isang circuit para dito ay nagbigay sa akin ng interes. Lalo na sa oras na ito ng kuwarentenas kung nasaan ako sa aking computer halos buong araw. Ang proyekto ay upang ipatupad ang mga pagpapatakbo ng matematika sa isang LCD screen.
Hakbang 1: Mga Kagamitan
Para sa Circuit:
- LCD 16 x 2
- Arduino Uno R3
- Keypad 4x4
- Maliit na Breadboard
- Potensyomiter (250 kΩ)
- Resistor (1kΩ)
- x26 Mga wire ng Jumper
Hakbang 2: Pagkonekta sa 4x4 Keypad
Ikonekta ang 4 na mga row pin sa 4x4 keypad sa Arduino pin 4-7, at ikonekta ang 4 na mga pin ng haligi sa mga pin ng Arduino 0-3.
Hakbang 3: Magbigay ng Lakas sa Breadboard at Ikonekta ang LCD
Gumamit ako ng boltahe ng kuryente na 5 para sa breadboard. Ikinonekta ko ang lakas at lupa sa breadboard. Ang LCD ay nakalagay sa breadboard, at inilagay sa gayon ang lahat ng mga pin nito ay nakakakonekta sa breadboard.
Hakbang 4: Ikonekta ang Lakas at Ground sa LCD
Magkakaroon ng 3 mga pin ng lupa na kinakailangan upang maiugnay sa LCD. Ang isa ay makokonekta sa lupa sa sarili nitong LCD, ang isa pa ay makakonekta sa LED ng LCD, at ang huli ay makakonekta sa RW. Ang VCC ng LCD at nangunguna ay mangangailangan ng lakas upang maiugnay. Gayunpaman ang kapangyarihan para sa LED ay mangangailangan ng isang risistor na konektado sa kasong ito Gumamit ako ng isang 1kΩ risistor.
Hakbang 5: Pagkonekta sa Potentiometer
Ikonekta ang potensyomiter sa breadboard na may 3 mga libreng haligi. Magkakaroon ito ng 3 mga pin, ang haligi na naglalaman ng terminal na 1 pin ay mangangailangan ng lupa na ibinigay dito. Ang haligi na naglalaman ng terminal 2 pin ay mangangailangan ng lakas na ibinigay dito. Pagkatapos ang wiper ay magkakaroon ng jumper wire sa haligi nito na kumokonekta sa VO ng LCD.
Hakbang 6: Pagkonekta sa Arduino sa LCD
Ang mga pin na 8-13 sa Arduino ay makakonekta sa LCD. Ang mga pin na 8-11 sa Arduino ay kumokonekta sa D8 (7-4) ayon sa pagkakabanggit. Pagkatapos ang pin 12 ng Arduino ay makakonekta sa Paganahin ang LCD, at ang pin 13 sa Arduino ay kumokonekta sa rehistro ng LCD.
Hakbang 7: Ipatupad ang Code
Kakailanganin ang code upang magamit ang mga pagpapatakbo ng matematika gamit ang keypad at LCD. Ang sumusunod ay ang code na ginamit ko, subalit ang maramihang mga pagbabago ay maaari pa rin akong ipatupad upang gawing mas malinis at mas mahusay ito. Kaya huwag mag-atubiling maglaro dito nang kaunti.
# isama ang # isama
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
mahaba muna = 0;
mahabang segundo = 0;
doble na kabuuan = 0;
int posit = 0;
char pasadyaKey;
const byte ROWS = 4;
const byte COLS = 4;
char key [ROWS] [COLS] = {
{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'}};
byte rowPins [ROWS] = {7, 6, 5, 4};
byte colPins [COLS] = {3, 2, 1, 0};
Keypad customKeypad = Keypad (makeKeymap (key), rowPins, colPins, ROWS, COLS);
walang bisa ang pag-setup () {
lcd.begin (16, 2);
lcd.setCursor (5, 0);
lcd.clear (); }
void loop () {
pasadyaKey = pasadyaKeypad.getKey ();
lumipat (customKey) {
case '0'… '9':
lcd.setCursor (0, 0);
una = una * 10 + (customKey - '0');
lcd.print (una);
posit ++;
pahinga;
kaso '+':
una = (kabuuan! = 0? kabuuan: una);
lcd.setCursor (posit, 0);
lcd.print ("+");
posit ++;
pangalawa = PangalawaBilang ();
kabuuan = una + segundo;
lcd.setCursor (1, 1);
lcd.print (kabuuang);
una = 0, pangalawa = 0;
posit = 0;
pahinga;
kaso '-':
una = (kabuuan! = 0? kabuuan: una);
lcd.setCursor (posit, 0);
lcd.print ("-");
posit ++;
pangalawa = PangalawaBilang ();
kabuuan = una - pangalawa;
lcd.setCursor (1, 1);
lcd.print (kabuuang);
una = 0, pangalawa = 0;
posit = 0;
pahinga;
kaso '*':
una = (kabuuan! = 0? kabuuan: una);
lcd.setCursor (posit, 0);
lcd.print ("*");
posit ++;
pangalawa = PangalawaBilang ();
kabuuan = una * segundo;
lcd.setCursor (1, 1);
lcd.print (kabuuang);
una = 0, pangalawa = 0;
posit = 0;
pahinga;
kaso '/':
una = (kabuuan! = 0? kabuuan: una);
lcd.setCursor (posit, 0);
lcd.print ("/");
posit ++;
pangalawa = PangalawaBilang (); lcd.setCursor (1, 1);
pangalawa == 0? lcd.print ("Error"): total = (float) muna / (float) pangalawa;
lcd.print (kabuuang);
una = 0, pangalawa = 0;
posit = 0;
pahinga;
kaso 'C':
kabuuan = 0;
una = 0;
pangalawa = 0;
posit = 0;
lcd.clear ();
pahinga; }
}
mahabang SecondNumber () {
habang (1) {
pasadyaKey = pasadyaKeypad.getKey ();
kung (customKey> = '0' && customKey <= '9') {
pangalawa = pangalawa * 10 + (customKey - '0');
lcd.setCursor (posit, 0);
lcd.print (pangalawa); }
kung (customKey == 'C') {
kabuuan = 0;
una = 0;
pangalawa = 0;
posit = 0;
lcd.clear ();
pahinga; }
kung (customKey == '=') {
lcd.setCursor (0, 1);
lcd.print ("=");
posit = kabuuan;
lcd.clear ();
lcd.setCursor (0, 1);
lcd.print ("=");
pahinga; }
}
ibalik ang pangalawa;}
Hakbang 8: Resulta
Inaasahan kong nasiyahan kayong lahat sa pagtuturo na ito. Salamat sa pagbabasa!
Saim.
Inirerekumendang:
3D Printed Camera Gimbal (Tinkercad Contest): 6 na Hakbang
3D Printed Camera Gimbal (Tinkercad Contest): Kumusta, Ito ay isang camera gimbal na dinisenyo ko sa Tinkercad. Ang pangunahing gimbal ay ginawa mula sa This Jar Handle at isang limang ring gimbal / gyro na tila hindi ko na makita. Ang disenyo ng Tinkercad ay matatagpuan Dito. Ito ay dinisenyo upang gumana sa isang Powers
DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 Hakbang
DIY VR Treadmill- Basys3 FPGA-Digilent Contest: Gusto mo bang bumuo ng isang VR Treadmill kung saan maaari mong patakbuhin ang iyong mga application at laro sa desktop? Pagkatapos ay nakarating ka sa tamang lugar! Sa mga maginoo na laro ginagamit mo ang mouse at keyboard upang makipag-ugnay sa kapaligiran. Samakatuwid, kailangan naming ipadala ang
Mga Drawer ng Harvest - NASA Lumalagong lampas sa Earth Contest Entry: 5 Hakbang (na may Mga Larawan)
Mga Harvest Drawer - NASA Lumalagong lampas sa Earth Contest Entry: Buod: Sakay sa international space station, ang mga astronaut ay walang gaanong silid para sa lumalagong pagkain. Ang hydroponic hardin na ito ay dinisenyo upang gumana nang mahusay gamit ang minimum na halaga ng puwang upang anihin ang 30 mga halaman sa isang umiikot na iskedyul sa isang zero-gravi
Kinokontrol ng Fpga RC Servo Motor Robot Arm - Digilent Contest: 3 Hakbang
Fpga Controlled RC Servo Motor Robot Arm - Digilent Contest: Kinokontrol ng FPGA servo motor robot arm Ang layunin ng proyektong ito ay upang lumikha ng isang maipaprograma na system na maaaring magsagawa ng mga pagpapatakbo ng paghihinang sa perf board. Ang sistema ay batay sa Digilent Basys3 development board at ito ay may kakayahang maghinang co
WALTER (Arduino Contest): 5 Hakbang (na may Mga Larawan)
WALTER (Arduino Contest): Pls Vote me for Arduino Contest 2017 [Mangyaring patawarin ang aking Ingles] Gusto ko talaga ang sikat na set-up ng 2 servos arduino insekto sa youtube. Kapag tiningnan ko ito, palagi kong naaalala ang ginawa ng mga BEAM robotic guys bago pa naging paborito ang set-up na iyon. Ang mga ito