Inhoudsopgave:
- Benodigdheden
- Stap 1: Schema's
- Stap 2: Installatie van bibliotheek:
- Stap 3: Broncode:
- Stap 4: Werken:
Video: Arduino-rekenmachine met 4X4-toetsenbord - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
In deze tutorial zullen we onze eigen rekenmachine bouwen met Arduino. De waarden kunnen worden verzonden via een toetsenbord (4×4 toetsenbord) en het resultaat kan worden bekeken op een LCD-scherm. Deze rekenmachine kan eenvoudige bewerkingen zoals optellen, aftrekken, vermenigvuldigen en delen met hele getallen uitvoeren. Maar als je het concept eenmaal begrijpt, kun je zelfs wetenschappelijke functies implementeren met de ingebouwde functies van Arduino.
Benodigdheden
Arduino Uno
16 × 2 LCD-scherm
4×4 toetsenbord
Breadboard
Startkabels
Arduino-kabel
Stap 1: Schema's
Stap 2: Installatie van bibliotheek:
Zoals eerder verteld, gaan we een LCD en toetsenbord koppelen aan Arduino met behulp van bibliotheken. Dus laten we ze eerst toevoegen aan onze Arduino IDE. De bibliotheek voor LCD is standaard al in uw Arduino opgenomen, dus daar hoeven we ons geen zorgen over te maken. Voor toetsenbordbibliotheek (klik op de link om deze te downloaden van Github). U krijgt een ZIP-bestand en voegt deze lib vervolgens toe aan Arduino via Sketch -> Include Library -> Add. ZIP-bestand en verwijs de locatie naar dit gedownloade bestand. Als we klaar zijn, zijn we helemaal klaar om te programmeren.
Stap 3: Broncode:
/*
© Techtronic Hars
*/
#erbij betrekken
#erbij betrekken
LiquidCrystal-lcd (0, 1, 2, 3, 4, 5);
const byte RIJEN = 4; constbyte COLS = 4;
char-toetsen [ROWS] [COLS] = {
{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' *'}, {'C', '0', '=', '/'} }; byte rowPins [ROWS] = {13, 12, 11, 10}; byte colPins[COLS] = {9, 8, 7, 6};
Toetsenbord myKeypad = Toetsenbord (makeKeymap (toetsen), rowPins, colPins, RIJEN, COLS);
boolean presentValue = false;
boolean volgende = onwaar; booleaanse finale = onwaar; Tekenreeks num1, num2; int antwoord; char op;
ongeldige setup()
{ lcd.begin (16, 2); lcd.setCursor(0, 0); lcd.print("Techtronic Harsh"); lcd.setCursor(0, 1); lcd.print ("Rekenmachine"); vertraging (3000); lcd.wissen(); lcd.setCursor(0, 0); lcd.print("Vind ik leuk en"); lcd.setCursor(0, 1); lcd.print ("Abonneer ons"); vertraging (3000); lcd.wissen(); }
lege lus(){
char key = mijnKeypad.getKey();
if (key != NO_KEY && (key=='1'||key=='2'||key=='3'||key=='4'||key=='5'||key= ='6'||key=='7'||key=='8'||key=='9'||key=='0'))
{if (presentValue != true) { num1 = num1 + sleutel; int aantalLengte = aantal1.lengte(); lcd.setCursor (15 - numLength, 0); // om één witruimte aan te passen voor operator lcd.print (num1); } else { num2 = num2 + sleutel; int aantalLengte = aantal2.lengte(); lcd.setCursor (15 - numLength, 1); lcd.print(num2); definitief = waar; } }
else if (presentValue == false && key != NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))
{if (presentValue == false) { presentValue = true; op = sleutel; lcd.setCursor(15, 0); lcd.print(op); } }
else if (final == true && key != NO_KEY && key == '='){
if (op == '+'){ antwoord = num1.toInt() + num2.toInt(); } else if (op == '-'){ antwoord = num1.toInt() - num2.toInt(); } else if (op == '*'){ antwoord = num1.toInt() * num2.toInt(); } else if (op == '/'){ antwoord = num1.toInt() / num2.toInt(); } lcd.clear(); lcd.setCursor(15, 0); lcd.autoscroll(); lcd.print(antwoord); lcd.noAutoscroll(); } else if (key != NO_KEY && key == 'C'){ lcd.clear(); presentValue = onwaar; definitief = onwaar; nummer1 = ""; nummer2 = ""; antwoord = 0; op = ' '; } }
/*
© Techtronic Hars
*/
Stap 4: Werken:
Maak de aansluitingen volgens het schakelschema en upload de code. Als er een fout wordt weergegeven, zorg er dan voor dat u de bibliotheek hebt toegevoegd volgens de bovenstaande instructie.
Karakter op toetsenbord en veronderstelling:
- “A” - Toevoeging (+)
- “B” - Aftrekken (-)
- “C” - Vermenigvuldiging (*)
- “D” - Divisie (/)
- “*” - Wissen (C)
- “#” - Is gelijk aan (=)
Aanbevolen:
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
Lego 4x4 toetsenbordmatrix: 8 stappen (met afbeeldingen)
Lego 4x4 toetsenbordmatrix: hoewel ik de afgelopen weken in huis heb vastgezeten, ben ik er eindelijk in geslaagd een aantal projecten af te ronden die in mijn hoofd ronddraaiden. Ik heb de afgelopen weken Lego gebruikt als basis voor de meeste van mijn projecten
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Start uw diavoorstelling met vakantiefoto's met een vleugje magie! 9 stappen (met afbeeldingen)
Lanceer uw diavoorstelling met vakantiefoto's met een vleugje magie!: In de loop der jaren heb ik de gewoonte ontwikkeld om een klein beeldje mee te nemen op reis: ik koop vaak een kleine, lege artoy (zoals die op de foto) en verf het past bij de vlag en het thema van het land dat ik bezoek (in dit geval Sicilië). T