mi è venuto in mente di interfacciare il "bulk gsm digicom" con arduino.
Esso comunica mediante seriale, dovrei quindi utilizzare i pin 1, 0 (tx,rx) del mio arduino 2009.
Il problema è che se utilizzo tali pin, "offusco" la comunicazione Usb, non potendo quindi sfruttare il serial monitor per verificare l'effettivo funzionamento dello sketch.
Mi chiedevo se qualcuno di voi ha qualche soluzione in merito!
Chiedo venia nel caso in cui ci fossero già risposte in merito , da me non trovate sul forum!
void setup()
{
// Open serial communications and wait for port to open:
pinMode(rxPin,INPUT);
pinMode(txPin,OUTPUT);
Serial.begin(9600);
Serial.println("Dati Ricevuti:");
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
mySerial.write("AT&D0");
if (mySerial.available())
Serial.println(mySerial.read());
mySerial.write("AT+IFC=0,0");
if (mySerial.available())
Serial.println(mySerial.read());
}
Non ottengo alcun risultato... qualche consiglio?
La guida ai comandi AT della scheda prevede come risposta ai comandi un "OK".
Mentre io non ricevo nulla neppure "-1" .
Non so come si faccia..
Vorrei chiudere il post, in quanto oggi ho testato la periferica via seriale con minicom e non risponde, ne deduco che la periferica non sia funzionante, quindi non c'è altro da fare.
Dovrò continuare ad aprire il cancello di casa con il telecomando e non via sms ...
ciao
non arrenderti, io ho fatto la stessa cosa, uso questo per testare il modem
/*
SparkFun Cellular Shield - Pass-Through Sample Sketch
SparkFun Electronics
Written by Ryan Owens
CC by v3.0
3/8/10
max current 330 mA when 'ringing'
*/
#include <SoftwareSerial.h> //Include the NewSoftSerial library to send serial commands to the cellular module.
#include <string.h> //Used for string manipulations
char incoming_char=0;//Will hold the incoming character from the Serial Port.
String stringOne="";
String substringa="";
SoftwareSerial cell(3,2); //Create a 'fake' serial port. NewSoftSerial cell(RX,TX)
void setup()
{
Serial.begin(9600);//Initialize serial ports for communication.
cell.begin(9600);//Initialize serial ports for communication.
}
void loop()
{
//If a character is coming from the terminal to the Arduino...
if(cell.available()>0)
{
incoming_char=cell.read(); //Get the character from the cellular serial port.
stringOne+=String(incoming_char);
Serial.print(incoming_char); //Print the incoming character to the terminal.
stringOne+=String(incoming_char);
// stringOne.trim();
//Serial.println(stringOne); //stampa di controllo
//Serial.println(stringOne.length()); //stampa di controllo
delay(50);
}
//stringOne="";
//If a character is coming from the the Arduino to tfe terminal
if(Serial.available()>0)
{
incoming_char=Serial.read(); //Get the character coming from the terminal
cell.print(incoming_char); //Send the character to the cellular module.
delay(10);
}
}
con una porta seriale puoi usare anche programmi tipo hyperterminal direttamente da PC
E chi si arrende... ho proprio testato il funzionamento del dispositivo con minicom (l'equivalente di hyperterminal su linux) e non risponde... percui c'è poco da impazzire .. ieri con il collegamento ad arduino non dava cenni di vita.. allora oggi mi sono detto beh.. testiamola direttamente via seriale.. l'ho fatto e la scheda non risponde.. poi leggendo il tuo post adesso mi son detto "magari minicom da problemi" .. allora ho provato con hyperterminal.. ma la scheda non accenna a funzionare.. il dispositivo l'ho smontato da un box vecchio .. ha circa 10 anni! probabile che qualcosa si sia compromesso.
ciao
sembra proprio andato, proverei a ad individuare i pin tx ed rx e collegarli ad arduino e usare lo sketch che ho messo, proprio come ultimo tentativo, prestando attenzione al fatto che potrebbe essere necessario anche un convertitore di segnale fatto con il max232, i modem che uso con arduino ne hanno bisogno