Aan de slag met Arduino: een beginnershandleiding

Arduino is een open-source prototype-platform voor elektronica op basis van flexibele, gebruiksvriendelijke hardware en software. Het is bedoeld voor kunstenaars, ontwerpers, hobbyisten en iedereen die geïnteresseerd is in het maken van interactieve objecten of omgevingen.

Arduino is een open-source prototype-platform voor elektronica op basis van flexibele, gebruiksvriendelijke hardware en software.  Het is bedoeld voor kunstenaars, ontwerpers, hobbyisten en iedereen die geïnteresseerd is in het maken van interactieve objecten of omgevingen.
Advertentie

Arduino is een prototype-platform voor open-source elektronica en het is een van de meest populaire ter wereld - met de mogelijke uitzondering van de Raspberry Pi Raspberry Pi: De onofficiële zelfstudie Raspberry Pi: de onofficiële zelfstudie Of je nu een pi-eigenaar bent die wil meer leren of een potentiële eigenaar van dit apparaat voor creditcardformaat, dit is geen gids die je wilt missen. Lees verder . Meer dan 3 miljoen eenheden (en nog veel meer in de vorm van klonen van derden) verkocht: wat maakt het zo goed, en wat kun je ermee doen?

Wat is Arduino?

Arduino is gebaseerd op eenvoudig te gebruiken, flexibel, hardware en software. Het is gemaakt voor kunstenaars, ontwerpers, ingenieurs, hobbyisten en iedereen met de minste belangstelling voor programmeerbare elektronica.

Arduino

Arduino detecteert de omgeving door gegevens van verschillende knoppen, componenten en sensoren te lezen. Ze kunnen invloed hebben op het milieu door LED's, motoren, servo's, relais en nog veel meer te regelen.

Arduino-projecten kunnen stand-alone zijn, of ze kunnen communiceren met software die op een computer draait (Processing is de meest populaire software hiervoor). Ze kunnen met andere Arduino's praten, Raspberry Pis Raspberry Pi: The Unofficial Tutorial Raspberry Pi: The Unofficial Tutorial Of je nu een pi-eigenaar bent die meer wil leren of een potentiële eigenaar van dit apparaat met creditcardformaat, dit is niet een gids die je wilt missen. Meer lezen, NodeMCU Maak kennis met de Arduino-moordenaar: ESP8266 Maak kennis met de Arduino-moordenaar: ESP8266 Wat als ik u heb verteld dat er een Arduino-compatibel dev-bord is met ingebouwde Wi-Fi voor minder dan $ 10? Welnu, dat is er. Meer lezen, of bijna iets anders. Lees onze vergelijking van $ 5 microcontrollers $ 5 Microcontrollers: Arduino, Raspberry Pi Zero, of NodeMCU? $ 5 Microcontrollers: Arduino, Raspberry Pi Zero of NodeMCU? Vroeger moest je, als je een computer wilde hebben, je huis opnieuw betalen om het te betalen. Nu kunt u er een krijgen voor een Abraham Lincoln. Lees Meer voor een grondige vergelijking van de verschillen tussen deze microcontrollers.

Je vraagt ​​je misschien af, waarom kies je voor de Arduino? Arduino vereenvoudigt echt het proces van het bouwen van een programmeerbaar elektronica-project, waardoor het een geweldig platform voor beginners is. Je kunt gemakkelijk aan eentje werken zonder eerdere elektronica-ervaring. Er zijn duizenden tutorials beschikbaar, en deze variëren in moeilijkheidsgraad, zodat je zeker bent van een uitdaging als je de basis onder de knie hebt.

Naast de eenvoud van Arduino is het ook goedkoop, platformonafhankelijk en open source. De Arduino Uno (het meest populaire model) is gebaseerd op Atmel's ATMEGA 16U2 microcontrollers. Er zijn veel verschillende modellen geproduceerd, die in grootte, kracht en specificaties variëren, dus neem een ​​kijkje op onze koopgids. Arduino Koopwijzer: welk bord moet je kopen? Arduino Koopwijzer: welk bord moet je kopen? Er zijn zoveel verschillende soorten Arduino-boards, dat je zou worden vergeven dat je in de war was. Welke moet je kopen voor je project? Laat ons helpen, met deze Arduino koopgids! Lees meer voor alle verschillen.

De plannen voor de borden worden gepubliceerd onder een Creative Commons-licentie, dus ervaren hobbyisten en andere fabrikanten zijn vrij om hun eigen versie van de Arduino te maken, deze mogelijk uit te breiden en te verbeteren (of gewoon helemaal kopiëren, wat leidt tot de verspreiding van lage kosten Arduino-kaarten vinden we vandaag).

Wat kun je doen met een Arduino?

Een Arduino kan ontzagwekkend veel dingen doen. Ze zijn het brein bij uitstek voor de meeste 3D-printers Ultieme beginnershandleiding voor 3D-afdrukken Ultieme beginnershandleiding voor 3D-afdrukken 3D-afdrukken moest de nieuwe 'industriële revolutie' zijn. Het heeft de wereld nog niet overgenomen, maar ik ben hier om je alles te vertellen wat je moet weten om te beginnen. Lees verder . Door hun lage kosten en gebruiksgemak hebben duizenden makers, ontwerpers, hackers en videomakers geweldige projecten gemaakt. Hier zijn slechts enkele van de Arduino-projecten die we hier bij MakeUseOf hebben gemaakt:

  • Aangepaste snelkoppelingen Maak je eigen aangepaste snelkoppelingen met een Arduino Maak je eigen aangepaste snelkoppelingen met een Arduino De nederige Arduino kan een heleboel dingen doen, maar wist je dat het een USB-toetsenbord kan emuleren? U kunt lange sneltoetsen combineren in een enkele aangepaste sneltoets, met deze eenvoudige schakeling. Lees verder
  • Elektronische D20 Sterven Roll in stijl met deze DIY Elektronische D20 Sterven Roll in stijl met deze DIY Elektronische D20 Die Wilt u iets een beetje uniek bij uw volgende gaming meetup? Bekijk deze DIY elektronische D20, met aangepaste afbeeldingen voor kritieke hits en missers. Lees verder
  • Laser Turret Pew Pew! Hoe een laser torentje te bouwen met een Arduino Pew Pew! Hoe maak je een laser torentje met een Arduino te bouwen Ben je verveeld? Kan net zo goed een lasertoren bouwen. Lees verder
  • Midi Controller Hoe maak je een MIDI-controller met een Arduino Hoe maak je een MIDI-controller met een Arduino Als een muzikant die een verzameling muziekinstrumenten en noise-boxes heeft verzameld, is de eenvoudige Arduino het perfecte hulpmiddel om een ​​aangepaste MIDI-controller te maken. Lees verder
  • Retro Gaming met een OLED-scherm Arduino Retro Gaming met een OLED-scherm Arduino Retro Gaming met een OLED-display Heb je je ooit afgevraagd hoeveel werk het kost om je eigen retro-games te schrijven? Hoe eenvoudig is Pong om te coderen voor de Arduino? Lees verder
  • Verkeerslichtregelaar Arduino Programmering voor beginners: de verkeerslichtregelaar Arduino Programmering voor beginners: de verkeerslichtregelaar Vorige week leerden we over de basisstructuur van een Arduino-programma en onderzochten we het 'knipper'-voorbeeld. Hopelijk heb je van de gelegenheid gebruik gemaakt om met code te experimenteren en de timing aan te passen. Deze keer, ... Lees meer

Wat zit er in een Arduino?

Hoewel er veel verschillende soorten Arduino-kaarten beschikbaar zijn, richt deze handleiding zich op het Arduino Uno- model. Dit is het meest populaire Arduino-bord dat er is. Dus wat maakt dit ding tikken? Dit zijn de specificaties:

  • Processor: 16 Mhz ATmega16U2
  • Flash-geheugen: 32 KB
  • Ram: 2 KB
  • Bedrijfsspanning: 5V
  • Ingangsspanning: 7-12V
  • Aantal analoge ingangen: 6
  • Aantal digitale I / O: 14 (6 van hen Pulse Width Modulation - PWM )

De specificaties lijken misschien onzin in vergelijking met je desktopcomputer, maar vergeet niet dat de Arduino een embedded apparaat is, met veel minder informatie om te verwerken dan je desktop. Het is meer dan capabel voor de meeste elektronica-projecten.

Een ander prachtig kenmerk van de Arduino is het vermogen om zogenaamde "schilden" of uitbreidingskaarten te gebruiken. Hoewel schilden niet worden behandeld in deze handleiding, zijn ze een heel handige manier om de functies en functionaliteit van je Arduino uit te breiden. De top 4 Arduino schilden om je projecten te versterken De top 4 Arduino schilden om je projecten te overkoepelen Je hebt een Arduino-starter gekocht kit, je hebt alle basisgidsen gevolgd, maar nu heb je een struikelblok geraakt - je hebt meer bits en bobs nodig om je elektronische droom te verwezenlijken. Gelukkig, als je ... Lees meer hebt.

Wat je nodig hebt voor deze gids

Hieronder vindt u een boodschappenlijstje met de componenten die u nodig heeft voor deze beginnershandleiding. Al deze componenten zouden in totaal minder dan $ 50 moeten bedragen. Deze lijst zou voldoende moeten zijn om u een goed begrip van elementaire elektronica te geven en voldoende componenten te hebben om een ​​aantal coole projecten te bouwen met deze of een andere Arduino-gids. Als u niet elk onderdeel wilt selecteren, kunt u overwegen een starterkit aan te schaffen. Wat zit er in een Arduino Starter Kit? [MakeUseOf Explains] Wat zit er in een Arduino Starter Kit? [MakeUseOf Explains] Ik heb eerder de Arduino open-source hardware hier op MakeUseOf geïntroduceerd, maar je zult meer nodig hebben dan alleen de echte Arduino om er iets van te maken en daadwerkelijk aan de slag te gaan. Arduino "starterkits" zijn ... Lees meer.

  • 1 x Arduino Uno
  • 1 x USB AB-kabel (hetzelfde als uw printer duurt)
  • 1 x breadboard
  • 2 x LED's
  • 1 x fotoweerstand
  • 1 x tactiele schakelaar
  • 1 x Piezo-luidspreker
  • 1 x 220 Ohm weerstand
  • 1 x 10k Ohm weerstand
  • 1 x 1k Ohm weerstand
  • 1 x jumper kabelset

Als u geen specifieke weerstandswaarde kunt krijgen, werkt iets dat zo dichtbij mogelijk is meestal goed.

Elektrisch componentenoverzicht

Laten we eens kijken naar wat al deze componenten precies zijn, wat ze doen en hoe ze eruit zien.

broodplank

Gebruikt om elektronische circuits te prototypen, ze bieden een tijdelijk middel om componenten met elkaar te verbinden. Breadboards zijn blokken van plastic met gaten erin, waarin draden kunnen worden gestoken. De gaten zijn gerangschikt in rijen, in groepen van vijf. Wanneer u een circuit opnieuw wilt rangschikken, trekt u de draad of een deel uit het gat en verplaatst u het. Veel breadboards bevatten twee of vier groepen gaten over de hele lengte van het bord, langs de zijkanten en zijn allemaal verbonden - deze zijn meestal voor stroomverdeling en kunnen worden gelabeld met een rode en blauwe lijn.

broodplank

Breadboards zijn uitstekend om snel een circuit te produceren. Ze kunnen erg rommelig worden voor een groot circuit, en goedkopere modellen kunnen notoir onbetrouwbaar zijn, dus het is de moeite waard om wat geld uit te geven aan een goed exemplaar.

LEDs

LED staat voor Light Emitting Diode . Ze zijn een zeer goedkope lichtbron en kunnen heel helder zijn, vooral wanneer ze bij elkaar worden geplaatst. Ze kunnen in verschillende kleuren worden gekocht, worden niet bijzonder heet en gaan lang mee. Mogelijk hebt u LED's in uw televisie, dashboard van de auto of in uw Philips Hue-lampen.

LEDs

Uw Arduino microcontroller heeft ook een ingebouwde LED op pin 13 die vaak wordt gebruikt om een ​​actie of evenement aan te geven, of gewoon om te testen.

Fotoweerstand

Met een fotoresistor ( p hotocell of Light Dependent Resistor ) kan uw Arduino veranderingen in licht meten . U kunt dit bijvoorbeeld gebruiken om uw computer in te schakelen als het daglicht is.

Fotoweerstanden

Tastbare schakelaar

Een tactiele schakelaar is eigenlijk een knop. Als u hierop drukt, wordt het circuit voltooid en verandert (meestal) van 0V naar + 5V. Arduinos kan deze verandering detecteren en dienovereenkomstig reageren. Deze zijn vaak kortstondig - wat betekent dat ze alleen maar "ingedrukt" worden als uw vinger ze tegenhoudt. Zodra je het loslaat, keren ze terug naar hun standaardstatus ("niet ingedrukt", of uit).

Tastbare schakelaar

Piezo-luidspreker

Een piëzo-luidspreker is een piepkleine luidspreker die geluid produceert van elektrische signalen. Ze zijn vaak hard en blikkerig en klinken helemaal niet als een echte spreker. Dat gezegd hebbende, ze zijn erg goedkoop en gemakkelijk te programmeren. Onze Buzz Wire Game maakt er gebruik van om het themanummer "Flying Circus" van Monty Python te spelen.

piezo

Weerstand

Een weerstand beperkt de stroom van elektriciteit. Het zijn erg goedkope componenten en een hoofdbestanddeel van zowel amateur- als professionele elektronische circuits. Ze zijn bijna altijd vereist om componenten te beschermen tegen overbelasting. Ze zijn ook nodig om kortsluiting te voorkomen als de Arduino + 5V rechtstreeks in de grond wordt aangesloten. Kortom: erg handig en absoluut noodzakelijk.

weerstanden

Jumper Draden

Verbindingsdraden worden gebruikt om tijdelijke verbindingen tot stand te brengen tussen componenten op uw breadboard.

Jumper Draden

Uw Arduino instellen

Voordat je een project start, moet je je Arduino laten praten met je computer. Hiermee kun je code schrijven en compileren om de Arduino uit te voeren, en een manier bieden om je Arduino naast je computer te laten werken.

Installatie van het Arduino softwarepakket op Windows

Ga naar de Arduino-website en download een versie van de Arduino-software die geschikt is voor uw versie van Windows. Volg na het downloaden de instructies om de Arduino Integrated Development Environment (IDE) te installeren.

Windows installatie

De installatie bevat stuurprogramma's, dus in theorie zou je goed moeten zijn om meteen te gaan. Als dat om een ​​of andere reden niet lukt, probeert u deze stappen om de stuurprogramma's handmatig te installeren:

  • Sluit uw board aan en wacht totdat Windows met de installatie van het stuurprogramma begint. Na een paar momenten zal het proces mislukken, ondanks zijn inspanningen.
  • Klik op Start Menu > Configuratiescherm .
  • Navigeer naar Systeem en Beveiliging > Systeem . Zodra het systeemvenster is geopend, opent u Apparaatbeheer .
  • Onder Poorten (COM & LPT) ziet u een open poort met de naam Arduino UNO (COMxx) .
  • Klik met de rechtermuisknop op Arduino UNO (COMxx) > Stuurprogrammasoftware updaten .
  • Kies Op mijn computer naar stuurprogramma's zoeken .
  • Navigeer naar en selecteer het driverbestand van de Uno, genaamd ArduinoUNO.inf, in de map Drivers van de Arduino Software download.

Windows installatie

Windows voltooit de installatie van het stuurprogramma vanaf daar.

Installatie van het Arduino softwarepakket op Mac OS

Download de Arduino-software voor Mac van de Arduino-website. Pak de inhoud van het ZIP- bestand uit en voer de app uit. Je kunt het naar je applicatiemap kopiëren, maar het werkt prima vanaf je desktop of downloads mappen. U hoeft geen extra stuurprogramma's voor de Arduino UNO te installeren.

Mac Setup

Installatie van de Arduino-software op pakket Ubuntu / Linux

Installeer gcc-avr en avr-libc :

sudo apt-get install gcc-avr avr-libc 

Als je al geen openjdk-6-jre hebt, installeer en configureer je dat ook:

 sudo apt-get install openjdk-6-jre sudo update-alternatives --config java 

Selecteer de juiste JRE als er meer dan één geïnstalleerd is.

Ga naar de Arduino-website en download de Arduino-software voor Linux. U kunt untar untar en voer het uit met de volgende opdracht:

tar xzvf arduino-xxx-linux64.tgz
cd arduino-1.0.1
./arduino

Ongeacht welk besturingssysteem je gebruikt, de bovenstaande instructies gaan ervan uit dat je een origineel Arduino Uno-bord van het merk hebt. Als je een kloon hebt gekocht, heb je bijna zeker drivers van derden nodig voordat het bord wordt herkend via USB.

De Arduino-software uitvoeren

Nu de software is geïnstalleerd en je Arduino is ingesteld, laten we controleren of alles werkt. De eenvoudigste manier om dit te doen is met behulp van de "Blink" voorbeeldapplicatie.

Open de Arduino-software door te dubbelklikken op de Arduino-toepassing ( ./arduino op Linux ). Controleer of het bord op uw computer is aangesloten en open vervolgens de voorbeeldscanner voor LED-knipper : Bestand > Voorbeelden > 1.Basis > Knipperen . U zou de code voor de toepassing moeten zien openen:

Arduino Knipper

Om deze code naar uw Arduino te uploaden, selecteert u het item in het menu Tools > Board dat overeenkomt met uw model - in dit geval Arduino Uno .

Arduino-bord

Selecteer het seriële apparaat van uw bord in het menu Tools > Seriële poort . In Windows is dit waarschijnlijk COM3 of hoger. Op Mac of Linux zou dit iets moeten zijn met /dev/tty.usbmodem erin.

Arduino Port

Klik ten slotte op de knop Uploaden linksboven in uw omgeving. Wacht een paar seconden en je zou de RX- en TX- LED's op de Arduino moeten zien knipperen. Als de upload geslaagd is, verschijnt het bericht "Klaar met uploaden" in de statusbalk.

Enkele seconden nadat de upload is voltooid, ziet u dat de LED- pen 13 op het bord begint te knipperen. Hartelijk gefeliciteerd! Je hebt je Arduino in gebruik.

Startersprojecten

Nu dat je de basis kent, laten we eens wat beginnersprojecten bekijken.

Knipper een LED

U hebt eerder de Arduino-voorbeeldcode gebruikt om de ingebouwde LED te laten knipperen. Dit project zal een externe LED flashen met behulp van een breadboard. Dit is het circuit:

Arduino Knipper

Verbind de lange poot van de LED (positieve poot, de anode genoemd ) met een 220 Ohm weerstand en vervolgens met digitale pin 7 . Verbind het korte been (negatieve been, de kathode genaamd) rechtstreeks met de aarde (elk van de Arduino-poorten met GND erop, naar keuze). Dit is een eenvoudig circuit. De Arduino kan deze pin digitaal besturen. Als u de pen inschakelt, gaat de LED branden. Als u deze uitschakelt, gaat de LED uit. De weerstand is nodig om de LED te beschermen tegen te veel stroom - hij zal zonder één doorbranden.

Dit is de code die je nodig hebt:

 void setup() { // put your setup code here, to run once: pinMode(7, OUTPUT); // configure the pin as an output } void loop() { // put your main code here, to run repeatedly: digitalWrite(7, HIGH); // turn LED on delay(1000); // wait 1 second digitalWrite(7, LOW); // turn LED off delay(1000); // wait one second } 

Deze code doet verschillende dingen:

void setup (): deze wordt elke keer bij het opstarten door de Arduino uitgevoerd. Hier kunt u variabelen en alles wat uw Arduino nodig heeft configureren.
pinMode (7, OUTPUT): Dit vertelt de Arduino om deze pin te gebruiken als een output, zonder deze lijn zou de Arduino niet weten wat te doen met elke pin. Dit hoeft maar één keer per pin te worden geconfigureerd en u hoeft alleen de pinnen in te stellen die u wilt gebruiken.
void loop (): Elke code in deze lus wordt herhaaldelijk herhaald, totdat de Arduino is uitgeschakeld. Dit kan grotere projecten complexer maken, maar het werkt verbazingwekkend goed voor eenvoudige projecten.
digitalWrite (7, HIGH): Dit wordt gebruikt om de pen HOOG of LAAG - AAN of UIT te zetten . Net als een lichtschakelaar, wanneer de pen HOOG is, brandt de LED. Wanneer de pen LAAG is, is de LED uit. Binnen de haakjes moet u aanvullende informatie opgeven om dit correct te laten werken. Aanvullende informatie is bekend als parameters of argumenten.

De eerste (7) is het pincode. Als u uw LED bijvoorbeeld op een andere pin hebt aangesloten, kunt u deze van zeven naar een ander nummer wijzigen. De tweede parameter moet HOOG of LAAG zijn, die aangeeft of de LED moet worden in- of uitgeschakeld.
delay (1000): het vertelt de Arduino om een ​​bepaalde tijd in milliseconden te wachten. 1000 milliseconden is gelijk aan één seconde, dus dit zorgt ervoor dat de Arduino een seconde wacht.

Als de LED eenmaal een seconde is aangezet, voert de Arduino dezelfde code uit, alleen gaat het lampje uit en wacht nog een seconde. Als dit proces is voltooid, start de lus opnieuw en wordt de LED weer ingeschakeld.

Uitdaging: probeer de tijdsvertraging aan te passen tussen het in- en uitschakelen van de LED. Wat observeer je? Wat gebeurt er als je de vertraging instelt op een heel klein aantal, bijvoorbeeld een of twee? Kun je de code en het circuit aanpassen om twee LED's te laten knipperen?

Een knop toevoegen

Nu dat je een LED-lamp hebt, laten we een knop toevoegen aan je circuit:

Arduino knop

Verbind de knop zodat het kanaal in het midden van het breadboard wordt overbrugd. Verbind de rechter bovenpoot met pen 4 . Verbind het rechteronderbeen met een weerstand van 10k Ohm en vervolgens met aarde . Verbind het linkeronderbeen met 5V .

Je vraagt ​​je misschien af ​​waarom een ​​simpele knop een weerstand nodig heeft. Dit dient twee doelen. Het is een neertrekweerstand - hij verbindt de pen met de grond. Dit zorgt ervoor dat geen onechte waarden worden gedetecteerd en voorkomt dat de Arduino denkt dat u op de knop hebt gedrukt, terwijl dat niet het geval was. Het tweede doel van deze weerstand is als stroombegrenzer. Zonder dit zou 5V rechtstreeks de grond in gaan, de magische rook zou vrijkomen en je Arduino zou sterven. Dit staat bekend als een kortsluiting, dus het gebruik van een weerstand voorkomt dat dit gebeurt.

Wanneer de knop niet wordt ingedrukt, detecteert de Arduino aarde ( pin 4 > weerstand > aarde ). Wanneer u op de knop drukt, is 5V verbonden met aarde. Arduino pin 4 kan deze verandering detecteren, omdat pin 4 nu van grond naar 5V is veranderd;

Hier is de code:

 boolean buttonOn = false; // store the button state void setup() { // put your setup code here, to run once: pinMode(7, OUTPUT); // configure the LED as an output pinMode(4, INPUT); // configure the button as an input } void loop() { // put your main code here, to run repeatedly: if(digitalRead(4)) { delay(25); if(digitalRead(4)) { // if button was pressed (and was not a spurious signal) if(buttonOn) // toggle button state buttonOn = false; else buttonOn = true; delay(500); // wait 0.5s -- don't run the code multiple times } } if(buttonOn) digitalWrite(7, LOW); // turn LED off else digitalWrite(7, HIGH); // turn LED on } 

Deze code bouwt voort op wat je in het vorige gedeelte hebt geleerd. De hardwareknop die u hebt gebruikt, is een kortstondige actie. Dit betekent dat het alleen werkt als je het ingedrukt houdt. Het alternatief is een vergrendelende actie. Dit is net als je licht- of socketschakelaars, druk eenmaal om in te schakelen, druk nogmaals om uit te schakelen. Gelukkig kan een vergrendelingsgedrag in code worden geïmplementeerd. Dit is wat de aanvullende code doet:

boolean buttonOn = false: deze variabele wordt gebruikt om de status van de knop op te slaan: AAN of UIT, HOOG of LAAG. Het heeft een standaardwaarde van false gekregen.
pinMode (4, INPUT): Net als de code die voor de LED wordt gebruikt, vertelt deze lijn de Arduino dat je een ingang (je knop) hebt verbonden met pin 4.
if (digitalRead (4)): Op dezelfde manier als digitalWrite (), wordt digitalRead () gebruikt om de status van een pin te lezen. U moet het een pincode geven (4, voor uw knop).

Nadat je op de knop hebt gedrukt, wacht de Arduino 25 ms en controleert hij nogmaals de knop. Dit staat bekend als een software-weigering . Dit zorgt ervoor dat wat de Arduino denkt een druk op de knop was, echt een druk op de knop was, en geen ruis. U hoeft dit niet te doen, en in de meeste gevallen zal het zonder het goed werken. Het is meer een best practice.

Als de Arduino zeker weet dat je echt op de knop hebt gedrukt, verandert deze de waarde van de variabele buttonOn . Dit schakelt de status om:

ButtonOn is true: ingesteld op false.
ButtonOn is false: stel in op true.

Ten slotte wordt de LED uitgeschakeld volgens de staat die is opgeslagen in buttonOn .

Licht sensor

Laten we naar een geavanceerd project gaan. Dit project gebruikt een Light Dependent Resistor (LDR) om de hoeveelheid beschikbaar licht te meten. De Arduino zal dan uw computer nuttige berichten over het huidige lichtniveau vertellen.

Dit is het circuit:

Arduino LDR

Omdat LDR's een soort weerstand zijn, maakt het niet uit in welke richting ze worden geplaatst - ze hebben geen polariteit. Verbind 5V met één kant van de LDR. Verbind de andere zijde met massa via een weerstand van 1k Ohm . Sluit ook deze zijde aan op analoge ingang 0 .

Deze weerstand werkt als een pulldown-weerstand, net als bij de vorige projecten. Een analoge pen is nodig, omdat LDR's analoge apparaten zijn en deze pinnen speciale schakelingen bevatten voor het nauwkeurig lezen van analoge hardware.

Hier is de code:

 int light = 0; // store the current light value void setup() { // put your setup code here, to run once: Serial.begin(9600); //configure serial to talk to computer } void loop() { // put your main code here, to run repeatedly: light = analogRead(A0); // read and save value from LDR //tell computer the light level if(light 100 && light< 400) { Serial.println("It is average light!"); } else { Serial.println("It is pretty dark!"); } delay(500); // don't spam the computer! } 

Deze code doet een paar nieuwe dingen:

Serial.begin (9600): Dit vertelt de Arduino dat je in serie wilt communiceren met een snelheid van 9600. De Arduino zal alles voorbereiden wat hiervoor nodig is. De snelheid is niet zo belangrijk, maar zowel je Arduino als je computer moeten dezelfde gebruiken.
analogRead (A0): dit wordt gebruikt om de waarde te lezen die uit de LDR komt. Een lagere waarde betekent dat er meer licht beschikbaar is.
Serial.println (): dit wordt gebruikt om tekst naar de seriële interface te schrijven.

De eenvoudige if- instructie verzendt verschillende strings (tekst) naar uw computer, afhankelijk van het beschikbare licht.

Upload deze code en houd de USB-kabel aangesloten (zo communiceert de Arduino en waar komt de stroom vandaan). Open de seriële monitor ( rechtsboven > Seriële monitor ). U zou uw berichten elke 0, 5 seconde moeten zien aankomen.

Wat observeer je? Wat gebeurt er als je de LDR bedekt of er een fel licht op schijnt? Kun je de code aanpassen om de waarde van de LDR over serie te printen?

Maak wat lawaai

Dit project gebruikt de Piezo-luidspreker om geluiden te maken. Dit is het circuit:

Arduino Piezo

Merk je iets bekends op? Dit circuit is bijna precies hetzelfde als het LED-project. Piezo's zijn heel eenvoudige componenten - ze maken een geluid wanneer ze een elektrisch signaal krijgen. Verbind het positieve been met digitale pen 9 via een weerstand van 220 Ohm . Verbind het negatieve been met de grond .

Hier is de code, het is heel eenvoudig voor dit project:

 void setup() { // put your setup code here, to run once: pinMode(9, OUTPUT); // configure piezo as output } void loop() { // put your main code here, to run repeatedly: tone(9, 1000); // make piezo buzz delay(1000); // wait 1s noTone(9); // stop sound delay(1000); // wait 1s } 

Er zijn slechts een paar nieuwe codefuncties hier:

toon (9, 1000): Hierdoor maakt de piezo een geluid. Er zijn twee argumenten voor nodig. De eerste is de te gebruiken pen en de tweede is de frequentie van de toon.
noTone (9): stopt het produceren van enig geluid op de meegeleverde pin.

Probeer deze code te veranderen om een ​​andere frequentie te produceren. Verander de vertraging in 1ms - wat merk je?

Waar te gaan Vanaf hier

Zoals je kunt zien, is de Arduino een gemakkelijke manier om in elektronica en software te komen. Hopelijk heb je gezien dat het eenvoudig is om eenvoudige elektronische projecten mee te bouwen. Je kunt veel complexere projecten bouwen zodra je de basisvaardigheden begrijpt:

  • Kerstlichtversieringen maken Een Arduino-project: Hoe maak je flitsende kerstlichten Ornamenten Een Arduino-project: Hoe maak je flitsende kerstlichten Ornamenten Dit is het volgende deel in onze Arduino-serie, en deze keer leren we over en gebruiken we arrays voor maak een klein kerstboomornament met verschillende knipperende reeksen. Dit zou een ... Lees meer
  • Arduino Shields om je project te overheersen De top 4 Arduino schilden om je projecten te versterken De top 4 Arduino schilden om je projecten te versterken Je hebt een Arduino-starterkit gekocht, je hebt alle basisgidsen gevolgd, maar nu heb je een struikelblok geraakt block - je hebt meer bits en bobs nodig om je elektronische droom te realiseren. Gelukkig, als je ... Lees meer hebt
  • Bouw je eigen pongspel met een Arduino Het klassieke pongspel recreëren met behulp van Arduino Het klassieke pongspel recreëren met Arduino Pong was de eerste videogame die de massamarkt bereikte. Voor de eerste keer in de geschiedenis werd het concept van een "videogame" in het ouderlijk huis gebracht, dankzij de Atari 2600 -... Lees Meer
  • Verbind uw Arduino met het internet Geef uw Arduino-project zijn eigen mini-webserver, met een Ethernet-schild Geef uw Arduino-project zijn eigen mini-webserver, met een Ethernet-schild Een tijdje geleden heb ik u laten zien hoe u een internetcontrolesysteem voor uw Arduino - maar het moest verbonden blijven met een computer via USB om de internetverbinding te behouden .... Lees meer
  • Maak een huisautomatiseringssysteem met uw Arduino-besturingsapparatuur van een Arduino: de start van domoticabesturingsapparatuur van een Arduino: de start van domotica De laatste keer heb ik u een paar manieren getoond om uw Arduino-projecten spraakgestuurd te maken via SiriProxy, OS X's ingebouwde spraakbare items en enkele Automator-scripting, of zelfs een speciale hardware-chip voor spraakherkenning. Ik ... Lees meer

Welke Arduino bezit u? Zijn er leuke projecten die je leuk vindt om te maken? Laat het gebruik weten in de comments hieronder!

In this article