Arduino UNO R3 Pinout-gids

Uit Private Rotor Designs
Naar navigatie springen Naar zoeken springen
Crystal Clear action run.png
DOCUMENTATION

Release status: documentation

Documents.jpg
Description
hardware
License
GPL
Author
Contributors
Based-on
Categories
CAD Models
none
External Link
none

Inleiding

In onze laatste twee berichten hebben we ons gericht op de softwareaspecten van de Arduino. We zagen dat Arduino-borden worden geprogrammeerd met behulp van een taal die is afgeleid van C en C++ in Arduino's Integrated Development Environment (IDE) en we hebben een paar basismethoden voor foutopsporing geleerd. In dit bericht gaan we dieper in op de Arduino-hardware, en meer specifiek op de Arduino Uno-pinout. Arduino Uno is gebaseerd op de ATmega328 van Atmel. De Arduino Uno pinout bestaat uit 14 digitale pinnen, 6 analoge ingangen, een power jack, USB aansluiting en ICSP header. De veelzijdigheid van de pinout biedt veel verschillende opties, zoals aandrijfmotoren, LED's, leessensoren en meer. In dit bericht gaan we in op de mogelijkheden van de Arduino Uno-pinout.

Diagram

Arduino-UNO 1.png

"Pinout of ARDUINO Board and ATMega328PU" door pighixxx is gelicenseerd onder Creative Commons Naamsvermelding-Gelijk delen 4.0 International

Voeding

Er zijn 3 manieren om de Arduino Uno van stroom te voorzien:

  • Barrel Jack De Barrel-aansluiting of DC Power Jack kan worden gebruikt om uw Arduino-bord van stroom te voorzien. De barrel jack wordt meestal aangesloten op een wandadapter. Het bord kan worden gevoed door 5-20 volt, maar de fabrikant raadt aan om het tussen 7-12 volt te houden. Boven de 12 volt kunnen de regelaars oververhit raken en onder de 7 volt is het mogelijk niet voldoende.
  • VIN Deze pin wordt gebruikt om het Arduino Uno-bord van stroom te voorzien met behulp van een externe voedingsbron. De spanning moet binnen het bovengenoemde bereik liggen.
  • USB - levert bij aansluiting op de computer 5 volt bij 500mA.
Arduino-UNO 2.png

Er is een polariteitsbeschermingsdiode die verbinding maakt tussen de plus van de barrel jack en de VIN-pin, met een vermogen van 1 Ampère.

De stroombron die u gebruikt, bepaalt het vermogen dat u beschikbaar heeft voor uw circuit. Als u bijvoorbeeld het circuit van stroom voorziet via de USB, wordt u beperkt tot 500mA. Houd er rekening mee dat dit ook wordt gebruikt voor het voeden van de MCU, de randapparatuur, de ingebouwde regelaars en de componenten die erop zijn aangesloten. Wanneer u uw circuit van stroom voorziet via de barrel jack of VIN, wordt de maximale beschikbare capaciteit bepaald door de 5 en 3,3 volt regelaars aan boord van de Arduino.

  • 5v en 3v3 Ze bieden gereguleerde 5 en 3,3 V om externe componenten van stroom te voorzien volgens de specificaties van de fabrikant.
  • GND In de Arduino Uno pinout vind je 5 GND pinnen, die allemaal met elkaar verbonden zijn.

De GND-pinnen worden gebruikt om het elektrische circuit te sluiten en zorgen voor een gemeenschappelijk logisch referentieniveau in uw hele circuit. Zorg er altijd voor dat alle GND's (van de Arduino, randapparatuur en componenten) met elkaar zijn verbonden en een gemeenschappelijke aarde hebben.

  • RESET - reset de Arduino
  • IOREF - Deze pin is de input/output-referentie. Het levert de spanningsreferentie waarmee de microcontroller werkt.

Analoge IN

De Arduino Uno heeft 6 analoge pinnen, die gebruik maken van ADC (Analog to Digital converter).

Deze pinnen dienen als analoge ingangen maar kunnen ook functioneren als digitale ingangen of digitale uitgangen.

Arduino-UNO 3.png

Analoog naar digitaal conversie

ADC staat voor Analog to Digital Converter. ADC is een elektronisch circuit dat wordt gebruikt om analoge signalen om te zetten in digitale signalen. Deze digitale weergave van analoge signalen stelt de processor (een digitaal apparaat) in staat om het analoge signaal te meten en te gebruiken tijdens de werking ervan.

Arduino Pins A0-A5 kunnen analoge spanningen lezen. Op Arduino heeft de ADC een resolutie van 10 bits, wat betekent dat hij analoge spanning kan weergeven op 1.024 digitale niveaus. De ADC zet spanning om in bits die de microprocessor kan begrijpen. Een bekend voorbeeld van een ADC is Voice over IP (VoIP). Elke smartphone heeft een microfoon die geluidsgolven (stem) omzet in analoge spanning. Dit gaat via de ADC van het apparaat en wordt omgezet in digitale gegevens, die via internet naar de ontvangende kant worden verzonden.

Digitale pinnen

Pinnen 0-13 van de Arduino Uno dienen als digitale input/output pinnen.

Pin 13 van de Arduino Uno is verbonden met de ingebouwde LED.

In de Arduino Uno - pinnen 3,5,6,9,10,11 hebben PWM-mogelijkheden.

Het is belangrijk op te merken dat:

● Elke pin kan maximaal 40 mA leveren/afnemen. Maar de aanbevolen stroom is 20 mA.

● De absolute maximale stroom geleverd (of gedaald) van alle pinnen samen is 200mA

Arduino-UNO 4.png

Wat betekent digitaal? Digitaal is een manier om spanning in 1 bit weer te geven: 0 of 1. Digitale pinnen op de Arduino zijn pinnen die zijn ontworpen om te worden geconfigureerd als invoer of uitvoer volgens de behoeften van de gebruiker. Digitale pinnen zijn aan of uit. Wanneer ze AAN zijn, bevinden ze zich in een HOGE spanningstoestand van 5V en wanneer ze UIT zijn, bevinden ze zich in een LAGE spanningstoestand van 0V.

Op de Arduino, wanneer de digitale pinnen zijn geconfigureerd als uitvoer, zijn ze ingesteld op 0 of 5 volt.

Wanneer de digitale pinnen zijn geconfigureerd als invoer, wordt de spanning geleverd door een extern apparaat. Deze spanning kan variëren tussen 0-5 volt wat wordt omgezet in digitale representatie (0 of 1). Om dit te bepalen zijn er 2 drempels:

● Onder 0.8v - beschouwd als 0.

● Boven 2v - beschouwd als 1. Zorg er bij het aansluiten van een component op een digitale pen voor dat de logische niveaus overeenkomen. Als de spanning tussen de drempels ligt, is de terugkerende waarde ongedefinieerd.

Wat is PWM?

Over het algemeen is Pulse Width Modulation (PWM) een modulatietechniek die wordt gebruikt om een ​​bericht te coderen in een pulserend signaal. Een PWM bestaat uit twee hoofdcomponenten: frequentie en duty cycle. De PWM-frequentie bepaalt hoe lang het duurt om een ​​enkele cyclus (periode) te voltooien en hoe snel het signaal fluctueert van hoog naar laag. De duty cycle bepaalt hoe lang een signaal hoog blijft van de totale periode. De duty cycle wordt weergegeven in procenten.

In Arduino produceren de PWM-geactiveerde pinnen een constante frequentie van ~ 500Hz, terwijl de duty cycle verandert volgens de parameters die door de gebruiker zijn ingesteld. Zie de volgende illustratie:

Arduino-UNO 5.jpg

PWM-signalen worden gebruikt voor snelheidsregeling van DC-motoren, dimmen van LED's en meer.

Communicatieprotocollen

Serieel (TTL) - Digitale pinnen 0 en 1 zijn de seriële pinnen van de Arduino Uno.

Ze worden gebruikt door de ingebouwde USB-module.

Wat is seriële communicatie?

Seriële communicatie wordt gebruikt om gegevens uit te wisselen tussen het Arduino-bord en een ander serieel apparaat zoals computers, displays, sensoren en meer. Elk Arduino-bord heeft minimaal één seriële poort. Seriële communicatie vindt plaats op digitale pinnen 0 (RX) en 1 (TX) en via USB. Arduino ondersteunt ook seriële communicatie via digitale pinnen met de SoftwareSerial Library. Hierdoor kan de gebruiker meerdere seriële apparaten aansluiten en de seriële hoofdpoort beschikbaar laten voor de USB.

Software seriële en hardware seriële - De meeste microcontrollers hebben hardware ontworpen om te communiceren met andere seriële apparaten. Seriële softwarepoorten gebruiken een pin-change interrupt-systeem om te communiceren. Er is een ingebouwde bibliotheek voor Software Seriële communicatie. Software serieel wordt door de processor gebruikt om extra seriële poorten te simuleren. Het enige nadeel van seriële software is dat het meer verwerking vereist en niet dezelfde hoge snelheden kan ondersteunen als seriële hardware.

  • SPI - SS/SCK/MISO/MOSI-pinnen zijn de speciale pinnen voor SPI-communicatie. Ze zijn te vinden op digitale pinnen 10-13 van de Arduino Uno en op de ICSP-headers.

Wat is SPI?

Serial Peripheral Interface (SPI) is een serieel gegevensprotocol dat door microcontrollers wordt gebruikt om te communiceren met een of meer externe apparaten in een busachtige verbinding. De SPI kan ook worden gebruikt om 2 microcontrollers aan te sluiten. Op de SPI-bus is er altijd één apparaat dat wordt aangeduid als Master-apparaat en de rest als Slaves. In de meeste gevallen is de microcontroller het Master-apparaat. De SS (Slave Select) pin bepaalt met welk apparaat de Master momenteel communiceert.

SPI-compatibele apparaten hebben altijd de volgende pinnen:

  • MISO (Master In Slave Out) - Een lijn voor het verzenden van gegevens naar het Master-apparaat
  • MOSI Regel in ongenummerde lijst

(Master Out Slave In) - De masterlijn voor het verzenden van gegevens naar randapparatuur

  • SCK (Serial Clock) - Een kloksignaal gegenereerd door het Master-apparaat om gegevensoverdracht te synchroniseren.
  • I2C - SCL/SDA-pinnen zijn de speciale pinnen voor I2C-communicatie. Op de Arduino Uno zijn ze te vinden op analoge pinnen A4 en A5.

Wat is I2C?

I2C is een communicatieprotocol dat gewoonlijk de "I2C-bus" wordt genoemd. Het I2C-protocol is ontworpen om communicatie tussen componenten op één printplaat mogelijk te maken. Bij I2C zijn er 2 draden die SCL en SDA worden genoemd.

  • SCL is de kloklijn die is ontworpen om gegevensoverdrachten te synchroniseren.
  • SDA is de lijn die wordt gebruikt om gegevens te verzenden.

Elk apparaat op de I2C-bus heeft een uniek adres, er kunnen maximaal 255 apparaten op dezelfde bus worden aangesloten.

  • Aref - Referentiespanning voor de analoge ingangen.
  • Onderbreken - INT0 en INT1. Arduino Uno heeft twee externe interruptpennen.

Externe onderbreking - Een externe onderbreking is een systeemonderbreking die optreedt wanneer interferentie van buitenaf aanwezig is. Interferentie kan afkomstig zijn van de gebruiker of andere hardwareapparaten in het netwerk. Veelgebruikte toepassingen voor deze interrupts in Arduino zijn het lezen van de frequentie van een blokgolf die wordt gegenereerd door encoders of het wakker maken van de processor bij een externe gebeurtenis.

Arduino heeft twee vormen van interrupt:

  1. Extern
  2. Pin wijzigen

Er zijn twee externe interruptpennen op de ATmega168/328 genaamd INT0 en INT1. zowel INT0 als INT1 zijn toegewezen aan pinnen 2 en 3. Pin Change-onderbrekingen daarentegen kunnen op elk van de pinnen worden geactiveerd.

ICSP

ICSP staat voor In-Circuit Serial Programming. De naam is afkomstig van In-System Programming-headers (ISP). Fabrikanten zoals Atmel die met Arduino werken, hebben hun eigen in-circuit seriële programmeerheaders ontwikkeld. Met deze pinnen kan de gebruiker de firmware van de Arduino-kaarten programmeren. Er zijn zes ICSP-pinnen beschikbaar op het Arduino-bord die via een programmeerkabel aan een programmeerapparaat kunnen worden gekoppeld.

Arduino-UNO 6.png

Ken uw pinout

De Arduino Uno Microcontroller is een van de meest veelzijdige boards die momenteel op de markt zijn en daarom hebben we besloten om ons hierop te concentreren in deze handleiding. Deze gids toont de meeste van zijn mogelijkheden, maar er zijn ook meer geavanceerde opties waar we in dit bericht niet op ingaan.

Het belangrijkste om te weten wanneer u een bord voor uw project kiest, zijn de mogelijkheden en beperkingen. Het is ook belangrijk om de verschillende communicatieprotocollen die het bord gebruikt te begrijpen. Natuurlijk hoef je niet al deze informatie te onthouden, je kunt altijd teruggaan naar dit bericht en de relevante informatie voor je lezen (dit is trouwens een goed moment om dit bericht te bookmarken).