Software

Strings in arduino was sind sie, wozu dienen sie und wie werden sie bei der Programmierung von freien Hardwareprojekten verwendet?

Strings in Arduino sind sehr nützliche Werkzeuge, die Sie verwenden sollten, um Ihr Board zu programmieren. Aus diesem Grund ist es wichtig zu wissen, wozu diese Funktionen dienen und welche Klassen von Strings Sie finden können.

Dazu ist es notwendig, dass Sie diesen Artikel bis zum Ende lesen, denn wir erklären Ihnen, welche Strings existieren und wie die Syntax ist, die Sie verwenden müssen, um ihre Arbeit zu verstehen.

Aber das ist noch nicht alles, Sie finden auch eine Anleitung zum richtigen Umgang mit einem String (Objekt) und eine Liste mit den besten Projekten, die Sie selbst üben können.

Was sind Strings in der Arduino-Programmierung und wozu dienen sie bei der Programmierung dieser Art von Hardware?

In der Arduino-Programmierung sind Strings Werkzeuge zum Speichern von Zeichenfolgen. Daher wird ein String nicht als Daten an sich betrachtet, sondern als eine davon abhängige Klasse. Die Endung erfolgt durch ein Nullzeichen. Darüber hinaus zeichnen sie sich dadurch aus, dass sie eine gewisse Speicherkapazität des Arduino-Boards reservieren , um einen Puffer zu schaffen und die Funktionen, die sie den Benutzern bieten, intensiv nutzen zu können .

Arten von Strings in der Arduino-Programmierung Was gibt es alles?

>Sie können verschiedene Arten von Strings finden, die in der Arduino- Programmierung verwendet werden .

Wir zeigen Ihnen jeden von ihnen im Folgenden:

Zeichenarray

Char Array sind Zeichenarrays, die in großen Textstrings verwendet werden. Das heißt, jedes Mal , wenn mit einer C ++ Sprache auf eine Schnur arbeiten , dass Ende in dem Wert 0 (\ 0), aufeinanderfolgende Speicherzusammensetzung Strukturen geschaffen, besetzt somit wenige Speicher und andernfalls ein String würde werden als char identifiziert. Beachten Sie, dass Sie immer mit einem Nullzeichen enden müssen und Sie sich auf die einzelnen Zeichen im String beziehen können.

Objekt

Wenn nicht mit großen Textmengen gearbeitet werden soll , kann ein String-Objekt verwendet werden. Diese Datenklassen verbessern die Handhabung von Zeichenketten durch Methoden, die von Benutzern verwendet werden , zwei Strings zu vergleichen, finden bestimmte Zeichen, verketten und fügen Sie Elemente auf den String, neben anderen Funktionen.

String-Operatoren

Operatoren sind Symbole, die verwendet werden, um eine bestimmte Anweisung auf String zu setzen. Auf diese Weise können Aktionen eingerichtet werden, die dazu dienen, hinzuzufügen, zu extrahieren und zu sehen, ob ein bestimmtes Zeichen in der Zeichenfolge wahr ist oder nicht.

Syntax eines Strings (char-Array) Wie sind seine Deklarationen und Nutzungsbedingungen zu verstehen?

Wenn Sie einen langen Textstring verwenden, müssen Sie ein Char Array verwenden.

Dazu zeigen wir Ihnen, wie Sie damit umgehen sollten:

Erklärungen

Die Anweisungen, die in einem String für einen String gültig sind, sind:

  • Zeichen Str1 [14]; Diese Syntax wird verwendet, um ein Array auf allgemeine Weise zu starten.
  • char Str2 [4] = {‘a’, ‘u’, ‘i’}; In diesem Fall werden zusätzliche Zeichen gesetzt, ich möchte und der Compiler fügt das Nullzeichen hinzu.
  • char Str3 [4] = {‘a’, ‘u’, ‘i’, ‘\ 0’}; Wenn Sie es vorziehen und das Nullzeichen manuell einfügen möchten, müssen Sie diese Struktur verwenden.
  • char Str4 [] = „ipap“; Sie können einen String mit einer Konstanten in einfachen Anführungszeichen initialisieren. Die IDE legt die Größe des Arrays fest.
  • char Str5 [8] = „ipaparduino“; Wenn Sie die Größe manuell einstellen und eine Konstante angeben, verwenden Sie diese Syntax.
  • char Str6 [15] = „ipaparduino“; Diese Struktur ermöglicht es Ihnen, eine größere Zeichenfolge hinzuzufügen, da ein Leerzeichen gelassen wird.

Null-Terminierung

Null-Endungen werden verwendet , um zu definieren, wo ein String endet, dazu ist es notwendig , am Ende der Funktion ein Null-Zeichen aus dem ASCII-Code einzufügen. Es kann manuell durch Schreiben von „\ 0“ oder automatisch eingefügt werden, sodass es von der Arduino IDE interpretiert wurde.

String-Arrays

Arrays werden verwendet, um Zeichenfolgen mit großen Textmengen zu konfigurieren. Auf diese Weise ist ein einfacheres Arbeiten möglich, da die Komplexität der Handhabung reduziert wird.

Erfahren Sie Schritt für Schritt, wie Sie mit einem String (Objekt) in Arduino programmieren

>Um einen String in der IDE zu verwenden, müssen Sie diesen Schritt für Schritt befolgen:

Syntax

Das erste, was Sie wissen müssen , ist, mit der Struktur eines Strings umzugehen.

Dazu müssen Sie die in einem String (Objekt) verwendete Syntax berücksichtigen:

  • Zeichenfolge (Wert)
  • Zeichenfolge (Wert, Basis)
  • String (Wert, Dezimalstellen)

Parameter

Als nächstes müssen Sie die Parameter implementieren, die in der vorherigen Syntax verwendet werden:

  • val: bezieht sich auf die Variable, die formatiert werden muss, um einen String zu erhalten. Die unterstützten Daten in diesen Parametern sind byte, char, double, float, int, long, string, unsigned int und unsigned long.
  • base: Dieser Parameter ist optional und zeigt die Basis an, in der die Variable formatiert werden soll. Er ist standardmäßig auf Basis 10 eingestellt, kann aber auch auf hexadezimalen und binären Basen verwendet werden. Beispiel: String (14, HEX) und String (13, BIN).
  • Dezimalstellen: Wenn als Werte Floating- oder Double-Daten verwendet werden, muss die Dezimalstelle eingestellt werden.

Eigenschaften

Schließlich müssen Sie die Funktionen in den String integrieren.

Die in der Arduino-IDE verwendeten Funktionen sind:

  • charAt(): Diese Funktion wird verwendet, um auf ein bestimmtes Element des Strings zuzugreifen.
  • comparateTo(): Mit diesem Tool können Sie zwei Strings vergleichen und auf diese Weise feststellen, ob sie gleich sind oder nicht.
  • concat (): Wenn Sie der Zeichenfolge ein Element oder einen Parameter hinzufügen müssen, müssen Sie diese Funktion verwenden.
  • c_str (): Diese Variable wird verwendet, wenn Sie einen String in einen String vom Typ C konvertieren müssen.
  • endWith(): Wird verwendet, um zu überprüfen, ob eine bestimmte Zeichenfolge mit einem bestimmten Zeichen endet.
  • equals (): Sie können diese Funktion verwenden, um zwei Strings zu vergleichen und sie haben Gleichheit gefunden.
  • equalsIgnoreCase (): Wie die vorherige Funktion wird diese Variable verwendet, um zwei Strings zu vergleichen, aber nicht zwischen Groß- und Kleinschreibung.
  • getBytes(): erlaubt Ihnen, Zeichen aus einem String zu kopieren.
  • index of(): Diese Funktion wird für einen String verwendet, wenn Sie nach einem String oder einem Wert innerhalb eines Strings suchen müssen.
  • lastIndexOf (): wird verwendet, um ein Zeichen oder eine Zeichenfolge zu finden.
  • Länge (): Wenn ich die Länge der Zeichenfolge wissen muss, müssen Sie diese Funktion verwenden.
  • remove(): Zeichen entfernen oder ändern.
  • replace(): Sie können innerhalb einer Zeichenfolge ein Zeichen durch ein anderes ersetzen.
  • Reserve(): Mit dieser Funktion können Sie einen Puffer zum Speicher des Boards aufbauen und auf diese Weise mit Prozessen arbeiten, ohne die Leistung der Hardware zu beeinträchtigen.
  • setCharAt (): wird verwendet, um ein Zeichen einzubetten.
  • beginnt mit (): Diese Salbung ist dadurch gekennzeichnet, dass überprüft wird, ob eine Zeichenfolge mit einem bestimmten Element beginnt.
  • substring(): Der Name sagt alles, diese Funktion wird verwendet, um einen Teilstring innerhalb eines Strings zu erhalten.
  • toCharArray(): ermöglicht es Ihnen, Zeichen in den ausgewählten Puffer zu kopieren, um Platz im Speicher zu haben.
  • toDouble(): Wenn der String gültig ist, kann er verwendet werden, um ihn zu duplizieren.
  • toInt(): Ein String kann in eine ganze Zahl umgewandelt werden, solange er gültig ist.
  • toFloat(): schafft es, einen String in ein Float-Zeichen umzuwandeln.
  • toLowerCase(): Wenn der String in Großbuchstaben geschrieben ist und in Kleinbuchstaben umgewandelt werden muss, sollte diese Funktion verwendet werden.
  • toUpperCase(): Dies ist die umgekehrte Situation zur vorherigen Funktion.
  • trim(): Sie können dieses Werkzeug verwenden, um einen Leerraum am Anfang oder am Ende der String-Version zu erhalten.

Liste der besten mit Strings programmierten Projekte, die Sie selbst üben können

Wir zeigen Ihnen im Folgenden die besten Projekte, die Sie mit Strings selbst programmieren können.

Lass uns anfangen:

Gerät mit schneller Reaktion

>Mit einem Arduino UNO-Board, einem Druckknopf, einem Steckbrett, einem LED-Bildschirm, einem für die Installation erforderlichen 10k-Widerstandssatz können Sie einen Bildschirm erstellen, in dem Sie eine Frage eingeben und eine zufällige Antwort erhalten. Um die Fragen und Antworten einzubinden, muss der String verwendet werden.

Die Codes, die Sie verwenden sollten:

#include <SPI.h> 
#include <Wire.h> 
#include <Adafruit_GFX.h> 
#include <Adafruit_SSD1306.h>



Nun müssen Sie die Variablen einbinden und auf der Bildschirmanzeige konfigurieren:

#define SCREEN_WIDTH 128 
#define SCREEN_HEIGHT 32 
#define STRING_ARRAYSIZE 10 
// Deklaration für ein SSD1306-Display verbunden mit I2C (SDA, SCL-Pins) - Arduino UNO: A4 (SDA - Data), A5 (SCL - Clock) 
#define OLED_RESET 4 / / Reset Pin # (oder -1 wenn Arduino Reset Pin geteilt) 
Adafruit_SSD1306 Display (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);





Legen Sie die Schaltflächenvariablen fest:

const int buttonPin = 2; 
int buttonState = 0; 
int lastButtonState = 0; 
int randomNumber = 0; 
String mainText = "Fragen"; 
Void setup () { 
// Serielles Setup 
beginnen (9600); 
// OLED-Setup 
// SSD1306_SWITCHCAPVCC = Displayspannung intern aus 3.3V generieren 
if (! display.begin (SSD1306_SWITCHCAPVCC, 0x3C)) {// Adresse 0x3C für 128x32 
println (F ("SSD1306 Zuweisung fehlgeschlagen")); 
zum (;;); // Nicht fortfahren, Endlosschleife 
} 
displayTextOnOLED (mainText); 
// PIN für die 
Tasteneinrichtung PinMode (buttonPin, INPUT); 
// Wenn der analoge Eingangspin 0 nicht verbunden ist, zufälliges Analog


















// Rauschen führt dazu, dass der Aufruf von randomSeed () 
jedes Mal, wenn der Sketch ausgeführt wird, // verschiedene Startnummern generiert . 
// randomSeed() mischt dann die Zufallsfunktion. 
randomSeed (analogRead (0)); 
} 
// Zweck ist es, den Tastenzustand zu hören 
// und wenn die OLED gedrückt wird, um einen anderen Text anzuzeigen 
// beim Loslassen, um das Setup anzuzeigen () text 
void loop () { 
// den Zustand des 
Tastenwerts lesen: buttonState = digitalRead (buttonPin); 
if (buttonState! = lastButtonState) { 
if (buttonState == HIGH) { 
displayTextOnOLED (randomText ()); 
aufrechtzuerhalten. 
Sonst { displayTextOnOLED (mainText); 
} 
} 
lastButtonState = buttonState;



















} 
Hohlraum displayTextOnOLED (String str) { 
clearDisplay (); 
setTextSize (2); // 2X-skalierten Text 
zeichnen setTextColor (SSD1306_WHITE); 
setCursor (0,0); 
println (str); 
Anzeige (); // Anfangstext anzeigen 
}








Verwenden Sie die Zeichenfolge:

String randomText (void) { 
Stringtexte [STRING_ARRAYSIZE] = {"Da", "Nu", "Nu stiu!", "Nu vreau!", "Du-te naibii!", "Varule", "Te pup!" , "Sigur!", "Sigur ca nu!", "Nah!"}; 
if (buttonState! = lastButtonState) { 
randomNumber = random (1, 10); 
Rückgabetexte [randomNumber]; 
} Else { 
Rückgabetexte [randomNumber]; 
} 
}







Radarstation

>In diesem Projekt benötigen Sie ein Arduino-Board, einen HC-SR04- Ultraschallsensor , einen Servomotor, Kabel und einen 10k-Widerstand. Sie müssen den Sensor an die Pins 10 und 11 der Platine anschließen und dann das Servo an die Pinnummer 12.

Als nächstes müssen Sie diese Codes mit Strings eingeben:

#include <Servo.h>. 
const int trigPin = 10; 
const int echoPin = 11; 
Lange Dauer; 
int-Abstand;




Um den Servomotor zu steuern, müssen Sie ein Servo-Objekt erstellen:

MyServo-Servo; 
Void setup () { 
pinMode (trigPin, OUTPUT); 
Ausgang PinMode (echoPin, INPUT); 
beginnen (9600); 
befestigen (12); 
} 
Leere Schleife () {







Stellen Sie den Drehradius des Servomotors zwischen 15 und 165 Grad ein:

für (int i = 15; i <= 165; i ++) {
schreiben (i);
Verzögerung (30);
Distanz = berechneDistance ();
drucken (i);
drucken (",");
Druck (Abstand);
drucken (".");
}
für (int i = 165; i> 15; i -) {
schreiben (mich);
Verzögerung (30);
Distanz = berechneDistance ();
drucken (i);
drucken (",");
Druck (Abstand);
drucken (".");
}
}
Int calculateDistance () {
digital (trigPin, LOW);
VerzögerungMikrosekunden (2);
digitalWrite (trigPin, HIGH);

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button