Cum sa construiesti un sistem de avertizare in cazul unui accident rutier? – Smart Nation

13 12. 2013, 14:40
In tutorialul de saptamana aceasta vreau sa va povestesc despre cum putem construi un sistem care ne avertizeaza atunci cand s-a produs un accident rutier.
 
Sistemul functioneaza dupa un mecanism foarte simplu: senzorul instalat pe masina masoara acceleratiile, iar in cazul unui accident, deceleratia brusca si totodată identifica situatia in care masina se rastoarna.
 
Pentru oricare din cazurile de mai sus, placa Arduino trimite automat un SMS catre o persoana prestabilita si in felul acesta anunta evenimentul petrecut.
 
Sistemul consta in trei componente esentiale: senzorul de acceleratie, placa Arduino si un shield GSM.
 
 
Daca vreti sa construiti acest sistem atunci va pot fi de mare folos urmatoarele coduri sursa:
 
Codul Arduino
 
>>cod adxl335
 
void setup(){
 
Serial.begin(9600);
 
}
 
void loop(){
 
float x = readAcc(0);
 
float y = readAcc(1);
 
float z = readAcc(2);
 
Serial.print(“x=”);
 
Serial.print(x);
 
Serial.print(” “);
 
Serial.print(“y=”);
 
Serial.print(y);
 
Serial.print(” “);
 
Serial.print(“z=”);
 
Serial.print(z);
 
Serial.println(” “);
 
}
 
float readAcc(int port){
 
int value=analogRead(port);
 
int miliVolts=map(value,0,1023,0,5000)-3300/2;
 
float acc=(float)miliVolts/360;
 
return acc;
 
}
 
 
 
Codul sursa care trimite SMS:
 
>> cod GSM
 
/*
 
SMS sender
 
This sketch, for the Arduino GSM shield,sends an SMS message
 
you enter in the serial monitor. Connect your Arduino with the
 
GSM shield and SIM card, open the serial monitor, and wait for
 
the “READY” message to appear in the monitor. Next, type a
 
message to send and press “return”. Make sure the serial
 
monitor is set to send a newline when you press return.
 
Circuit:
 
* GSM shield
 
* SIM card that can send SMS
 
created 25 Feb 2012
 
by Tom Igoe
 
This example is in the public domain.
 
http://arduino.cc/en/Tutorial/GSMExamplesSendSMS
 
 
 
*/
 
// Include the GSM library
 
#include
 
#define PINNUMBER “”
 
// initialize the library instance
 
GSM gsmAccess;
 
GSM_SMS sms;
 
void setup()
 
{
 
// initialize serial communications and wait for port to open:
 
Serial.begin(9600);
 
while (!Serial) {
 
; // wait for serial port to connect. Needed for Leonardo only
 
}
 
Serial.println(“SMS Messages Sender”);
 
// connection state
 
boolean notConnected = true;
 
// Start GSM shield
 
// If your SIM has PIN, pass it as a parameter of begin() in quotes
 
while(notConnected)
 
{
 
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
 
notConnected = false;
 
else
 
{
 
Serial.println(“Not connected”);
 
delay(1000);
 
}
 
}
 
Serial.println(“GSM initialized”);
 
}
 
void loop()
 
{
 
Serial.print(“Enter a mobile number: “);
 
char remoteNum[20];  // telephone number to send sms
 
readSerial(remoteNum);
 
Serial.println(remoteNum);
 
// sms text
 
Serial.print(“Now, enter SMS content: “);
 
char txtMsg[200];
 
readSerial(txtMsg);
 
Serial.println(“SENDING”);
 
Serial.println();
 
Serial.println(“Message:”);
 
Serial.println(txtMsg);
 
// send the message
 
sms.beginSMS(remoteNum);
 
sms.print(txtMsg);
 
sms.endSMS();
 
Serial.println(“\nCOMPLETE!\n”);
 
}
 
/*
 
Read input serial
 
*/
 
int readSerial(char result[])
 
{
 
int i = 0;
 
while(1)
 
{
 
while (Serial.available() > 0)
 
{
 
char inChar = Serial.read();
 
if (inChar == ‘\n’)
 
{
 
result[i] = ‘\0′;
 
Serial.flush();
 
return 0;
 
}
 
if(inChar!=’\r’)
 
{
 
result[i] = inChar;
 
i++;
 
}
 
}
 
}
 
}
 
Va invit sa urmariti cu atentie tutorialul, cu atat mai mult cu cat de aceasta data am pentru voi si o tema. Stim ca s-a produs un accident, dar nu stim unde. Cum facem sa aflam?
 
 
 
Smart Nation este platforma unde tehnologia va inspira pe voi toti. Sa va imaginati, sa inovati, sa creati!
 
Intra pe SmartNation.ro daca vrei sa fii informat in legatura cu noile gadget-uri, dar si pentru a putea afla cum functioneaza, ce fac si cum iti pot imbunatati viata de zi cu zi.