come collegare due pin di arduino

scusate mi sono perso, io ho due arduino uno , li devo collegare con filo il pin 8 digitale in output
del primo arduino ad un pin 10 digitale input del secondo arduino , vorrei sapere come fare i collegamenti hardware

Ciao, li colleghi con un filo.... altre soluzioni non ne vedo :smiley:

ok grazie , mi ero perso , pensavo che ci volesse la massa

Se le alimentazioni sono diverse si: masse in comune !

Stefano

io devo fare un flag , potare un valore da un pin digitale in output ad un altro pin digitale o analogico in input di un altro arduino devo solo collerli con un fili i due arduino senza massa credo

si, se devi trasferire uno stato logico da un arduino ad un altro con alimentazioni diverse, ti va il segnale da trasferire e la massa di riferimento. Ovvio che se sono entrambi alimentati dalla stessa alimentazione la massa in comune ce l'hanno gia!

Un consiglio: quando poni le domande cerca di mettere + info possibili altrimenti le risposte non saranno certe ( e poi ti incasini ancora di +).

Stefano

vediamo se è tutto chiaro,, confermatemi :

parto con un filo dal pin digitale in OUTPUT del primo arduino lo collego

ad una resistenza che viene collegata alla GND e con altro filo vado al pin digitale in INPUT del secondo arduino

dovrebbe andare bene

Ma noooooooooooo!

Prendi due fili:

  1. Dal pin output del primo Arduino al pin input dell'altro.
  2. Da GND del primo Arduino a GND del secondo. Va bene un pin GND qualunque, sono tutti uguali.

ok bene grazie del suggerimento,

come li ho collegati io sono per comunicare da una pin digitale output a un pin digitale input dello stesso arduino

A parte che non mi sembra molto utile collegare un pin di Arduino a un altro pin dello stesso, no, in quel caso basta il filo 1 del mio post precedente.

Tu hai fatto un minestrone con il collegamento di un pin ad un PULSANTE, mi sa...

si era un esercizio con il pulsante,

ma non importa li collego come hai indicato tu

mi serve il flag fra un arduino e l'altro

grazie mille

wirefree:
vediamo se è tutto chiaro,, confermatemi :

parto con un filo dal pin digitale in OUTPUT del primo arduino lo collego

ad una resistenza che viene collegata alla GND e con altro filo vado al pin digitale in INPUT del secondo arduino

dovrebbe andare bene

E la resistenza da dove è uscita?

come li ho collegati io sono per comunicare da una pin digitale output a un pin digitale input dello stesso arduino

:o Figo.... E' come se ti telefoni per sentirti :o

Comunque per sicurezza (se per sbaglio definisci i 2 pin come uscite) é meglio non collegarli direttamente ma con una resistenza, Il valore non é critico. Va bene tutto tra 1k e 100kOhm.
La massa (GND) dei 2 Arduini va collegato direttamente senza resistenza.

Ciao Uwe

uwefed:
Comunque per sicurezza (se per sbaglio definisci i 2 pin come uscite) é meglio non collegarli direttamente ma con una resistenza, Il valore non é critico. Va bene tutto tra 1k e 100kOhm.

Allora per blindarsi per blindarsi la resistenza va da 1K: così si evita anche il caso che se per sbaglio attiva la pullup dell'input non si trovi LOW a chissà che tensione......
:wink:

ancora un informazione, l'alimentazione di arduino è tramite usb quindi 5 volt , l'altro arduino viene alimetato con una 9 volt
è corretto unire le due GND cosi

Sì.

grazie mille

oltre agli attacchi hardware è necessario che corregga anche il software:

devo collegare due schede di arduino uno, portare un valore da una pin di arduino il primo, ad un pin del

secondo arduino tutto qua , o trovato molte guide su internet ma chiedo ulteriori informazioni visto che

non sono molto esperto allego programma che o trovato su internet , qui è stato aggiunto il bottone ,

e a me non serve devo soltanto eliminarlo , come faccio a correggere il programma ?

programma master

    //master
    #include <Wire.h>
    void setup()
    {
      Wire.begin();        // avvia il bus i2c
      pinMode (2,OUTPUT);
    }
    void loop()
    {
      Wire.requestFrom(2, 1); // richiedi 1 byte al dispositivo presente all'indirizzo 2.
      String b = "";
      char c = Wire.read(); // leggi il byte ricevuto
      b = b + c;
      delay (100);
      if (b == "a")
      {
        digitalWrite(2, HIGH);
      }
      else
      {
        digitalWrite(2, LOW);
      }
      delay(10);
    }

Lascia perdere sta roba, ti basta una digitalWrite() su quello che invia e una digitalRead() su quello che riceve, qual è la difficoltà?

ok o provato ma sbaglio qualcosa , per meglio comprendere ripeto o due arduino uno collegato ad un sensore pir

con valore HIGH accende il led altrimenti è LOW, o collegato le GND insieme , il sensore è collegato sia al

pin del primo che al pin del secondo in modalita INPUT , il secondo arduino riceve un INPUT HIGH ,

e deve accendere il led anche nel secondo arduino ,

allego i programmi dei due arduino dove ho sbagliato?

programma primo aduino



 int ledverde=13;
int sensore2= 7;  ///sensore pir

void setup() {
              pinMode(ledverde, OUTPUT);
               pinMode(sensore2, INPUT);
                  digitalWrite(sensore2, LOW);




}

void loop() {
  if (digitalRead(sensore2)== HIGH) {
      digitalWrite(ledverde, HIGH);
     
   }
  
  
               if   (digitalRead(sensore2)==LOW) {
                      digitalWrite(ledverde, LOW);}}
                      
                      
       /////////////////////////////////////////////////////////////////////////////////////////////////////////

programma secondo arduino 

/////////////////////////////////////////////////////////


int ascolto;
int led=13;
void setup() {
  
pinMode(8,INPUT);
pinMode(13,OUTPUT);

}

void loop() {
  
ascolto=digitalRead(8);

if(digitalRead(ascolto)==HIGH){
  digitalWrite(led,HIGH);}
  
  
  
  
if(digitalRead(ascolto)==LOW){
  digitalWrite(led,LOW);}}