يتم التشغيل بواسطة Blogger.

الأحد، 20 مارس 2016

روبوت الأردوينو و التحكم به بواسطة الأندرويد bluetooth robot control

روبوت الأردوينو و التحكم به بواسطة الأندرويد


قد ترغب في بناء روبوت تستطيع التحكم به عن بُعد , سيكون هذا مسلياً جداً خصوصاً إذا استطعت أن تتحكم فيه بواسطة جهازك الذكي العامل على نظام الأندرويد Android .

في هذه التدوينة سأشرح كيفية بناء واحد بسهولة عن كيفية صناعة روبوت نتحكم به عن بعد عن طريق جهاز الأندرويد بواسطة البلوتوث .



القطع التي سنحتاجها :

1) بطاقة أردوينو  Uno " ميجا ستحتاج لتعديل في البرنامج "




2)غطاء قيادة المحركات L293 Motor driver 

او دارة قيادة المحرك  L298




3) هيكل روبوت Magician Chassis من شركة spark fun  او الهيكل 4Wheel Robot او هيكل روبوت Zumo من Pololu





4) قطعة البلوتوث HC-05 او HC-06 او احياناً تسمى Linvor .






5)بطاريتان , واحدة لتغذية المحرك "يجب ان تكون أكبر من 5 فولت " و الثانية  بطارية 9 فولت مع الحاضنة  لتغذية الأردوينو .



6) جهاز ذكي او لوح مزود لنظام التشغيل أندرويد 4.0

7) قطع اخرى , مثل  اسلاك توصيل , ستحتاج لأسلاك توصيل female-female عدد 4 , و ايضاً ستحتاج ل dc jack male+female لتسهيل توصيل البطارية مع غطاء الأردوينو الخاص بالمحرك  , و اخيراً pin header male عدد 1 .




التوصيل :

لأنني سأستخدم الغطاء L293 Motor driver فسأربط البلوتوث مع الأرجل A0,A1 على التوالي , و الجيد في هذا الغطاء هو امكانية توصيل المداخل التناظرية بسهولة .

التوصيل كالتالي :







وفي حال استخدام دارة القيادة L298 يكون التوصيل كالآتي :

ستحتاج لتحميل هذا التطبيق من متجر الأندرويد 






هذا التطبيق متوافق مع هذا البرنامج 

البرنامج للروبوت سواءاً كانت ب 4 عجلات ام بعجلين .

الكود مع دارة القيادة L298


// Robot 2wheel , 4 wheel controlled via Bluetooth
// Written By :Mohannad Rawashdeh
//http://www.genotronex.com/
#include "SoftwareSerial.h"// import the serial library\

const int IN1=3;
const int IN2=5;
const int IN3=6;
const int IN4=9;
 int BluetoothData;
 SoftwareSerial HC05(10, 11); // RX, TX
 int  SPEED_Control=200;
void setup() {
  // fIRST , define the Motor's pin as an OUTPUT
  
pinMode( IN1 ,OUTPUT);// Right Motor 1st wire
pinMode( IN2 ,OUTPUT);// Right Motor 2nd wire
pinMode( IN3 ,OUTPUT);// left Motor 1st wire
pinMode( IN4 ,OUTPUT);// left Motor 2nd wire
 HC05.begin(9600);
}
void FORWARD(int Speed){
  //When we want to let Motor To Rotate clock wise
  // just void this part on the loop section .
 
  analogWrite(IN1,0);
  analogWrite(IN2,Speed);
  analogWrite(IN3,Speed);
  analogWrite(IN4,0);
}
void BACKWARD(int Speed){
  //When we want to let Motor To Rotate Counter clock wise
  // just void this part on the loop section .
  analogWrite(IN1,Speed);
  analogWrite(IN2,0);
  analogWrite(IN3,0);
  analogWrite(IN4,Speed);
}
void LEFT(int Speed){
  //When we want to let Motor To Rotate Counter clock wise
  // just void this part on the loop section .
  analogWrite(IN1,0);
  analogWrite(IN2,Speed);
  analogWrite(IN3,0);
  analogWrite(IN4,Speed);
}
void RIGHT(int Speed){
  //When we want to let Motor To Rotate Counter clock wise
  // just void this part on the loop section .
  analogWrite(IN1,Speed);
  analogWrite(IN2,0);
  analogWrite(IN3,Speed);
  analogWrite(IN4,0);
}

void Stop(){
  //When we want to let Motor To Rotate clock wise
  // just void this part on the loop section .
  analogWrite(IN1,0);
  analogWrite(IN2,0);
  analogWrite(IN3,0);
  analogWrite(IN4,0);
}

void loop() {
 //Rise Up

  if (HC05.available()){
 BluetoothData=HC05.read();
 Serial.println(BluetoothData);
   
  if(BluetoothData=='F'){   // if number 1 pressed .... 
   FORWARD(SPEED_Control);
   }
  if(BluetoothData=='B'){   // if number 1 pressed .... 
  BACKWARD(SPEED_Control);
   }
  if(BluetoothData=='L'){   // if number 1 pressed .... 
  RIGHT(SPEED_Control);
 
   }
  if(BluetoothData=='R'){   // if number 1 pressed ....
   LEFT(SPEED_Control);
   }
    if(BluetoothData=='S'){   // if number 1 pressed ....
  Stop();
   }
   if(BluetoothData=='0'){  SPEED_Control=0 ;}//Speed 
   if(BluetoothData=='1'){  SPEED_Control=50; }//Speed 
   if(BluetoothData=='2'){  SPEED_Control=100; }//Speed 
   if(BluetoothData=='3'){  SPEED_Control=120; }//Speed 
   if(BluetoothData=='4'){  SPEED_Control=140; }//Speed 
   if(BluetoothData=='5'){  SPEED_Control=160; }//Speed 
   if(BluetoothData=='6'){  SPEED_Control=180; }//Speed 
   if(BluetoothData=='7'){  SPEED_Control=200; }//Speed 
   if(BluetoothData=='8'){  SPEED_Control=220; }//Speed 
   if(BluetoothData=='9'){  SPEED_Control=240; }//Speed 
   if(BluetoothData=='q'){  SPEED_Control=255; }//Speed   
  }
}



الكود مع دارة غطاء قيادة المحرك L293


#include <AFMotor.h>
#include <SoftwareSerial.h>// import the serial library
SoftwareSerial Genotronex(14, 15); // RX, TX

char BluetoothData; // the data given from Computer
int t=10;
    AF_DCMotor right_motor(1, MOTOR12_1KHZ); // create motor #2, 1KHz pwm
    AF_DCMotor left_motor (2, MOTOR12_1KHZ); // create motor #3, 1KHz pwm
 
void setup() {
  // put your setup code here, to run once:
  Genotronex.begin(9600);
  left_motor.setSpeed(200);     // set the speed to 200/255
  right_motor.setSpeed(180);     // set the speed to 200/25
}

void loop() {
  // put your main code here, to run repeatedly: 
  if (Genotronex.available()){
 BluetoothData=Genotronex.read();
 delay(t);
 switch(BluetoothData){
 case 'F':
  left_motor.run(FORWARD);
  right_motor.run(FORWARD);
  delay(t);
  break;
  case 'L':// right
  left_motor.run(BACKWARD);
  right_motor.run(FORWARD);      // turn it on going forward 
  delay(t);
  break;
  case'R'://left
  left_motor.run(FORWARD);
  right_motor.run(BACKWARD); 
  delay(t);
  break;
  case'B':
  left_motor.run(BACKWARD);
  right_motor.run(BACKWARD); 
  delay(t);
  break;
  case'S':
  left_motor.run(RELEASE);
  right_motor.run(RELEASE);
  delay(t);
  break;
  case '2':
 left_motor.setSpeed(100);     // set the speed to 200/255
 right_motor.setSpeed(80);     // set the speed to 200/25
  break;
  case '4':
  left_motor.setSpeed(150);     // set the speed to 200/255
  right_motor.setSpeed(130);     // set the speed to 200/25
  break;
  case'7':
  left_motor.setSpeed(200);     // set the speed to 200/255
  right_motor.setSpeed(180);     // set the speed to 200/25
  break;
  case'q':
  left_motor.setSpeed(250);     // set the speed to 200/255
  right_motor.setSpeed(230);     // set the speed to 200/25

  }
 
}
}
إقرأ المزيد.. bloggeradsenseo

السبت، 19 مارس 2016

نظام البوابة الذكي (Smart Door System)




في هذه التجربة سنقوم بتصميم نظام ذكـي للبوابات يتميز بالمواصفات التالية :

  • يستخدم تقنية الـ RFID للتعرف على الاشخاص المسموح لهم بالدخول . 
  • يحسب عدد ساعات العمل لكل شخص عند الخروج .
  • يمكن فتح البوابة من خلال البلوتوث للأجهزة الموثوقة .
  • يمكن تغير وضع الجهاز ليفتح البوابة تلقائياً عن اقتراب شخص منه .
  • يمكن وصله مع أنظمة الحماية, ليفتح البوابة مباشرة في حالات الطـوارئ .





• نحتاج الى :

  • متحكم اردوينو (يفضل نوع ميجا ).
  • قارئ بطاقات RFID13.56MHz , يمكن شراؤه من هـنـا.
  • حساس حركة (PIR) , يمكن شراؤه من هـنـا .
  • موديول بلوتوث , يمكن شراؤه من هـنـا.
  • H-Bridge , يمكن شراؤه من هـنـا .
  • Door Lock Actuator , يمكن شراؤه من هنا .
  • مفتاح كهربائي (switch & push button  ).
  • شاشة LCD16x2  يمكن شراؤها من هـنـا .
  • مقاومات .
  • ليدات (LEDs).
  • طنان كهربائي (buzzer).
  • لوحة تجارب و اسلاك توصيل .


- يمكنك قراءة هذا المقال عن كيفية شراء القطع الالكترونية بسهولة عبر الانترنت من هـنـا .




• وضـع RFID : 



تقنية (RFID) وتعني ( تحديد الهوية باستخدام موجاتالراديو Radio Frequency Identifcation ). وتعتبر أشهر تقنيات التواصل قريب المدى NFC.

تتكون هذه التقنية ببساطة من ثلاثة أجزاء رئيسية هي:  
  1. البطاقة التي تحتوي على جهاز الإرسال والمعلومات.
  2. جهاز القراءة والإرسال. 
  3. برامج الحاسوب وقواعد البيانات.

تحتوى كل البطاقات (RFID tag) علي كود خاص مكون من خمسة خانات يتم بثها لاسلكيا بمجرد أن تقرب البطاقة من جهاز القراءة (RFID Reader) و تتعدد أشكال البطاقات و ألوانها على حسب الشركة المصنعة و الجهة التي تستخدمها

و جهاز القراءة هو من سيقرأ الكود الخاص بالبطاقة , ويرسله للآردوينو .
استخدمنا في هذه التجربة قارئ من نوع  RFID-RC522 RF IC Card Sensor  
يعتمد هذا الموديول على بروتوكول SPI  للتواصل مع الاردوينو .
لذلك نصل هذا الموديول مع المداخل الخاصة بالـSPI في الاردوينو كالتالي :

 MOSI : Pin 11 
 MISO : Pin 12 
 SCK  : Pin 13 
 SS  : Pin 10
RST : Pin 9

اضغط على الصورة لتكبيرها

- الموديول يعمل على 3.3V  و ليس 5V !
- مخرج IRQ يترك  بدون توصيل !
الموديول اصبح جاهزاً لبرمجتـه .

قم بتحميل المكتبة الخاصة بهذا الموديول من هـنـا .
ستقوم هذه المكتبة بقراءة البطاقة و تخزين الكود الخاص بها في مصفوفة مكونة من خمسة خانات اسمها rfid.serNum .

اذن يمكن قراءة رقم البطاقة و عرضها بسهولة (يمكن الاطلاع على الامثلة المرفقة بالمكتبة ) , لكن كيف سيتم التعرف على البطاقات الموثوقة , و كيف نحفظ وقت الدخول و الخروج ؟!

يجب ان يتم تخزين ارقام البطاقات الموثوقة مسبقاً في كود الاردوينو.
و عند قراءة اي بطاقة يقارنها الاردوينو مع ارقام البطاقات المخزنة , و في حال وجود تطابق تكون هذه البطاقة موثوقة و يُفتح لها الباب ! 
و يجب ايضأ تخزين وقت الدخول لهذه البطاقة , و عند الخروج نطرح وقت الخروج من وقت الدخول لمعرفة عدد ساعات العمل !
لاحظ انه يجب ايضاً تحديد حالة البطاقة (دخول أو خروج ) لتحديد الوظيفة التي سينفذها الاردوينو .

يبدو ان لدينا كمية كبيرة من البيانات يجب ان نتعامل معها , و اسهل طريقة لترتيبها هو وضعها في مصفوفة .( كما في الشكل ) .



نعمل مصفوفة مكونة من 7 صفوف , و اي عدد أعمدة تريد ( يجب ان يكون عدد الاعمدة اكبر من عدد البطاقات ) , كل عامود سيمثل ارقام البطاقة و بياناتها .
اول خمسة صفوف ستحتوي على رقم البطاقة .
الصف السادس سيحتوي على حالة البطاقة ( 1=في الداخل , 0 = في الخارج).
الصف السابع يحتوي على زمن الدخول .

هذا مثلاً كود عمل مصفوفة مكونة من 7 صفوف و 50 عامود اسمها Employee .

int Employee[7][50];


و لنخزن في العامود الاول رقم البطاقة الاولى في اول خمسة صفوف .
(العد في لغة C++ يبدأ من الصفر , أي ان العامود الاول رقمه 0 )

 Employee[0][0] =110;
 Employee[1][0] =241;
 Employee[2][0] =127;
 Employee[3][0] =161;
 Employee[4][0] =65;


و لنجعل الاردوينو يقارن رقم بطاقة معينة مع ارقام البطاقات المخزنة ( في rfid.serNum ذكرناها سابقا) .
سنستخدم جملة For للمرور على جميع الأعمدة ...
و جملة IF لمقارنة ارقام البطاقت معاً ..  
كالآتي :

 for ( Employee_Number=0 ; Employee_Number<50 ; Employee_Number++ ) {
        
      if(      Employee[0][Employee_Number] == rfid.serNum[0]&&
               Employee[1][Employee_Number] == rfid.serNum[1]&&
               Employee[2][Employee_Number] == rfid.serNum[2]&&
               Employee[3][Employee_Number] == rfid.serNum[3]&&
               Employee[4][Employee_Number] == rfid.serNum[4])
               {
                //do something  
                break ;}

 }   
 }

اذاً .. عند تقريب بطاقة مـا من الموديول , يقرأ الاردوينو ارقام هذة البطاقة و يخزنها في (rfid.serNum ) , ثم يدخل الى جملة For و يبدأ بمقارنة هذه الارقام مع الارقام المخزنة
في مصفوفة (Employee).
اذا لـم يجد تطابق (يعني البطاقة ليست موثوقة ) لا يقم بعمل شيء .

اما اذا وجد تطابق مع احد البطاقات المخزنة , يقوم اولاً بفتح الباب , ثم و حسب حالة البطاقة ينفذ وظيفة معينة . 
اذا كانت حالة البطاقة دخول : سيخزن زمن الدخول , و يعرض Welcome و رقم الموظف على الشاشة !
اما اذا كانت حالة البطاقة خروج : سيطرح زمن الدخول من الوقت الحالي و يعرض وقت العمل على الشاشة .

يمكن تنفيذ ذلك من خلال الكود التالي :

- قيمة X هي رقم البطاقة التي حصل عندها التطابق.

void a(int x){
  
digitalWrite(buzzer,1);//تنبيه بسيط
delay(100);
digitalWrite(buzzer,0);
delay(100);
digitalWrite(LED_1,0);

  if (Employee[5][x] == 0)  {
      Employee[5][x] = 1;
      Employee[6][x] = (millis()/60000 );
      lcd.clear() ;
      lcd.setCursor(0, 0);
      lcd.print("WELCOME : ");
      lcd.setCursor(10, 0);
      lcd.print(x);
      OPEN();
      delay(3000);
      CLOSE();
               }

      
  else if (Employee[5][x] == 1)   {
      Employee[5][x] = 0;
      start_time = Employee[6][x] ;
      now = millis()/60000;
      work_time = now - start_time  ;
      Employee[6][x] = 0;
      lcd.clear() ;
      lcd.setCursor(0, 0);
      lcd.print("GOODBYE : ");
      lcd.setCursor(0, 1);
      lcd.print(work_time);
      lcd.setCursor(10, 0);
      lcd.print(x);
      lcd.setCursor(8, 1);
      lcd.print("minute");
      OPEN();
      delay(3000);
      CLOSE();
           }

} 


يجب ان نتذكر ان هذا النظام يمكن تشغيله باكثر من وضع ( وضع الطوارئ  وضع حساس الحركة , البلوتوث ) ,و يتم التنقل بينهم من خلال المفاتيح , لذلك يجب ان نتأكد من حالة المفاتيح قبل ان يعمل كود الـ RFID .. 





• وضع PIR : 




في هذا الوضع ستفتح البوابة تلقائاً عند اقتراب شخص منها .
عن وجود حركة (اقتراب شخص ) سيعطي الحساس اشارة (HIGH) , ثم يقوم الاردوينو بقتح البوابة لمدة زمنية ثم اغلاقها . 

  • اولاً يتأكد من انه لا توجد اشارة طوارئ (button) .
  •  يتأكد ان المفتاح على وضع الـ PIR .
  • يعرض على الشاشة الوضع الحالي . 
  • الحساس موصول على المدخل  A3 .


while( digitalRead(button)== LOW && digitalRead(main_button)==  HIGH ){ 
  lcd.clear() ;
  lcd.print("Smart Door System");
  lcd.setCursor(0, 1);
  lcd.print("      PIR");

  if (digitalRead(A3)){  
    OPEN();
    delay(10000);
    CLOSE();
  }

delay(1000);
}






• وضع البلوتوث :





وضع البلوتوث يعمل مع وضع الـ RFID , و الهدف منه هو تجاوز حماية الـRFID و فتح البوابة دون الحاجة لبطاقة .



توصيل موديول البلوتوث كالتالي :







و يمكن اختيار اي تطبيق لاستخامه . في تطبيق Blue Control مثلاً سوف نستخدم الزر في الوسط لفتح البوابة . ( سيرسل التطبيق حرف C عند الضغط عليه ) 


ليكون الكود كالتالي : 

- لاحظ ان موديول البلوتوث موصول على المداخل 0 و1 الخاصة بالتواصل التسلسلي في الآردوينو , لذلك يجب فصلها عند تحميل الكود على الاردوينو .

if (Serial.available()) {
   int data = Serial.read();
   if ( data == 'C' ){
     OPEN();
     delay(3000);
     CLOSE();
   
   }
 }





• وضع الطوارئ :


ببساطة سيقوم الاردوينو في هذا الوضع بفتح البوابة حال وجود اشارة طوارئ .
في هذه التجربة اشارة الطوارئ قادمة من مفتاح كهربائي (push button) , لكن يمكن ربط الجهاز مباشرة مع انظمة الحماية في المبنى .

 while(digitalRead(button)== HIGH){
  E_OPEN();
  digitalWrite(LED_1,1);
  digitalWrite(buzzer,1);
  delay(50);
  digitalWrite(LED_1,0);
  digitalWrite(buzzer,0);
  delay(50);
  lcd.clear() ;
  lcd.setCursor(0, 0);
  lcd.print("Emergency");
}






• قفل البوابة 

لإغلاق و فتح البوابة سنتحكم بالقفل الخاص بها , باستخدام Door Lock Actuator الخاص بأقفال السيارات  .



 و هو عبارة عن محرك 12V موصول بآلية معينة لتحويل حركته الدائرية لحركة افقية .
سنتحكم به من خلال H-Bridge بالاتجاهين للداخل و الخارج .

و يتم توصيله كالتالي :
اضغط على الصورة لتكبيرها




و الآن سنكتب كود لفتح البوابة و اغلاقها ..


  • بعد اغلاق او فتح القفل سيستمر المحرك بسحب تيار لكن بدون حركة , و بالتالي تبدأ حرارته و حرارة الـ H-Bridge بالارتفاع , لذلك يجب قطع التيار عنهم بعد مدة قصيرة ( هذا سبب استخدام void OFF )!
  • IN1 و IN2 موصولين على A4 و A5  في الاردوينو

void CLOSE (){
  // void this part to close the door .
  digitalWrite(IN1,1);
  digitalWrite(IN2,0);
  delay(100); 
  OFF();
}

void OPEN (){
  // void this part to open the door .
  digitalWrite(IN1,0);
  digitalWrite(IN2,1);
  delay(100); 
  OFF(); 
}

void OFF (){
  digitalWrite(IN1,0);
  digitalWrite(IN2,0);
  
}

void E_OPEN (){  // emergency open
  // void this part to open the door .
  digitalWrite(IN1,0);
  digitalWrite(IN2,1); 
}

إقرأ المزيد.. bloggeradsenseo

الثلاثاء، 15 مارس 2016

طريقة مشاهدة قنوات bein sports على هاتفك

طريقة مشاهدة قنوات bein sports وقنوات عربية وعالمية على هاتفك
طريقة مشاهدة قنوات bein sports على هاتفك,

في هذه التدوينة ساشرح لكم مجموعة من التطبيقات المميزة التي تمكنك من مشاهد المباريات مجاناً وايضاً يمكنك مشاهد جميع القنوات العربية والاجنبية من خلال هذه التطبيقات ومميزات رائعة وبجودة عالية وبدون تقطيع لن اطيل عليكم فلنبدأ :

ملاحظة : عليك تحميل تطبيق mx player وهو عبارة عن مشغل فيديو قبل تحميل اي من التطبيقات الاتية فهي لن تعمل بدونة :

تطبيق كول كورة :  

كول كورة يعتبر من افضل المواقع العربية في مجال مشاهدة المباريات فمن خلاله يمكنك مشاهدة جميع المباريات من خلال الموقع على الحاسوب ويمكنك من خلال الهاتف ايضاً من خلال تحميل تطبيق متاح للأندرويد والايفون والويندوز .

تطبيق wssiptv  :

تطبيق اخر مميز للغاية يمكنك من مشاهدة قنوات  bein sports وليس هذا فقط ويحتوى ايضاً على قنوات عربية واجنبية يمكنك مشاهدتها من خلال هاتفك مجاناً وبدون اي مشاكل والتطبيق متاح لهواتف الاندرويد يمكنك تحميل من الرابط .




في نهاية التطبيق الان بامكانك مشاهد المباريات وجميع قنواتك المفضلة من خلال هاتفك مجاناً وبدون اي مشاكل وبجودة عالية لاتسنى مشاركة الموضوع مع اصدقائك  
إقرأ المزيد.. bloggeradsenseo

كيف تستفيد من الأنترنيت مجانا عبر VPN


تطبيق VPN للحصول على الانترنيت مجانا على اندرويد
حقا أعلم أن هذا الموضوع ينتظره الكثير منكم، فكما يعلم الجميع توجد العديد من الطرق للحصول على الأنترنت المجاني 3G على هاتفك، سواء عبر التطبيق المشهور opera mini او عن طريق خدمات vpn، - virtual private network- هنا أقدم لك ثلاث تطبيقات جديدة تمكنك من الإتصال بسيرفيرات دول أخرى عليها مجانا
  

كيف تستفيد منا الأنترنيت مجانا عبر  vpn:

أولا يجب أن تتوفر على رصيد ولو قليل جدا على هاتفك، هذا الرصيد هو الذي يسمح بالإتصال بهذه السيرفيرات عبر واحدة من بين هذه التطبيقات، وبالإتصال بسيرفر معين هذا يسمح لك بتعطيل استهلاك الرصيد على هاتفك، ومن هنا يمكن لك الإستفادة دائما من الأنترنت المجاني طالما تستخدم هذه التطبيقات.
ملاحظة: عندما نقول رصيد فقد يعني في بعض الدول التي تعتمد على عروض الانترنيت المحدود، ميجات محدودة من الانترنيت.

1- تطبيق TroidVPN - Android VPN:

لا يتطلب هذا التطبيق اية خبرة فقط اعدادات بسيطة، افتح التطبيق و في الخيار الأول والثاني لا تغير أي شئ ، ثم في الخيار الثالث تختار السيرفر الذي هو مجاني free 4، وفي الخيار الرابع تضع 500 وفي البورت تضع 8080، ثم أخيرا في البروتوكول تضع icmp وتضغط على connect وسيتم الإتصال بالسيرفر والحصول على النت المجاني كما يظهر في الصورة (كل شيئ موضح في الصورة)
 
تحميل تطبيق TroidVPN - Android VPN:

2- تطبيق Zero VPN:

بعد فتح هذا التطبيق يجب أن تنتظر قليلا حتى تظهر الخريطة، وتنبثق نافذة تختار فيها سيرفر لدولة معينة وتتصل به، وهكذا لن يتم اقتطاع أي رصيد من هاتفك، في حالة تم اقتطاعه ماعليك إلاّ تجريب سيرفر دولة أخرى وهكذا.
 
 تحميل تطبيق Zero VPN:

3- تطبيق SuperVPN Free VPN Client:

من أفضل التطبيقات أيضا والتي تعطيك حماية وخصوصية أكبر على هاتفك، إضافة إلى منع استهلاك الرصيد، وبالتالي الحصول على الأنترنت مجانا، بمجرد فتح التطبيق تقوم بالضغط على connect وسيقوم التطبيق بالإتصال بأفضل سيرفر مناسب لك قريب منك، ومن القائمة أيضا تستطيع اختيار البلد الذي تريده.
إقرأ المزيد.. bloggeradsenseo

Wathsapp مميزات تحديث واتساب الجديد على أندرويد


قبل أيام حدثت شركة الواتساب تطبيقها على منصة الأندرويد والتي أضافت لها بعض المميزات المنتظرة والجميلة




والتي كانت تفتقر الواتساب ، ولكنها متواجدة في برنامج التواصل الآخر المسمى بتلجرام والمميزات هي:


أولا : إمكانية كتم أشخاص معينة من صوت اشعار هاتفك :


اما لانهم مزعجون او كثيروا الارسال ،هي موجوده للمجموعات سابقا والجميل أنها اتت لجهات الاتصال ايضا،  وطريقة الكتم كالتالي:


  • اذهب الى الشخص المراد كتمه ، ثم اضغط على اسمه

 

 قم بتفعيل خيار كتم الصوت

 

 ثم حدد كم المده التي لا تريد وصول صوت الاشعارات ، بالإضافة الى امكانية اخفاء الاشعار وعد ظخوره في قائمة التنبيهات بإزالة علامة الصح

 



ثانيا: لتخصيص نغمة لجهة اتصال معينة :


اختر الاشعارات المخصصة

 



 ثم فعل الخيار وقم بوضع نغمة واهتزاز بحسب ما تريد

 



ثالثا : وجود ألوان متعددة لبعض الوجوه التعبيرية:

من المميزات التي اضافتها الشركة في تحجيث تطبيقها هو وجود عده الوان لبعض الفيسات

 



رابعا: ميزة الرسائل الغير مقروءه :


وهي الميزة الأروع في هذا التحديث ، فهي مفيدة جدا خصوصا عندما يكون لك تذكير بموعد او مهمة او غيره فإنك قد تنسى ، ولكن بعد قراءتها وتفعليها لن تنسى انك وكلت بمهمة ما ، وهذه الميزة متوفرة في البريد الالكتروني مثل جيميل و أوت لوك ، ويعتبر واتساب أول تطبيق يضيف هذه الميزة من تطبيقات التواصل ، والطريقة كالتالي:


قم بالضغط المطول على الدردشة مع الشخص و اختر تمييز كغير مقروءة

 

 ستظهر لك علامه بالرساله  .

 



خامسا: مراسلة اي جهة اتصال مرسلة لك بدون تسجيله :


أضافت الشركة ميزة عندما يرسل لك شخص ما رقم ، وعند اختيار زر الرساله فانك ستدخل مباشره للمحادثه معه بدون ان تقوم بحفظ رقمه .

 

 وننتظر المزيد من المميزات للتطبيق ، وبإمكانك الحصول على الميزة من تحديثك للتطبيق من قوقل بلاي
إقرأ المزيد.. bloggeradsenseo

تطبيق يمكنك لإتصال مجانا بدون الحاجة إلى الأنترنت

هو تطبيق برازيلي جديد يمنحك 19 دقيقة للإتصال مجانا بدون الحاجة إلى الأنترنت ، وشخصيا جربته وكان أكثر من رائع بالإضافة إلى أنه يدعم جميع الدول بما فيه العربية ، حيث يكفي تحميل التطبيق وتثبيته على هاتفك ثم إدخال رقمك وبعدها يمكنك عمل مكالمات مجانية بالطريقة التي سأشرحها لك في هذه التدوينة .


أولا قم بتحميل التطبيق من هنا
بعد تثبيته على هاتفك قم بفتح ثم قم بوضع إسمك واختيار دولتك ورقم هاتفك ، ثم تاريخ ميلادك وانتظر قليلا حتى تصلك رسالة التفعيل إلى هاتفك ، وهكذا يمكن استعمال التطبيق ، وستلاحظ أنه يمنحك 19 دقيقة للإتصال 


عندما تتصل بأي شخص عليك الإنتظار حتى يتصلون بك ، وتضغط على ANSWER وهكذا سيتصلون بالرقم الذي أدخلته ويمكنك عمل معه مكالمة مجانية


هذا التطبيق أفضل من رائع جربته بنفسي وشاركته معكم أخوكم العسري .
تحميل التطبيق من هنا
إقرأ المزيد.. bloggeradsenseo
تطوير : مدونة حكمات