Show Posts
Pages: 1 ... 30 31 [32] 33 34 ... 40
466  International / Generale / Re: sensore come interrupt e fotoaccopiatore on: October 11, 2011, 01:14:13 am
ciao
ho corretto lo schema del sensore induttivo NPN

grazie
stefano
467  International / Generale / Re: sensore come interrupt e fotoaccopiatore on: October 10, 2011, 05:55:43 am
ciao

Quote
Ma questo dici che non lo fà, se provi a dare un tensione High (5Vdc) al pin 3 e poi uno stato Low allo stesso pin, cosa accade?

ho tolto i commenti alle definizioni del led 13 sul codice TX e si accenda quando metto HIGH al pin 3

grazie
stefano
468  International / Generale / Re: sensore come interrupt e fotoaccopiatore on: October 10, 2011, 05:51:51 am
ciao
per il sensore
tra 2-3 sensore eccitato 0.0vdc led acceso sul sensore
tra 2-3 sensore diseccitato 11.9vdc led spento sul sensore

per il fotoaccopiatore
tra B-GND sensore eccitato 0.0vdc led acceso sul sensore
tra B-GND sensore diseccitato 1.06 vdc led spento sul sensore

tra A-GND sensore eccitato 5.01vdc led acceso sul sensore
tra A-GND sensore diseccitato 0.74 vdc led spento sul sensore

grazie
stefano
469  International / Generale / Re: sensore come interrupt e fotoaccopiatore on: October 10, 2011, 04:02:07 am
ciao
dopo diverse prove senza risultati, ma quello che non capisco è che io misuro, 5vdc sensore eccitato e 0vdc sensore diseccitato, tra la resistenza R3 lato fotoaccopiatore e GND  senza collegare il pin di arduino input  (pin3), io ne deduco che il collegamento del sensore è corretta e il fotoaccopiatore funziona, non comprendo come mai arduino sul pin 3 non rileva la variazione di tensione, ho cambiato anche la scheda arduino ma senza risultati

grazie
stefano
470  International / Generale / sensore come interrupt e fotoaccopiatore on: October 10, 2011, 02:09:44 am
ciao
circuito allegato quello con fotoaccopiatore, non funziona +, ho letto riga per riga il datasheet, ma mi sembra a posto, uso un 4n32 con R2 3300 ohm R3 10000 ohm niente diodo D2, il sensore induttivo è alimentato a 12 vdc come pure gli arduini, la tensione tra R2 lato fotoacc e GND vale 1.09vdc quando il sensore non è eccitato, se collego manualmente arduino input (interrupt) ad arduino 5vdc il programma funziona, inoltre se misuro la tensione tra R3 lato fotoaccopiatore e GND misuro 5vdc o 0.7vdc se il sensore è eccitato oppure no, se collego invece arduino input alla resistenza R3 lato fotoaccopiatore e uso il sensore non ottengo nessun risultato,
quello che non mi spiego è che il tutto funzionava, qualcuno ha qualche suggerimento 

questi sono i codici
TX
Code:
#include <LiquidCrystal.h>  // include the library code
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // initialize the library with the numbers of the interface pins


int statosensore1=LOW;  //stato iniziale del sensore
//int count=0;
//int i=1;
//int outpin=13;
void setup()
{
   lcd.begin(16, 2);  // set up the LCD's number of columns and rows:
  Serial.begin(9600); // initialize serial communication:
  lcd.clear();
  delay(1000);
// pinMode(outpin,OUTPUT);
  attachInterrupt(1,sensore1,FALLING); //sensore induttivo collegato al pin 3
}

void loop()
{
   if (statosensore1==HIGH)
   {
      statosensore1=LOW;
//     digitalWrite(outpin,HIGH);

    Serial.print(1); //trasmesso attraverso xbee ASCII=49

 //    delay(100);
 //    digitalWrite(outpin,LOW); 
    }
}

//funzione richiamata da interrupt

void sensore1() //sul pin 3
{
  statosensore1=HIGH;
}


RX
Code:
/*
modulo ricevitore xbee RX
 
 An example of using the Arduino board+xbee to receive data from the
 computer another arduino board+xbee 
 
 This example code is in the public domain.

 This sketch prints i dati ricevuti to the LCD
 
  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)
  */

#include <LiquidCrystal.h>  // include the library code
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // initialize the library with the numbers of the interface pins
int incomingByte=0;
int cont=0;

void setup()
{
  lcd.begin(16, 2);  // set up the LCD's number of columns and rows:
  Serial.begin(9600); // initialize serial communication:
  lcd.clear();

  delay(2000);
 
    lcd.print("pronto");
}

void loop()
{
 if (Serial.available() > 0)  // see if there's incoming serial data:
  { 
 incomingByte=Serial.read();
     if (incomingByte=49)
     {
cont++;
 lcd.setCursor(0,1);
 lcd.print(cont);
//  lcd.print(incomingByte);
// Serial.print("I received: ");
Serial.println(incomingByte);
               Serial.println(cont);
//Serial.print("\t");
//Serial.print(incomingByte, BYTE);
//Serial.print("\t");
///Serial.println(incomingByte, BIN);
//Serial.flush();
   }
  }
}

grazie
stefano
471  International / Generale / Re: xbee non comunicano on: October 01, 2011, 12:04:55 pm
ciao
ok capito ottimo consiglio come sempre

appena posso lo provo adesso sono in viaggio

grazie
stefano
472  International / Generale / Re: xbee non comunicano on: September 30, 2011, 02:27:38 pm
ciao
questo è il codice con interrupt che proverò nei prossimi giorni per:

TX
Code:
int statosensore1=LOW;  //stato iniziale del sensore
int count=0;

void setup()
{
  Serial.begin(9600);
  attachInterrupt(0,sensore1,RISING); //sensore induttivo collegato al pin 2
}

void loop()
{
   if (statosensore1==HIGH)
   {
    count++;
     Serial.print(count); //trasmesso attraverso xbee
     Serial.print("\t"); //trasmesso attraverso xbee
   }
  statosensore1=LOW;
}


void sensore1() //sul pin 2
{
  statosensore1=HIGH;
}
473  International / Generale / Re: xbee non comunicano on: September 30, 2011, 02:00:16 pm
ciao
no, su serial monitor va bene, meno male che mi dici questo, stavo appunto pensando a come mettere insieme i numeri

grazie
stefano
474  International / Generale / Re: xbee non comunicano on: September 30, 2011, 01:41:50 pm
ciao
questo è il codice che sto provando:

TX
Code:
void setup()
{
  Serial.begin(9600);
  delay(1000);
}

void loop()
{
   for (int i=0; i <= 255; i++)
   {
     Serial.print(i);
    Serial.print("\t");
      delay(1000);
   }
}
RX
Code:
int incomingByte = 0; // for incoming serial data

void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}

void loop() {

// send data only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();

// say what you got:
Serial.print("I received: ");
Serial.println(incomingByte, BYTE);
}
}

questo l'output su serial monitor:

Code:
I received: 6
I received: 2
I received:
I received: 6
I received: 3
I received:
I received: 6
I received: 4
I received:
I received: 6
I received: 5
I received:
I received: 6
I received: 6
I received:
I received: 6
I received: 7
I received:
I received: 6
I received: 8
I received:
I received: 6
I received: 9
I received:
I received: 7
I received: 0
I received:
I received: 7
I received: 1
I received:
I received: 7
I received: 2
I received:
 

questi numeri che ricevo corrispondono a ciò che trasmetto ma li devo mettere insieme, comunque mi rendo conto di essere + ignorante di quello che immaginavo

grazie
stefano


475  International / Generale / Re: xbee non comunicano on: September 30, 2011, 08:45:49 am
ciao
provo a spiegarmi ho 2 arduini collegati al pc su 2 diverse porte usb

TX con xbee shield
RX con xbee shield

seguo le istruzioni che mi dicono di spostare i jumper su usb quando faccio l'upload e su xbee quando devono comunicare
scegliendo la porta corretta nell'ide di volta in volta

in posizione entrambi su xbee
TX trasmette e visualizzo i dati del ciclo for con serial monitor che dovrebbero essere quelli trasmessi 0-255 0-255 eccetera
RX ricevo dati diversi da quelli visualizzati e inoltre arrivato a 127 e si ferma

progetto:
montare TX su una macchina fissa e tramite un interrupt cogliere lo stato HIGH di un  sensore induttivo quando il dente di un ingranaggio gli passa davanti, incrementare quindi una variabile (ad es cont++) e trasmettere questo dato

ad RX che intanto si allontana trascinando un tubo avvolto su una ruota che fa girare l'ingranaggio nominato prima

in pratica noto il numero di giri al metro dell'ingranaggio, quindi il numero di denti contati, ottengo il numero di metri di tubo srotolato che visualizzo sul display di RX per potermi fermare al momento opportuno, prima di arrivare a svolgere tutto il tubo rischiando di rompere la macchina, parliamo di quasi 400 mt, a questa distanza faccio fatica a cogliere il momento in cui finisce il tubo, soprattutto quando devo fare questa operazione di notte

grazie
stefano


476  International / Generale / Re: xbee non comunicano on: September 30, 2011, 07:18:25 am
ciao
cosa significa?
è corretto che si comporti così perchè il programma del RX non è corretto

grazie
stefano
477  International / Generale / Re: xbee non comunicano on: September 30, 2011, 04:35:35 am
ciao
quello che si blocca a 127 è RX e non c'è corrispondenza/sincronismo tra il valore letto con serial monitor di TX e quello visualizzato dal display del RX
come faccio a postare l'output?
su serial monitor di RX ho una fila di numeri non spaziati che vanno da dx a sx
mentre sul display ho un numero che cambia nella posizione 0,0

grazie
stefano
478  International / Generale / Re: xbee non comunicano on: September 29, 2011, 03:53:50 pm
ciao
ci sono sviluppi negativi ieri sera nonostante ...printLN funzionava e c'era corrispondenza frà  TX e RX
ho tolto LN e funzionava mentre ora, dopo varie prove per provare la mia applicazione definitiva, a 127 si ferma, inoltre non ho + corrispondenza tra quello che vedo con il serial monitor del TX e quello che vedo sul display, suggerimenti

grazie
stefano
479  International / Generale / Re: xbee non comunicano on: September 29, 2011, 12:34:55 am
ciao
grazie per il supporto
il println lo avevo messo solo per verificare con il serial monitor del tx cosa stavo trasmettendo stasera lo tolgo

grazie
stefano
480  International / Generale / Re: xbee non comunicano on: September 28, 2011, 03:03:18 pm
TX
Code:
void setup()
{
  Serial.begin(9600);
  delay(1000);  //aggiunto anche questo
}

void loop()
{
   for (int i=0; i <= 255; i++)
   {
     Serial.println(i);
      delay(1000);   //ho aumentato questo delay
   }
}


RX
Code:
// include the library code:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // initialize the library with the numbers of the interface pins
//int incomingByte=0;      // a variable to read incoming serial data into

void setup()
{
  lcd.begin(16, 2);  // set up the LCD's number of columns and rows:
  Serial.begin(9600); // initialize serial communication:
}

void loop()
{
 if (Serial.available() > 0)  // see if there's incoming serial data:
  {
    delay(1000);// wait a bit for the entire message to arrive  anche questo aggiunto
    lcd.clear();// clear the screen
  //  incomingByte = Serial.read();  // read the oldest byte in the serial buffer:
 
  lcd.print(Serial.available());
 
  }
}

con questo ricevitore funziona ma compaiono dei caratteri strani "|||" a sx dei numeri, comunque meglio di niente
adesso proseguo con lo sviluppo della applicazione, vi tengo aggiornati

grazie
stefano
Pages: 1 ... 30 31 [32] 33 34 ... 40