ArduinoPrX : Arduino Grundwissen

ArduinoPrX

Developing for the world

Friday 24th of March 2017 05:15:40 AM
Wähle eine Sprache




Arduino Grundwissen

Social
Add to Flipboard Magazine.
Inhalt




Beschreibung

In diesem Beitrag habe ich ein paar Grundinformationen gesammelt die beim einstieg oder Umgang mit einem Arduino echt nützlich sein können. Ich werde diese Sammlung nach und nach erweitern. Wer einen Fehler findet bitte sofort per Email an mich weiterleiten an die folgende Email Adresse: christian@arduinoprx.de

Konstante

KonstanteBeschreibung
HIGH Wird zum Beispiel verwendet um einen Digitalen Ausgang zu aktivieren.
LOW Wird zum Beispiel verwendet um einen Digitalen Ausgang zu deaktivieren.
INPUT Deklariert einen Pin als Eingang.
OUTPUTDeklariert einen Pin als Ausgang.
true Konstante für 1
false Konstante für 0

Datentypen

ArduinoUno-..Duemilanove..-MegaArduinoDue
TypMemoryWertMemoryWertBeispiel
int 2 Byte-32,768 bis 32,7674 Byte-2,147,483,648 bis 2,147,483,647 int b = 123;
unsigned int 2 Byte0 bis 65,535 (2^32 - 1)4 Byte0 bis 4,294,967,295 (2^32 - 1) unsigned int b = 123;
long 4 Byte-2,147,483,648 bis 2,147,483,6474 Byte-2,147,483,648 bis 2,147,483,647long b = 456;
unsigned long4 Byte0 bis 4,294,967,295 (2^32 - 1)4 Byte0 bis 4,294,967,295 (2^32 - 1) unsigned long b = 1233;
char 1 Byte-128 bis 1281 Byte-128 bis 128 char b = 'A'; oder char b = 65;
String X Byte char b[] = "Arduino";
unsigned char2 Byte0 bis 2552 Byte0 bis 255 unsigned char b = 123;
boolean 1 Byte1 oder 01 Byte1 oder 0 boolean b = false;
byte 1 byte0 bis 2551 byte0 bis 255 byte b = B101010;
word 2 Byte0 bis 655352 Byte 0 bis 65535 word b = 10000;
float 4 Byte+3.4028235E+38 // -3.4028235E+38 4 Byte+3.4028235E+38 // -3.4028235E+38 float b = 13412;
double 4 Byte+3.4028235E+38 // -3.4028235E+38 8 Byte+3.4028235E+38 // -3.4028235E+38 float b = 13412;

Bit's und Bytes

BefehlSyntaxRückgabeBeschreibung
lowByte() lowByte(x) byte Extrahiert das niederwertige Byte beginned rechts einer Variablen
highByte() highByte(x) byte Extrahiert das höherwertige Byte beginnend links eines Wortes oder das zweitniedrigste Byte eines größeren Datentyp.
bitRead() bitRead(x, n) 0 oder 1Ließt ein einzelnes Bit eines Bytes x/byte n/bit.
bitWrite()bitWrite(x, n, b) nichts Schreibt ein einzelnes Bit eines Bytes x/byte n/bit n/1 || 0.
bitSet() bitSet(x, n) nichts Setzt das angegebene Bit des angegebenen Bytes auf 1. x/byte n/bit.
bitClear()bitClear(x, n) nichts Setzt das angegebene Bit des angegebenen Bytes auf 0. x/byte n/bit.
bit() bit(n) Wert eines bits Berechnet den Wert des angegebenen Bits im Sinne seiner Wertigkeit.

Konvertierung

NameBeschreibungSyntaxParameterRückgabe
byte()Konvertiert einen beliebigen Wert in einen byte Wertbyte(x)x: ein beliebiger Wert.byte
char()Konvertiert einen beliebigen Wert in einen char Wertchar(x)x: ein beliebiger Wert.char
float()Konvertiert einen beliebigen Wert in einen float Wertfloat(x)x: ein beliebiger Wert.float
int()Konvertiert einen beliebigen Wert in einen char Wertint(x)x: ein beliebiger Wert.int
long()Konvertiert einen beliebigen Wert in einen long Wertlong(x)x: ein beliebiger Wert.long
word()Konvertiert einen beliebigen Wert in einen word Wertword(x) oder word(h,w)x: ein beliebiger Wert. h: Wert hohes Byte des Wortes w: Wert niedrige Byte des Wortesword

Strukturelles

Basis

setup()
BeschreibungDie Setup Funktion wird immer als erstes ausgeführt nachdem alle Deklarationen und Definitionen im Programm verarbeitet wurden. Man verwendet es um Variablen Werte zu initialisieren Pin-Modi zuzuweisen oder sonstige Hardware anzumelden. Die Setup Funktion wird nach jedem Reset einmal ausgeführt.
Beispiel
int buttonPin = 3;

void setup()
{
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
}
loop()
BeschreibungDie loop Funktion ist quasi das Hauptprogramm alles was in ihr steht wird immer wieder abgearbeitet. Sie folgt direkt auf die Setup Funktion.
Beispiel
void loop()
{
  if (digitalRead(buttonPin) == HIGH)
  Serial.write('H');
  else
  Serial.write('L');
  delay(1000);
}

Kontroll Strukturen

break
BeschreibungBreak wird benutzt um do, for oder while schleifen zu beenden.
Beispiel
for (int x=0; x<=255; x++) 
{
   if(g == x) { g++; break; }
} 
return
BeschreibungMir return wird eine Funktion beendet und der angegebene Wert zurück gegeben.
Beispiel
int CheckSome() {
   if(Read < 100) return 1;
   if(Read > 100) return 0; }
if
BeschreibungEine if schleife wird ausgeführt sobald eine festgelegte Bedingung erreicht wird.
Beispiel
if(x < 120)
{
   delay(50);
   x = 243;
} 
if else
BeschreibungEine if else schleife funktioniert genau wie eine if schleife aber enthält noch die Funktion etwas auszuführen wenn die Bedingung der if schleife nicht erreicht ist.
Beispiel
if(x < 120)
{
   delay(50);
   x = 243;
} 
else 
{
   Serial.write('X noch nicht erreicht');
} 
for
BeschreibungEine for schleife wird verwendet um eine bestimmte Anzahl von Durchläufen zu erhalten dessen zähl Wert in einer vorher initialisierten Variable gespeichert wird. Der Aufbau besteht aus for( Initialisierung, end- Bedingung , hoch zählen )
Beispiel
for(int i=0; i<= 255; i++)
{
   x[i] = readAny();
} 
while
BeschreibungDie while schleife wird solange ausgeführt bis eine am Start festgelegte Bedingung erreicht wurde.
Beispiel
while(x<120)
{
   delay(50);
   x = readAny();
} 
do - while
BeschreibungDie do – while schleife funktioniert genau wie eine while schleife nur mit dem unterschied das die Bedingung am Ende und nicht am Anfang abgefragt wird.
Beispiel
do
{
   delay(50);
   x = readAny();
} while (x < 100); 

Arithmetische Operatoren

NameSymbolBeispiel
Multiplikation*a = b * 7;
Addition+a = f + d; oder a++;
Subtraktion-a = f - d; oder a--;
Division/a = f / d; oder a++;
Zuweisen=a= f;

Bitweise Operatoren

NameSymbolBeschreibungBeispiel
Und&
Bit shift links<<
Bit shift rechts>>
Bitweise Xoder^
Bitweise oder|
Bitweise nicht~

Boolean Operatoren

NameSymbolBeschreibungBeispiel
Nicht (not)!Kann z.B. in einer if schleifen Bedingung benutzt werden wenn etwas ausgeführt werden soll wenn ein bestimmter Zustand nicht erreicht ist.if(f ! 10) h=9;
Und (and)&&Werden 2 Bedingungen mit und verknüpft wird die Operation erst ausgeführt wenn beide diese Bedingungen erreicht wurden.if(f == 0 && g == 1) d = 1;
Oder (or)||Werden 2 Bedingungen mit oder verknüpft wird die Operation ausgeführt sobald eine der beiden Bedingungen eintritt.if(r == 1 || f == 2) u=5;

Breadboard / Steckfeld

Mit einem Breadboard oder bzw. Steckfeld hat man sehr einfach die Möglichkeit seinen Elektronischen Schaltungen aufzubauen und zu testen. Anschließend hat man immer noch die Möglichkeit eine Platine zu erstellen.

Breadboard Steckfeld

Kommentare