A4 en/of A5 als input en scl en/of sda voor serial gebruiken mogelijk? Opgelost

Beste mensen,

Na lang zoeken kwam ik erachter dat het uitlezen van een IR sensor op Analoog 4 een conflict geeft als je gebruik maakt van de i2c pinnen op de arduino uno.
Waar ik tot op heden nog niet achter ben is of het softwarematig is op te lossen om van A4 een digitale pin te maken en tegelijk gebruik te maken van de SDA pin op het boardje. Kan dat niet, dan heb ik een echte uitdaging :confused:
Helaas ben ik de engelse taal onvoldoende machtig om dit in die taal uit te zoeken dus hoop ik hier op welwillende medewerking.

Vast bedankt

Als je I2C gebruikt kan je A4/5 niet meer als gewone analoge of digitale pinnen gebruiken. Je mag ook niet tegelijk dingen aansluiten op A4/5 en SDA/SCL, dit kan een kortsluiting geven.

Als je naar het schema van de Arduino kijkt zul je zien dat A4 en SDA gewoon rechtstreeks aan elkaar verbonden zijn, en naar dezelfde pin van de microcontroller gaan. Idem voor A5 en SCL.

Pieter

Hoi Pieter, Dank voor je uitleg. Ik heb een echte uitdaging dus.

Helaas levert het raadplegen van de door jou gegeven link (kan ik echt geen kaas van maken. sorry) geen extra inzicht op. Jij weet blijkbaar precies waar je het over hebt en ik snap dat als er een fysieke verbinding is tussen beide pinnen dat dit software matig niet is op te lossen.

Wat ik niet snap is wat zo'n dergelijke constructie voor voordelen heeft als je toch maar 1 van de beide pinnen kan gebruiken. Ik zal m'n hoofd er maar niet over breken......

Nogmaals dank voor je heldere uitleg.

Hoewel ik niet de hele geschiedenis ken, is het ongeveer zo gegaan:

De Uno originele Unos (Rev1 en Rev2) hebben een processor waar A4 en A5 drie functies hebben:
1)
Normale digitale IO
2)
Analoge ingangen
3)
I2C bus

Dat vormde nooit een probleem en er waren geen aparte pinnen voor SDA en SCL; je bruikte A4 en A5.

Vervolgens begon Arduino met borden gebasserd op andere processoren zoals de Mega2560 (Arduino Mega) en 32U4 (Arduino Leonardo). De processoren op deze borden hebben echter de I2C bus niet gecombineerd met A4 en A5. Dus Arduino moest besluiten wat wijsheid was; A4 en A5 opofferen en de twee pinnen op het bord toewijzen aan I2C en normale IO of een andere oplossing bedenken.

Die andere oplossing werd gevormd door twee extra pinnen op deze borden te plaatsen; jij kent deze pinnen als SDA en SCL en deze layout werd de nieuwe standaard voor alle borden met de Uno form factor zowel als voor de Arduino Mega (een shield voor een Uno past ook op een Mega).

De originele Unos (R1/R2) kregen een opvolger (de Uno R3) die ook deze twee extra pinnen heeft ten bate van compatibiliteit; de R3 kreeg ook een ander processor (maar A4 en A5 hebben nog steeds de drie functies) en ik denk dat er nog wat wat andere veranderingen waren.

Het resultaat is dat alle shields die tegenwoording gemaakt worden gebruik kunnen maken van de gestandaardiseerde I2C pinnen indien dat nodig is.

Sterretje:

Dank voor de extra info en sorry voor de late reactie. Ik zie het zojuist pas....