Go Down

Topic: Problema con analogWrite quando utilizzo "arduino uno e arduino yun" (Read 514 times) previous topic - next topic

MxxTia

Ciao a tutti,
sto costruendo un "drone" equipaggiato di ruote che si pilota tramite un'applicazione Android.

L'applicazione utilizza arduino yun come web server: riceve una stringa dallo smartphone tramite Http e la invia ad arduino uno tramite I2C. Arduino Uno scompatta la stringa e la utilizza per Pilotare le ruote attraverso il comando AnalogWrite sui pin 10 e 11 (uso un ponte H, 10 e 11 sono i  pin di enable).

Fino a qui spero di essere stato sufficientemente chiaro.

Succede una cosa strana:
 pin 10: funziona sempre
 pin 11: funziona solo se escludo il dialogo tra arduino yun e uno.Mi spiego meglio.

Quando comando le ruote collegate alla 10,posso gestire la velocità con diversi valori utilizzando analogWrite; quando comando le ruote collegate alla 11, in analogico funziona solo con paramteri 0 e 255 (ossia, si comporta come digitale)


ho fatto i seguenti test:
 se utilizzo il codice seguente compilandolo direttamente su Arduino UNO, la porta 11 funziona correttamente

void setup() {
pinMode(11,OUTPUT);
}

void loop() {
digitalWrite(6,LOW);  //pin logico 1 ponte h
digitalWrite(7,HIGH); //pin logico 2 ponte h
analogWrite(11, 100); //pin enable ponte h
}


se lo stesso codice è all'interno di un programma che riceve un comando di avvio da Yun, non funziona.

sembrerebbe che collegando arduino uno via I2C ad arduino yun (master) il pin 11 "perda la sua funzione di pwm".

prima di scrivere sul forum ho cercato  a lungo in internet ma non ho trovato nulla.
spero possiate aiutarmi, grazie in anticipo
Mattia

Go Up