Bonsoir à tous
J'ai voulu tester le shield memoire avec une carte SD.
Ce shield invalide les broches 9, 10, 11, 12 et 13. et bouffe de la place memoire programme avec sa lib joufflue.
J'ai un encodeur rotatif sur 2,3,4
Le bus 1wire fonctionne normalement sur D6.
J'ai besoin de D5, 6, 7 en sortie pour des actionneurs.
J'ai don essayé d'utiliser 0 ou 1 pour le 1wire avec l'instruction "#define ONE_WIRE_BUS 1" au lieu de "#define ONE_WIRE_BUS 6"
Le 1wire ne fonctionne pas sur 0 et 1.
La broche 0 est utilisée avec succès sur le schield memoire dans un exemple de datalogger pour la lecture d'une sonde qui n'est pas du 1wire.
Par ailleurs il me semble avoir lu qq part que D0 et 1 sont utilisés en Rx et Tx liaison serie PC.
Quelqu'un peut-il m'éclairer sur ce problème svp ?
Dans le pire des cas par défaut de sorties libres je peux rajouter un PCF8574 I2c mais ça complique et ne répond pas à la question.
jpjcb66:
Bonsoir à tous
J'ai voulu tester le shield memoire avec une carte SD.
Ce shield invalide les broches 9, 10, 11, 12 et 13. et bouffe de la place memoire programme avec sa lib joufflue.
J'ai un encodeur rotatif sur 2,3,4
Le bus 1wire fonctionne normalement sur D6.
J'ai besoin de D5, 6, 7 en sortie pour des actionneurs.
J'ai don essayé d'utiliser 0 ou 1 pour le 1wire avec l'instruction "#define ONE_WIRE_BUS 1" au lieu de "#define ONE_WIRE_BUS 6"
Le 1wire ne fonctionne pas sur 0 et 1.
La broche 0 est utilisée avec succès sur le schield memoire dans un exemple de datalogger pour la lecture d'une sonde qui n'est pas du 1wire.
Par ailleurs il me semble avoir lu qq part que D0 et 1 sont utilisés en Rx et Tx liaison serie PC.
Quelqu'un peut-il m'éclairer sur ce problème svp ?
Dans le pire des cas par défaut de sorties libres je peux rajouter un PCF8574 I2c mais ça complique et ne répond pas à la question.
bonsoir
D0 et D1 sont effectivement les pins reservés au serial hardware, il n'est pas conseillé de faire n'importe quoi avec
le bus 1Wire peut utiliser n'importe quel pin , y compris les pins analogique, il faut juste bien les declarer en entrée
Bonsoir Artouste,
En effet ça marche sur A1 .
Mais je reste preneur pour une explication concernant D0 & D1.
En fait j'ai du mal lire, je ne retrouve pas d'exemple de 1wire connecté sur D0, D1.
Il est à noter que même l'usb déconnecté donc l'arduino autonome en alim externe, c'est pareil.
jpjcb66:
Bonsoir Artouste,
En effet ça marche sur A1 .
Mais je reste preneur pour une explication concernant D0 & D1.
En fait j'ai du mal lire, je ne retrouve pas d'exemple de 1wire connecté sur D0, D1.
Il est à noter que même l'usb déconnecté donc l'arduino autonome en alim externe, c'est pareil.
uploader un programme "tripotant/jouant" avec D0 D1 te fais courir un "risque non nul"
par exemple de ne plus pouvoir utiliser le bootloader pour injecter des nouvelles modifs = " c'est comme pour une vrille engagée pas prevue , on peut en sortir , mais pas toujours facilement et bien.
"
OK, on touche plus à D0, D1.
Apparemment j'en suis sorti, c'était pas une vrille à plat. 
Et la SD fonctionne mais j'ai tout à apprendre sur elle.
Bonne soirée.
Eventuellement s'il te manques des sorties, tu peux toujours utiliser l'une ou plusieurs des entrées analogiques. Elles fonctionnent également comme les autres E/S binaires. Mais dans ce cas au lieu de les désigner par 0 à 5 il faut les déclarer de 14 à 19.
Merci pour cette réponse,
En déclarant "#define ONE_WIRE_BUS A1 " ça marche.
A0 est occupé, A4 et A5 aussi par l'I2c.
On gagne trois broches.
Comme j'ai dit, si vraiment c'est nécessaire, avec un PCF8574 on multiplie une sortie par 8.
nulentout:
Eventuellement s'il te manques des sorties, tu peux toujours utiliser l'une ou plusieurs des entrées analogiques. Elles fonctionnent également comme les autres E/S binaires. Mais dans ce cas au lieu de les désigner par 0 à 5 il faut les déclarer de 14 à 19.
Il est préférable de les désigner par leur nom A0, A1, ....
Suivant les cartes Arduino le n° et le nombre de broches peut changer. Les noms A0, A1, ... sont définis dans un fichiers pour chaque type de carte ce qui rend le code plus portable.