In timpul testelor, am incercat controlul acestui modul cu Arduino Uno, prin folosirea librariei SoftwareSerial, cum era prezentat si in articolul Tutorial: Control AC outlets via SMS, dar nu am reusit sa trimit sau sa receptionez comenzi, eventual niste semne ciudate, asa ca am folosit un Arduino Mega si am conectat comunicatia la Rx2 si Tx2 prin intermediul convertorului de nivel logic de 5V la 3,3V.
Repetand experimentele, am constatat desi schema de conectare cu Uno e corecta, in ecranul de monitorizare seriala apar caractere ciudate si, am banuit, ca-s problenme cu viteza de transfer de 115200bps, desi in documentatia de pe site-ul Arduino zice ca functioneaza si la aceasta (vedeti articolul SoftwareSerial: begin(speed), dar intr-un material de la https://github.com/arduino/Arduino/issues/2019 apare ca-s probleme la viteza asta..
De data asta, "am venit cu lectia invatata" si am refacut schema de conectare cu Arduino Mega si schimbat viteza de transfer (baud rate) cu comanda AT+IPR=9600...folosindu-ma de sketch-ul M590_mega_serialtest2.ino
si am schimbat si in sketch la 9600 in loc de 115200 si am dat comenzile AT:
si e in regula, doar ca trebuie date comenzi mai rar...
Am realizat schema de conectare la Arduino Uno (un VISduino Uno, in cazul de fata) si am dat comenzi AT de verificare, dupa ce am incarcat sketch-ul M590_softwareserial.ino:
Am completat schema cu cele 4 leduri inseriate cu rezistente si, dupa ce am incarcat un sketch modificat, in sensul de a introduce niste intarzieri intre comenzi de 2,5 secunde, am facut teste:
- am dat comand apentru aprinderea celor 4 leduri:
- am dat comanda sa fie aprinse cele 2 leduri din mijloc
- am dat comanda sa fie aprinse cele 2 leduri din exterior:
Pentru a fi mai convingator, am facut 2 filmulete:
Am deconectat placa Arduino de la calculator si am alimentat-o din sursa externa de 4,2V in conectorul unde este inscriptionat 5V si am reluat testele... functioneaza fara probleme, in plus, este ca un modul independent, in locul led-urilor se pot pune relee, care comanda becuri, motoare, ventilatoare, camere, etc sau prin optocuploare (pentru a proteja montajele si utilizatorii) se pot comanda triace/tiristoare, care la randul lor aprind becuri, alimenteaza motoare de la retea...
Am facut inca 2 filmulete, pentru a fi mai clar:
In locul convertorului de nivel logic, de-l folosesc eu, se poate folosi schema din manualul tehnic de utilizare:
in care VCCI) (pinul 6 al lui M590) este o tensiunea de referinta de 2,85V pentru comenzile logice. RXD_GPRS este pinul 7 de la M590, iar TXD_GPRS este pinul 8 de la M590.
MCU_TXD si MCU_RXD sunt pinii de receptie, respectiv transmisie date ale microcontorlerului sau placii de dezvoltare Arduino, in cazul nostru.
Atentie: Tensiunea sursei externe de alimentare este de +4,6V nu de +4,2V deoarece modulul chinezesc arata cu 0,3-0,4V mai putin decat tensiunea reala !!!
salut! o intrebare te rog..de ce ai pus 4.2v si nu 5?
RăspundețiȘtergeream cumparat si eu dar nu am nici un fel de documentatie..
multumesc mult
5V alimentarea modulului mi s-a parut prea mare pentru cat suport modulul.. are el o dioda inseriata sa scada tensiunea, dar.. ai link la documentatie in cele 3 articole.. doar citeste-le... chiar e greu sa dai click pe niste link-uri?
ȘtergereOperating Voltage: 3.3V~4.5V(The recommend value is 3.9V). The main power source should not exceed 4.8V. Over-voltage will damage the module.
ȘtergereMultumesc pentru tutorial, chiar nu stiam daca este ok sa cumpar un astfel de modul. Care este diferenta intre acest modul si SIM900 in afara de viteza de transmisie/receptie a datelor?
M590 este similar cu SIM800, adica nu are partea de voce, doar poate primi si trimite date/sms-uri
Ștergerehi friend does not work this circuit whit arduino 1,you have a better pictures?
RăspundețiȘtergereread articles in english from https://arduinotehniq.blogspot.ro/
Ștergerebut if save at your computer pics (photo) you will see better all details ;)
Buna ziua .As vrea sa trimit in sms catre modul cu cuvantul ARM . Cum ar arata linia de cod care verifica daca este sms-ul cu cuvantul corect ?
RăspundețiȘtergerevrei confirmare ca a primit acel cuvant sau sa faca ceva cand primeste acel cuvant?
Ștergereda .
ȘtergereNu ma pricep la programare , si nu am inteles succesiunea de if care verifica sms trimis pentru a aprinde sau stinge led-urile
ȘtergereIncerc sa combin alarma cu cod cu tastatura pe care ati publicato cu acest modul m950 care sa armeze si dezarmeze printr-un sms
uff.. sketch-ul e facut sa dai sms de forma #a1b1c1d1 ca sa aprinzi toate ledurile, asta fac acele if-uri, intai verifica daca e acel #, dupa aia daca e "a" si ce e dupa, daca 1 aprinde led-ul 1, daca e 0 stinge led-ul 1, apoi trebuie sa fie "b" si daca dupa el e 1 aprinde led-ul 2, dacae 0 il stinge, etc...
Ștergeree greu daca nu prea stii programare, ca trebuie sa stii unde sa introduci parti din celelalt sketch cel cu codul de la tastatura... poate reusesc sa-mi fac timp sa refac montajul si sa il combin cu tastatura..
de combinat ma descurc cu ce stiu , doar linia de verificare ma intereseaza . Poate verifica un cuvint sau numai litera cu litera ?
Ștergereincearca, daca nu merge pune litera cu litera, adica intai sa verifice daca e A, apoi daca e R si apoi M.. nu am acum al indemana is nu o sa am prea curand... ai putea incerc adaca ai deja montajul...
RăspundețiȘtergereif(M590.available() >0)
{
inchar=M590.read();
Serial.write(inchar);
if (inchar=='A')
{
delay(10);
inchar=M590.read();
if (inchar=='R')
{
delay(10);
inchar=M590.read();
if (inchar=='M')
{
// face ceva ce trebuie, sa incuie o usa, sa incuie un zavor
}
M590.println("AT+CMGD=1,4"); // delete all SMS
Serial.println("delete all SMS"); // delete all SMS
}
}
}
}
ceva de genul asta...
Functioneaza perfect . Multumesc foarte mult .
RăspundețiȘtergereLiterele din cuvant trebuie scrise la fel ca in sms .Am incercat cu litere mici si nu recunoaste .
poti schimba
Ștergereif (inchar=='R')
cu
if ((inchar=='R') || (inchar=='r'))
pentru a putea scrie ARM, arm, Arm, aRM, etc...
Era o constatare . Daca ar fi sa ma complic ar trebui sa verifice si nr de telefon , dar fiind ca este vorba de un mini sistem de alarma montat la un garaj este de ajuns . Inca o data multumesc si felicitari pentru toate proiectele pe care le realizati .
Ștergeree un experiment mai vechi si nu mai retin exact ccomenzile AT pentru M590, dar este si una de identifica numarul de telefon de la care primeste mesaj, o sa caut si o sa va scriu..
Ștergere