Arduino 101 grunderna (3 / 7 steg)
Steg 3: variabler
I det här exemplet kommer jag att införa begreppet variabler och uttalandena som Serial.begin(), Serialprintln() och digitalRead(). Så eld upp Arduino IDE och ladda DigitalReadSerial skissen från filen à exempel à 01.Basics.
Du behöver en Arduino, en tryckknapp, ett 10Kohm motstånd, en löda mindre bakbord och några startkablar. Connect tryckknapp på bakbord som på bilden. En PIN-kod för knappen ansluter på 5v på Arduino, andra PIN-koden ansluter till motståndet sedan till GND på Arduino. Den tredje stiftet ansluter till stift 2 på Arduino.
Skiss:
int tryckknapp = 2; Digital stift 2 har en tryckknapp ansluten till den. Ge den ett namn
void setup() {
Serial.BEGIN(9600); initiera seriell kommunikation på 9600 bitar per sekund
pinMode (tryckknapp, ingång); göra tryckknappen pin-indata
}
void loop() {
int buttonState = digitalRead(pushButton); Läs in PIN-koden:
Serial.println(buttonState); skriva ut tillståndet för knappen
Delay(1); dröjsmål i mellan läser för stabilitet
}
Låt oss dissekera skissen:
int tryckknapp = 2;
int tryckknapp = 2; är en variabeldeklaration uttalande som föregår funktionen void setup(). En variabel är bröd och smör av all programmering. Det används för att lagra information som skall användas senare i koden. Vi är i detta fall att förklara att en variabel kallas tryckknapp av typ int(integer) har tilldelats digital pin nummer 2 på Arduino. Variabler som deklareras innan den ogiltiga setup() kallas globala variabler eftersom de kan användas för en funktion inom koden. Eftersom vi förklarade tryckknapp innan den ogiltiga setup(), kan denna variabel användas i den ogiltiga setup() och den ogiltiga loop(). Å andra sidan kan variabler som deklareras i en funktion, endast användas av att funktion och de kallas lokala variabler (vi kommer att se ett exempel senare).
Variabler har olika typer används för att lagra olika typer av data:
Variabeltyp storlekar
booleska 8 bitar 0 eller 1
byte 8 bitar 0 till 255
char 8 bitar nummer till 127 -128
unsigned char 8 bitar 0 till 255
int 16 bitar 32768 till 32767
unsigned int 16 bitar 0 till 65535
Word-16 bitar 0 till 65535
lång 32 bitar-2,147,483,648 till 2 147 483 647
osignerade långa 32 bitar 0 till 4,294,967,295
float (decimaltal) 32 bits - 3.4028235E + 38 till 3.4028235E + 38
dubbel 32 bits - 3.4028235E + 38 till 3.4028235E + 38
När en global variabel deklareras, kan det kallas på för en funktion med namnet valts av programmeraren (skiftlägeskänsligt). Om programmeraren beslutar att använda stift 5 på Arduino istället för 2, den enda förändringen behövs är "int tryckknapp = 5.". Det finns ingen anledning att gå igenom koden för att ersätta 2 med 5. Det är också bra kodning etik för att välja ett beskrivande namn på variabeln att lätt identifiera och har även linje kommentarer "/ /" att vidareutveckla.
void setup() {
Serial.BEGIN(9600); initiera seriell kommunikation på 9600 bitar per sekund
pinMode (tryckknapp, ingång); göra tryckknappen pin-indata
}
Serial.begin(): startar den seriella bildskärm porten och anger den hastighet som i baud per sekund. Enligt arduino.cc kan du använda en av följande hastigheter för att kommunicera med datorn 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 eller 115200. Detta är användbart att visa information på skärmen. I detta fall kommer vi Visa knappen genom att Visa 1 om knappen trycks och 0 om knappen inte är intryckt. När programmet är uppladdad till Arduino kan du starta den seriella bildskärmen genom att klicka på verktyg sedan Serial Monitor från Arduino IDE.
pinMode(pushbutton, INPUT): Ställer in läge av klämma fast definieras av den variabla tryckknappen till ingången.
void loop() {
int buttonState = digitalRead(pushButton); Läs in PIN-koden:
Serial.println(buttonState); skriva ut tillståndet för knappen
Delay(1); dröjsmål i mellan läser för stabilitet
}
En ny variabel deklareras inom den ogiltiga loop() som kallas buttonState (lokal variabel). Denna variabel är av typen int och initieras med värdet av den PIN-kod 2. Här är ett bra exempel på hur du initierar en variabel utan att använda ett nummer men med uttrycket kallas digitalRead().
digitalRead(): är ett uttalande som kan användas med nålar som sätts till ingången. Sedan stift 2 sattes till INPUT-läge, kan med hjälp av digitalRead() vi läsa värdet i detta stift. I detta fall blir värdet antingen 1 om knappen trycks eller 0 om knappen inte är intryckt. Syntaxen är digitalRead (pin # eller variabel);.
Serial.println(): Detta uttalande skriver ut värdet inom parentes på serial bildskärmen med en radbrytning. Du kan använda programsatsen Serial.print() att skriva ut utan radbrytning. I denna skiss ska värdet som lagras i variabeln buttonState skrivas.
Delay(1): detta är en försening för endast 1 millisekund används för att ge stabilitet i mellan läser