Aan de slag met Arduino Een beginnershandleiding
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 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 kan 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-scherm 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 de 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: 32KB
- RAM: 2KB
- Werkspanning: 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 te gebruiken wat wordt genoemd “schilden”, of uitbreidingskaarten. Hoewel schilden niet worden behandeld in deze handleiding, zijn ze een heel handige manier om de eigenschappen 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 boodschappenlijst 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 uit te bouwen en daadwerkelijk aan de slag te gaan. Arduino "starterkits" zijn ... Lees meer.
- 1 x Arduino Uno
- 1 x USB A-B-kabel (hetzelfde als uw printer)
- 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.
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 een beetje meer geld uit te geven aan een goed exemplaar.
LEDs
LED staat voor Lichtgevende 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.
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
Een fotoresistor (photocell of Lichtafhankelijke weerstand) staat uw Arduino toe om veranderingen in licht te meten. U kunt dit bijvoorbeeld gebruiken om uw computer in te schakelen als het daglicht is.
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. Dit zijn vaak kortstondig - wat betekent dat ze alleen zijn “geperste” als je vinger ze tegenhoudt. Als je eenmaal hebt losgelaten, keren ze terug naar hun standaardstatus (“un geperste”, of uit).
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 gebruikt er een om de Monty Python te spelen “Flying Circus” themalied.
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.
Jumper Draden
Verbindingsdraden worden gebruikt om tijdelijke verbindingen tot stand te brengen tussen componenten op uw breadboard.
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 voor je Arduino om naast je computer te 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 te installeren Geïntegreerde ontwikkelomgeving (IDE).
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 > Controlepaneel.
- Navigeren naar Systeem en veiligheid > Systeem. Als het systeemvenster is geopend, opent u de Apparaat beheerder.
- Onder ports (COM & LPT), zou u een geopende poort moeten zien genoemd Arduino UNO (COMxx).
- Klik met de rechtermuisknop Arduino UNO (COMxx) > Stuurprogramma's bijwerken.
- Kiezen Blader op mijn computer naar stuurprogramma's.
- Navigeer naar en selecteer het driverbestand van de Uno met de naam ArduinoUNO.inf, gelegen in de drivers map van de Arduino Software download.
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 de .ritssluiting bestand en voer de app uit. Je kunt het naar je applicatiemap kopiëren, maar het zal prima werken vanuit je desktop of downloads mappen. U hoeft geen extra stuurprogramma's voor de Arduino UNO te installeren.
Installatie van de Arduino-software op pakket Ubuntu / Linux
Installeren gcc-avr en avr-libc:
sudo apt-get installeer 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 je meer dan één hebt geïnstalleerd.
Ga naar de Arduino-website en download de Arduino-software voor Linux. Jij kan untar en voer het uit met de volgende opdracht:
tar xzvf arduino-x.x.x-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 door de “Knipperen” voorbeeldtoepassing.
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 LED knippert voorbeeld schets: het dossier > Voorbeelden > 1.Basics > Knipperen. U zou de code voor de toepassing moeten zien openen:
Om deze code naar uw Arduino te uploaden, selecteert u het item in de Hulpmiddelen > Boord menu dat overeenkomt met uw model - Arduino Uno in dit geval.
Selecteer het seriële apparaat van uw bord uit de Hulpmiddelen > Seriële poort menu. In Windows is dit waarschijnlijk zo COM3 of hoger. Op Mac of Linux zou dit iets moeten zijn /dev/tty.usbmodem in het.
Klik ten slotte op Uploaden knop linksboven in uw omgeving. Wacht een paar seconden en je zou het moeten zien RX en TX LED's op de Arduino knipperen. Als de upload succesvol is, het bericht “Klaar met uploaden” verschijnt in de statusbalk.
Enkele seconden nadat het uploaden is voltooid, zou u het moeten zien pin 13 LED op het bord begint te knipperen. 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:
Verbind de lange poot van de LED (positieve poot, genaamd de anode) naar een 220 Ohm weerstand en dan naar digitaal pin 7. Verbind het korte been (negatieve been, genaamd de kathode) direct naar grond (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 () // zet hier je setup-code, om één keer te draaien: pinMode (7, OUTPUT); // configureer de pin als een output void loop () // zet hier je hoofdcode, om herhaaldelijk uit te voeren: digitalWrite (7, HIGH); // draai LED aan bij vertraging (1000); // wacht 1 seconde digitalWrite (7, LOW); // draai LED uit vertraging (1000); // wacht een seconde
Deze code doet verschillende dingen:
void setup (): Dit wordt elke keer dat het start gerund door de Arduino. 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 uitvoer, 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.
ongeldige lus (): Elke code in deze lus wordt keer op keer 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 pin in te stellen HIGH of LAAG - OP of UIT. 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, zou u deze van zeven naar een ander nummer veranderen. De tweede parameter moet zijn HIGH of LAAG, die aangeeft of de LED moet worden in- of uitgeschakeld.
vertraging (1.000): Het vertelt de Arduino om te wachten op een bepaalde hoeveelheid tijd in milliseconden. 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 te knipperen twee LEDs?
Een knop toevoegen
Nu dat je een LED-lamp hebt, laten we een knop toevoegen aan je circuit:
Verbind de knop zodat het kanaal in het midden van het breadboard wordt overbrugd. Verbind de rechtsboven leg naar Pin 4. Verbind de rechts onder been naar a 10k Ohm weerstand en vervolgens naar grond. Verbind de linksonder leg naar 5V.
Je vraagt je misschien af waarom een simpele knop een weerstand nodig heeft. Dit dient twee doelen. Het is een omlaag trekken weerstand - het verbindt de pin met de grond. Dit zorgt ervoor dat geen onechte waarden worden gedetecteerd en voorkomt de Arduino het denken je hebt op de knop gedrukt toen je dat niet deed. Het tweede doel van deze weerstand is als stroombegrenzer. Zonder dit zou 5V direct in de grond terechtkomen, de magische rook zou worden vrijgegeven, 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 > grond). 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; // sla de setup op van de setup van de button-status () // zet hier je setup-code, om eenmalig te draaien: pinMode (7, OUTPUT); // configureer de LED als een output pinMode (4, INPUT); // configureer de knop als een invoer ongeldige lus () // zet hier je hoofdcode, om herhaaldelijk uit te voeren: if (digitalRead (4)) delay (25); if (digitalRead (4)) // als de knop werd ingedrukt (en geen onecht signaal was) als (buttonOn) // schakelknop staat buttonOn = false; else buttonOn = true; vertraging (500); // wacht 0.5s - voer de code niet meerdere keren uit if (buttonOn) digitalWrite (7, LOW); // zet LED uit anders digitalWrite (7, HIGH); // zet LED aan
Deze code bouwt voort op wat je in het vorige gedeelte hebt geleerd. De hardwareknop die u hebt gebruikt, is een kortstondig actie. Dit betekent dat het alleen werkt als je het ingedrukt houdt. Het alternatief is een vergrendelen 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 een vergelijkbare manier als digitalWrite (), digitalRead () wordt gebruikt om de status van een punaise 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 a software weigert. Dit zorgt ervoor dat wat de Arduino denkt een knopdruk is, werkelijk was een druk op de knop, 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 buttonOn variabel. Dit schakelt de status om:
ButtonOn is waar: Stel in op false.
ButtonOn is false: Stel in op true.
Ten slotte wordt de LED uitgezet volgens de toestand die is opgeslagen in buttonOn.
Licht sensor
Laten we naar een geavanceerd project gaan. Dit project gebruikt een Lichtafhankelijke weerstand (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:
Omdat LDR's een soort weerstand zijn, maakt het niet uit in welke richting ze worden geplaatst - ze hebben geen polariteit. Aansluiten 5V aan de ene kant van de LDR. Verbind de andere kant met grond via een 1k Ohm weerstand. Verbind ook deze kant met 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 licht = 0; // sla de instellingen voor de instelling van de huidige waarde voor de lege waarde op () // plaats hier uw setup-code om één keer te worden uitgevoerd: Serial.begin (9600); // serial configureren om met de computer te praten void loop () // zet hier je hoofdcode, om herhaaldelijk uit te voeren: light = analooglees (A0); // lees en bewaar waarde van LDR // vertel de computer het lichtniveau if (light < 100) Serial.println("It is quite light!"); else if(light > 100 && licht < 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.
Het simpele als statement 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), Je zou je berichten elke 0,5 seconden 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:
Merk je iets bekends op? Dit circuit is bijna precies hetzelfde als het LED-project. Piezo's zijn zeer eenvoudige componenten - ze maken een geluid wanneer ze een elektrisch signaal krijgen. Verbind de positief leg naar digitaal pin 9 via een 220 Ohm weerstand. Verbind de negatief leg naar grond.
Hier is de code, het is heel eenvoudig voor dit project:
void setup () // zet hier je setup-code, om één keer te draaien: pinMode (9, OUTPUT); // configure piezo as output void loop () // zet hier je hoofdcode, om herhaaldelijk uit te voeren: tone (9, 1000); // piezo zoemer vertraging maken (1000); // wacht 1s noTone (9); // stop geluidsvertraging (1000); // wacht 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): Dit stopt met het produceren van geluid op de meegeleverde pin.
Probeer deze code te veranderen om een andere frequentie te produceren. Wijzig 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 het eerst 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 thuisautomatiseringsbesturingsapparatuur vanuit 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!
Ontdek meer over: Arduino, elektronica.