fbpx

Kurv

Arduino Project 1: LED Flashing (Arduino Begynder Kit)

Lad os kickstarte vores Arduino-eventyr! Dette projekt er baseret på vores Begynder Kit til Arduino.

I den første lektion lærer du det grundlæggende i komponenter som LED’er, knapper og modstande – inklusive pull-up og pull-down modstande.

Derudover vil du begynde at skrive Arduino-skitser for at kontrollere en LED med dit Arduino-startsæt.

LED blinker I det første projekt så vil vi bruge “Blink” -skitsen igen, men med en ordentlig LED i stedet for den indbyggede LED. På den måde kan du få en klar idé om, hvordan en LED fungerer, og hvordan de kan bruges i et kredsløb.

Nødvendige komponenter:

  • DFRduino UNO (lignende Arduino UNO R3) * 3
  • prototype Shield med Breadboard * 1
  • Jumper M / M * 2
  • Modstand 220R * 1
  • 5MM LED * 1

* Det kan være nødvendigt at du vælger en anden værdimodstand afhængigt af den LED, du vil bruge. Vi vil nævne, hvordan man beregner modstandsværdi i den sidste del af denne lektion.

** DFRduino er DF Robots signatur Arduino-bord og fungerer det samme som ethvert andet Arduino-board.

Hardware

Definitioner af DF-ledningsføring:

  • Grøn: Digitale forbindelser
  • Blå: Analoge forbindelser:
  • Rød: Vcc strømforsyning
  • Sort: GND
  • Hvid: Andet

For at bygge kredsløbet skal du tage din arduino og stable prototypeskjoldet ovenpå. Han øvre stifter skal i bunden af ​​prototype-skjoldet være på linje og glide ind i hun stifterne på arduino. Vær forsigtig med ikke at bøje dem. Skræl klæbebåndet bag fra brødbrættet af, og sæt det derefter fast på prototypeskærmen.

Du kan nu indstille kredsløbet ifølge billedet herunder. Det er standard at bruge ledninger med forskellig farvet isolering til din egen reference, men at bruge forskellige kombinationer af farver stopper ikke kredsløbet. Normalt angiver rød ledning strømforsyning (Vcc), sort ledning angiver jord (GND), grøn ledning angiver digitale stifter, blå ledning angiver analoge stifter, og hvidt er andet.

Dobbeltkontroller  retningen af ​​LED-ledninger på kredsløbet. Lysdioder er opdelte (fungerer kun, hvis de placeres i kredsløbet på den rigtige måde). LED’ets lange ben forbindes til Vcc. (I dette eksempel er pin 10) og det korte ben forbinder til GND.

Når du er færdig med kredsløbet, skal du tilslutte Arduino-controlleren og computeren med det medfølgende USB-kabel.

Arduino Sketch

Åbn Arduino IDE og indtast koden, som eksempelkode 1-1 viser. (Vi anbefaler stærkt, at du indtaster kode i stedet for at kopiere og indsætte, så du kan udvikle dine kodningsfærdigheder og lære at kode.)

Prøvekoden 1-1:

// Projekt – Blinker en LED

/ * Beskrivelse: tænd og sluk LED hver anden sekund. * / int ledPin = 10;

ugyldig opsætning () { pinMode (ledPin, OUTPUT); } void loop () { digitalWrite (ledPin, HIGH); forsinkelse (1000); digitalWrite (ledPin, LOW); forsinkelse (1000); }  Når du er færdig med at indtaste koden, skal du klikke på “Bekræft” for at kontrollere, om koden kan udarbejdes. Hvis koden ikke har nogen fejl, skal du klikke på “Upload” for at uploade kode til mikrokontrolleren. Nu skal din indbyggede LED blinke og slukke.

KODE

Kommentarer:

// Projekt – blink en LED Enhver kodelinje, der har “//” sat foran den, kompileres ikke. Arduino IDE angiver dette ved automatisk at dreje linjen med kode grå. Dette giver dig mulighed for at skrive almindelige engelske beskrivelser af den kode, du eller andre har skrevet, og gør det lettere for andre personer, der muligvis ikke er i stand til at læse kode for at forstå. Vi omtaler dette som kommentarer

Kommentarer til flere linjer:

/ * teksten mellem disse to symboler kommenteres; kompilatoren ignorerer teksten, og teksten vises grå * / I lighed med kommentarer på enkelt linje ignoreres enhver tekst mellem / * og * / af kompilatoren. Endnu en gang vil Arduino IDE gøre denne tekst grå for at vise, at den er kommenteret. Dette er en nyttig måde at kommentere kode på.

Deklarerende variabler:

At erklære variabler er en nyttig måde at navngive og gemme værdier til senere brug af programmet. Heltal (int) repræsenterer tal fra -32768 til 32767. I ovenstående eksempel har vi indtastet et heltal: 10. “LedPin” er det variabelnavn, vi har valgt. Selvfølgelig kan du have det, hvad du kan lide i stedet for ledPin, men det er bedre at navngive variablen i henhold til dens funktion. Her indikerer den variable ledPin, at LED er tilsluttet Pin-out 10 af Arduino. Brug en semikolon (;) til at afslutte erklæringen. Hvis du ikke bruger semikolonet, genkender programmet ikke erklæringen, så dette er vigtigt!

Hvad er en Variabel?

En variabel er et sted at gemme et stykke data. Det har et navn, en værdi og en type. I ovenstående eksempel er “int” (heltal) typen, “ledPin” er navnet, og “10” er værdien. I dette eksempel erklærer vi en variabel, der hedder ledPin af typen “int” (heltal), hvilket betyder, at LED’en er forbundet til den digitale pin 10. Variabler vises som orange tekst på skitsen. Heltal kan gemme numre fra -32768 til 32767. Du skal introducere eller erklære variabler, før du bruger dem. Senere i programmet kan du blot indtaste variabelnavnet i stedet for at udtaste dataene igen og igen i hver kodelinje, hvor dets værdi bliver slået op og brugt af IDE. Når du prøver at navngive en variabel, skal du starte den med et bogstav efterfulgt af bogstav, tal eller understregning. Det sprog, vi bruger (C), er store og små bogstaver. Der er visse navne, som du ikke kan bruge, såsom “main”, “if”, “while”, da disse har deres egen forudbestemte funktion i IDE. Glem ikke, at variabelnavne er store og små bogstaver!

The setup() function

Funktionen til opsætning () læses af Arduino, når en skitse starter. Den bruges til at initialisere variabler, pin-tilstande, initialisere biblioteker osv. Opsætningsfunktionen køres kun én gang efter hver opstart eller nulstilling af Arduino-tavlen. I dette eksempel er der kun en linje i opsætningsfunktionen: pinMode pinMode (ledPin, OUTPUT); Denne funktion bruges til at definere arbejdsopførsel af digital pin. Digitale ben defineres som en input (INPUT) eller en output (OUTPUT). I eksemplet ovenfor kan du se parenteser, der indeholder to parametre: variablen (ledPin) og dens opførsel (OUTPUT).

“PinMode” konfigurerer den specificerede digitale pin til at opføre sig enten som en input eller en output. Det har to parametre:

“Pin”: nummeret på den pin, hvis tilstand du ønsker at indstille

“Tilstand”: INPUT, OUTPUT eller INPUT_PULLUP.

Hvis du vil indstille den digitale pin 2 til inputtilstand, hvilken kode vil du skrive?

Funktion

Segmentering af kode i funktioner giver en programmør mulighed for at oprette modulære kodestykker, der udfører en defineret opgave og derefter vende tilbage til det kodeområde, hvorfra funktionen blev “kaldt”. Det typiske tilfælde for oprettelse af en funktion er, når man skal udføre den samme handling flere gange i et program. Der er to påkrævede funktioner i en Arduino-skitse, opsætning () og loop (). Andre funktioner skal oprettes uden for parenteserne for disse to funktioner.

Forskellen mellem INPUT og OUTPUT

INPUT er signal, der sendes fra eksterne begivenheder til Arduino, f.eks. Knap. OUTPUT er et signal, der sendes fra Arduino til miljøet såsom LED og summer.

Hvis vi ruller længere ned, kan vi se hoveddelen af ​​koden. Dette er løkken. void loop () { digitalWrite (ledPin, HIGH); forsinkelse (1000); digitalWrite (ledPin, LOW); forsinkelse (1000); } Arduino-programmet skal indeholde opsætnings- () og loop () -funktionen, ellers vil det ikke arbejde. Efter oprettelse af en opsætningsfunktion (), som initialiserer og indstiller de oprindelige værdier, gør loop () -funktionen nøjagtigt, som dens navn antyder, og sløjfer fortløbende, hvilket giver dit program mulighed for at ændre og svare. Brug det til aktivt at kontrollere Arduino-tavlen. Her ønsker vi at kontrollere LED konstant til og fra hvert andet sekund. Hvordan kan vi få det til at ske? I dette projekt ønsker vi, at LED’en skal tændes i 1 sekund og derefter slukke i 1 sekund og gentage denne handling igen og igen. Hvordan kan vi udtrykke dette i kode? Se på loop-funktionen i den første sætning. Dette involverer en anden funktion: digitalWrite (). digitalWrite (ledPin, HIGH);

Funktionsformatet er som følgende:

digitalWrite skriver en HØJ (til) eller en LAV (fra) værdi til en digital pin. Hvis stiften er konfigureret som en OUTPUT med pinMode (), indstilles dens spænding til den tilsvarende værdi: 5V (eller 3,3V på 3,3V-kort) for HØJ og 0V (jord) for LAV. Bemærk, at digitalWrite () kun anvendes under forudsætning af, at pinMode () er indstillet til OUTPUT. Hvorfor? Læs videre!

Relationen mellem pinMode, digitalWrite og digitalRead

Hvis pinMode konfigurerer en digital pin til at opføre sig som en input, skal du bruge funktionen digitalRead (). Hvis stiften er konfigureret som en output, skal du bruge digitalWrite (). BEMÆRK: Hvis du ikke indstiller pinMode () til OUTPUT og tilslutter en LED til en pin, når du ringer til digitalWrite (HIGH), kan LED’en muligvis være svag. Dette skyldes, at uden at eksplicit indstille en pin-Mode (), vil digitalWrite () aktiverer den interne pull-up-modstand, der fungerer som en stor strømbegrænsende modstand.

Hardware

Breadboard

Breadboard er en måde at konstruere og teste kredsløb uden at skulle permanent lodde dem på plads. Komponenter skubbes ind i stikkene på breadboardet, og derefter bruges ekstra “jumper” -tråde til at oprette forbindelser.

Breadboard har to søjler, hver med 17 strimler af forbindelser. I dette diagram viser de sorte streger, hvordan den øverste række er forbundet. Dette er det samme for hver anden række. De to søjler er isoleret fra hinanden.

Resistorer

Som navnet antyder, modstår modstande strømmen af ​​elektricitet. Jo højere værdien af ​​modstanden er, jo mere modstand har den, og jo mindre elektrisk strøm vil strømme gennem den. Modstandsenheden kaldes Ohm, som normalt forkortes til Ω (Det nørdige bogstav Omega). I modsætning til LED’er er modstande ikke polariserede (har ikke en positiv og negativ ledning) – de kan tilsluttes uanset hvor de er. Normalt kræver en LED 2V spænding og 35 mA strøm for at være tændt, så med en modstand på ville være i stand til at kontrollere strømmen kan du risikere at brænde den ud. Vær forsigtig med dette, fordi modstande kan blive varme.

Læs Resistor Farve ringe

Modstandsværdien markeres på den ydre pakke af dine modstande, men hvad skal vi gøre, hvis etiketten går tabt og der ikke er noget måleværktøj ved hånden? Svaret er at læse modstandsværdien. Dette er en gruppe af farvede ringe omkring modstanden. Detaljer er tilgængelige online for dem, der er interesseret i at prøve.

LED’er

En light-emitting diode (LED) er en to-leder halvleder lyskilde. Det er en grundlæggende pnjunktions diode, der udsender lys, når den er aktiveret. Typisk har lysdioder to ledninger, en positiv og en negativ. Der er to måder at fortælle, hvilken er den positive led på LED’en, og hvilken den negative: For det første er den positive ledning længere. For det andet, hvor den negative leder kommer ind i LED-kroppen, er der en flad kant til tilfældet med LED. LED’er er polariserede, så de skal tilsluttes den rigtige vej rundt. Hvis du sætter den negative ledning af en LED i strømforsyningen og den positive ledning til jorden, vil komponenten ikke forværres, som det kan ses i diagrammet til højre. I dit sæt kan du også finde lysdioder med 4 kabler. Dette er en RGB LED med 3 primære farve LED’er indlejret i den.

Call Now Button