Waarom van die specifieke pinnen?

Hardware geleverd door Arduino
Berichten: 40
Geregistreerd: 19 Mei 2016, 15:37

Waarom van die specifieke pinnen?

Berichtdoor cuhka » 12 Nov 2016, 12:58

Toevallig probeerde ik de analoge pin A6 en A7 als digitale pin te gebruiken. Het werkte niet, en het kan ook niet volgens de documentatie van de Nano. Waarom kunnen juist deze twee pinnen dat niet? Kan er dan wel weer iets mee wat met de andere analoge pinnen wel weer kan?

Het valt me op dat er meer pinnen zijn met een dedicated gebruik. Zoals bijvoorbeeld SPI en IC, Serial,.... Zit er dan achter die pinnen extra hardware? Waarom zou je niet elke pin kunnen gebruiken voor wat je dan ook maar wilt? Pin 13 zit bijvoorbeeld ook aan de interne led, maar dat raak je kwijt door bv SPI....

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Waarom van die specifieke pinnen?

Berichtdoor Koepel » 12 Nov 2016, 14:32

Bij ATmega en ATtiny chips zitten de speciale functies op speciale pinnen. Er is geen mogelijkheid om dat te veranderen. Dat zit in de chip die. De functies kun je in de datasheet lezen, en er zijn ook handige plaatjes.
Dit is de pinmapping van de ATmega328P in de DIP behuizing: https://www.arduino.cc/en/Hacking/PinMapping168
Bij PighiXXX staan hele mooie plaatjes, maar lukt me nauwelijks om iets te vinden. Toch heb ik de Nano kunnen vinden: http://www.pighixxx.com/test/portfolio-items/nano/?portfolioID=314

Pin A6 and A7 zijn alleen analoge ingang.
Pin A0 tot A5 zijn ook analoge ingang, en de digitale ingang zit er nog eens bij, en de digitale uitgang zit er ook nog eens bij, en A4 en A5 hebben daarnaast ook nog I2C. Al die functies zitten in de chip op een vaste pin, en meestal kun je allemaal tegelijk gebruiken (al is dat in de praktijk niet erg handig).

Aan pin 13 zit een led, maar dat is op het Nano board, dat is buiten de ATmeg328P. Als je daar last van hebt, kun je die led los solderen.

Daarnaast zijn er nog heel veel goede en minder goede trucs uit te halen. Bijvoorbeeld pin AREF heeft maar één functie, en dat is de analoge referentie. Maar die pin kan ook een beetje als analoge input en een beetje als digitale output gebruikt worden (door AREF te lezen met Vcc als referenctie en door te wisselen tussen 1.1V en 5V interne referentie).

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Waarom van die specifieke pinnen?

Berichtdoor shooter » 12 Nov 2016, 23:18

heel veel pinnen hebben dubbele functies omdat ze intern aan een multiplexer of aan een counter zitten. dat is vooral gedaan om het aantal pinnen laag te houden. eigenlijk is het gewone digitale i/o een kwestie van registers te lezen.
dat is anders dan vroeger waar een processor heel eenvoudig alleen maar simpele i/o had, nu zit er van alles in 1 chip, en hoef je dus geen serieel IC een AD een i/o en timers en counters extern te hebben.
paul deelen
shooter@home.nl

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 10 gasten