Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino-Rechner

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
RGB-LCD-Abschirmungskit, 16x2-Zeichenanzeige
× 1
Jumper (generisch)
× 1
9-V-Batterie (generisch)
× 1
Breadboard (generisch)
× 1

Über dieses Projekt

Am Ende dieses Projekts werden Sie wissen, wie man ein 16x2 LCD und eine Tastatur mit Arduino verwendet und wie einfach es ist, sie mit den leicht verfügbaren Bibliotheken zu programmieren. Sie werden auch verstehen, wie Sie Ihren Arduino für die Ausführung einer bestimmten Aufgabe programmieren.

Benötigte Materialien:

  • Arduino Uno (Jede Version funktioniert)
  • 16×2-LCD-Display
  • 4×4-Tastatur
  • 9-V-Batterie
  • Breadboard und Verbindungskabel

D0

1. Pin der Tastatur

D1

2. Pin der Tastatur

D2

3. Pin der Tastatur

D3

4. Pin der Tastatur

D4

5. Pin der Tastatur

D5

6. Pin der Tastatur

D6

7. Pin der Tastatur

D7

8. Pin der Tastatur

D8

Auswahl des LCD-Pins registrieren (Pin 4)

D9

Enable-Pin des LCD (Pin 6)

D10

Daten-Pin 4 (Pin 11)

D11

Daten-Pin 4 (Pin 11)

D12

Daten-Pin 4 (Pin 11)

D13

Daten-Pin 4 (Pin 11)

+5V

Verbunden mit Vdd-Pin des LCD (Pin 2)

Boden

Verbunden mit Vss-, Vee- und RW-Pin des LCD (Pin 1, 3 und 5)

Einige Arduino-Boards können beim Hochladen des Programms einen Fehler anzeigen, wenn etwas mit Pin 0 und Pin 1 verbunden ist. Wenn Sie also irgendwelche feststellen, entfernen Sie einfach die Tastatur während des Hochladens des Programms.

Sobald Ihre Verbindungen hergestellt sind, sieht Ihre Hardware wie folgt aus

Code

  • Unbenannte Datei
Unbenannte DateiArduino
* * Arduino Keypad-Rechner-Programm */#include  //Header-Datei für LCD von https://www.arduino.cc/en/Reference/LiquidCrystal#include  //Header Datei für Keypad von https://github.com/Chris--A/Keypadconst byte ROWS =4; // Vier Zeilenconst Byte COLS =4; // Drei Spalten// Definiere die Keymapchar-Schlüssel[ROWS][COLS] ={ {'7','8','9','D'}, {'4','5','6',' C'}, {'1','2','3','B'}, {'*','0','#','A'}};byte rowPins[ROWS] ={ 0, 1, 2, 3 }; // Tastatur ROW0, ROW1, ROW2 und ROW3 mit diesen Arduino-Pins verbinden.byte colPins[COLS] ={ 4, 5, 6, 7 }; // Verbinden Sie die Tastatur COL0, COL1 und COL2 mit diesen Arduino-Pins.Keypad kpd =Keypad (makeKeymap(keys), rowPins, colPins, ROWS, COLS); // Erstellen Sie die Keypadconst int rs =8, en =9, d4 =10, d5 =11, d6 =12, d7 =13; // Pins, an die das LCD angeschlossen istLiquidCrystal lcd (rs, en, d4, d5, d6, d7); lang Zahl1,Zahl2,Zahl; char-Taste,Aktion; boolesches Ergebnis =false; Void setup () {lcd.begin (16, 2); // Wir verwenden ein 16 * 2 LCD-Display lcd.print ("DIY Calculator"); //Eine Intro-Nachricht anzeigen lcd.setCursor(0, 1); // setze den Cursor auf Spalte 0, Zeile 1 lcd.print("-CircuitDigest"); // Anzeige einer Intro-Nachrichtverzögerung (2000); // Warten Sie, bis die Anzeige die Informationen anzeigt lcd.clear(); // Dann säubern}void loop () { key =kpd.getKey (); //Wert der gedrückten Taste in einem charif speichern (key!=NO_KEY)DetectButtons();if (result==true)CalculateResult();DisplayResult(); }void DetectButtons() {lcd.clear(); //Dann reinigen Sie es if (key=='*') //Wenn der Abbrechen-Button gedrückt wird {Serial.println ("Button Cancel"); Zahl=Zahl1=Zahl2=0; result=false;} if (key =='1') //Wenn Taste 1 gedrückt wird {Serial.println ("Taste 1"); if (Zahl==0) Zahl=1; sonst Zahl =(Zahl*10) + 1; //Zweimal gedrückt} if (Taste =='4') //Wenn Taste 4 gedrückt wird {Serial.println ("Taste 4"); if (Zahl==0) Zahl=4; sonst Zahl =(Zahl*10) + 4; //Zweimal gedrückt} if (Taste =='7') //Wenn Taste 7 gedrückt wird {Serial.println ("Taste 7"); if (Zahl==0) Zahl=7; sonst Zahl =(Zahl*10) + 7; // Zweimal gedrückt} if (Taste =='0') {Serial.println ("Button 0"); // Taste 0 wird gedrückt, wenn (Zahl ==0) Zahl =0; sonst Zahl =(Zahl*10) + 0; //Zweimal gedrückt} if (Taste =='2') //Taste 2 wird gedrückt {Serial.println ("Taste 2"); wenn (Zahl==0) Zahl=2; sonst Zahl =(Zahl*10) + 2; // Zweimal gedrückt} if (Taste =='5') {Serial.println ("Button 5"); if (Zahl==0) Zahl=5; sonst Zahl =(Zahl*10) + 5; // Zweimal gedrückt} if (Taste =='8') {Serial.println ("Button 8"); if (Zahl==0) Zahl=8; sonst Zahl =(Zahl*10) + 8; // Zweimal gedrückt} if (key =='#') {Serial.println ("Button Equal"); Zahl2=Zahl; Ergebnis =wahr; } if (key =='3') {Serial.println ("Button 3"); if (Zahl==0) Zahl=3; sonst Zahl =(Zahl*10) + 3; // Zweimal gedrückt} if (Taste =='6') {Serial.println ("Button 6"); if (Zahl==0) Zahl=6; sonst Zahl =(Zahl*10) + 6; // Zweimal gedrückt} if (Taste =='9') {Serial.println ("Button 9"); if (Zahl==0) Zahl=9; sonst Zahl =(Zahl*10) + 9; //Zweimal gedrückt} if (Taste =='A' || Taste =='B' || Taste =='C' || Taste =='D') //Erkennen von Schaltflächen in Spalte 4 { Num1 =Number; Zahl =0; if (key =='A') {Serial.println ("Addition"); action ='+';} if (key =='B') {Serial.println ("Subtraktion"); Aktion ='-'; } if (key =='C') {Serial.println ("Multiplikation"); action ='*';} if (key =='D') {Serial.println ("Entwicklung"); Aktion ='/';} Verzögerung(100); } }void CalculateResult(){ if (action=='+') Number =Num1+Num2; if (action=='-') Zahl =Num1-Num2; if (action=='*') Zahl =Num1*Num2; if (action=='/') Zahl =Num1/Num2; } ungültiges DisplayResult () {lcd.setCursor (0, 0); // setze den Cursor auf Spalte 0, Zeile 1 lcd.print(Num1); lcd.print (Aktion); lcd.print (Num2); if (result==true) {lcd.print(" ="); lcd.print(Number);} //Ergebnis anzeigen lcd.setCursor(0, 1); // setze den Cursor auf Spalte 0, Zeile 1 lcd.print(Number); //Ergebnis anzeigen}

Schaltpläne


Herstellungsprozess

  1. Nudelholz
  2. Bowling-Pin
  3. Arduino Keyboard Exploit Demo (HID) und Prävention
  4. Programmieren der Atmel AT89-Serie über Arduino
  5. Arduino Spybot
  6. Lesen des RC-Empfänger-PPM-Signals mit Arduino
  7. FlickMote
  8. Selbstgemachter Fernseher B-Gone
  9. Hauptuhr
  10. 25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno