17‏/03‏/2024

 اغنية

29‏/06‏/2019


الفرق بين  SSD وHDD


الفرق بين قرص SSD وHDD

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

HDD

و هي اختصار ل Hard Disk Drive و هو هارد يستخدم إبرة مغناطيسية مخصصة للقراءة و الكتابة لكي يخزن البيانات على القرص تقوم بقراءة و تفسير محتويات القرص الدوار و كلما كانت سرعة دوران القرص أكبر كلما كان الهارد أسرع  ، و تختلف سرعة دوران القرص حسب نوع ال HDD.
يوفر هارد HDD مساحة تصل إلى 6 تيرا بايت.

قرص HDD

SSD

و هي اختصار ل Solid State Drive هذا الهارد يعتمد على تقنية الفلاش التي تخزن فيها البيانات ،  يمكن أن يكون  SDD مثبت على اللوحة الأم نفسها في بعض أنواع الأجهزة ، أو عن طريق مدخل PCI مثل كرت الشاشة ، أو يمكن أن يكون على شكل ال HDD.
يوفر هارد HDD مساحة تصل من 0,5 إلى 1 تيرا بايت.
قرص SSD


الفرق بين SSD و HDD 

  • سرعة نقل البيانات في SSD أكبرمن HDD 
  • سرعة القراءة و الكتابة في SSD أكبر من HDD
  • يستهلك HDD طاقة أكثر بكثير من الطاقة التي يستهلكها SDD لكي يجعل القرص يدور بسرعة كبيرة 
  • سرعة الإقلاع و تشغيل البرامج و الألعاب ستكون أكبر في SSD 
  • سعر HDD رخيص مقارنة مع SSD 
  • SSD أكثر متانة من HDD 
  • HDD اكثر ضجيج من SSD بسبب وجود أجزاء متحركة
  • يتفوق HDD على SSD من ناحية التخزين


04‏/04‏/2019



10 Arduino projects


 مشاريع أردوينو

By Jamal Nasser

1-إشارة مرور:

الأدوات:

1-أردوينو أونو
2-مقاومات 100 اوم
3-مصابيح LED
4-لوحة توصيل
5-أسلاك توصيل

توصيل الدارة:



إشارة مرور




الكود البرمجي:



int GREEN = 2;
int YELLOW = 3;
int RED = 4;
int DELAY_GREEN = 5000;
int DELAY_YELLOW = 2000;
int DELAY_RED = 5000;
void setup()
{
pinMode(GREEN, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(RED, OUTPUT);
}
void loop()
{
green_light();
delay(DELAY_GREEN);
yellow_light();
delay(DELAY_YELLOW);
red_light();
delay(DELAY_RED);
}
void green_light()
{
digitalWrite(GREEN, HIGH);
digitalWrite(YELLOW, LOW);
digitalWrite(RED, LOW);
}

void yellow_light()
{
digitalWrite(GREEN, LOW);
digitalWrite(YELLOW, HIGH);
digitalWrite(RED, LOW);
}

void red_light()
{
digitalWrite(GREEN, LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(RED, HIGH);
}


2إشارة مرور بثلاث تقاطعات:

الأدوات:

1-أردوينو أونو
2-مقاومات
3-مصابيح LED
4-لوحة توصيل
5-أسلاك توصيل

توصيل الدارة:



إشارة مرور بثلاث تقاطعات




الكود البرمجي:

void setup()
{
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
}
void loop() 
{
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(8,1);
digitalWrite(2,0);
digitalWrite(6,0);  
digitalWrite(3,0);
digitalWrite(7,0);
digitalWrite(10,0);
digitalWrite(9,0);
delay(5000);
digitalWrite(6,1);     
digitalWrite(5,0);  
delay(1000);
digitalWrite(2,1);
digitalWrite(8,1);
digitalWrite(7,1);
digitalWrite(3,0);    
digitalWrite(6,0);
digitalWrite(9,0);
digitalWrite(5,0);
digitalWrite(10,0);
digitalWrite(4,0);
delay(5000);
digitalWrite(9,1);          
digitalWrite(8,0);        
delay(1000);
digitalWrite(5,1);
digitalWrite(2,1);
digitalWrite(10,1);
digitalWrite(6,0);
digitalWrite(8,0);           
digitalWrite(4,0);
digitalWrite(7,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(9,0);
delay(5000);
digitalWrite(3,1);           
digitalWrite(2,0);
delay(1000);
}

3-عداد 7segment-cc:

الأدوات:

1-أردوينو أونو
2- 4 مقاومات 330 اوم
3- 7segment
4-لوحة توصيل
5-أسلاك توصيل

توصيل الدارة:

عداد 7segment-cc





الكود البرمجي:




#include "SevSeg.h"
SevSeg sevseg;
void setup() {
byte numDigits = 4;
byte digitPins[] = {2, 3, 4, 5};
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13};
sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins);
sevseg.setBrightness(90);
}
void loop() 
{
sevseg.setNumber(3141, 3);
sevseg.refreshDisplay();
}


4-قياس درجة الحرارة و سطوع الإضاءة:

الأدوات:

1-أردوينو أونو
2-شاشة LCD
3-مقاومة متغيرة 10K
4-مقاومة 1K
Photocell
6-حساس حرارة
7-لوحة توصيل
8-أسلاك توصيل

توصيل الدارة:

قياس درجة الحرارة و سطوع الإضاءة


الكود البرمجي:

#include <LiquidCrystal.h>
int tempPin = 0;
int lightPin = 1;
 //                BS  E  D4 D5  D6 D7
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup()
{
lcd.begin(16, 2);
}
 void loop()
{
int tempReading = analogRead(tempPin);
float tempVolts = tempReading * 5.0 / 1024.0;
float tempC = (tempVolts - 0.5) * 100.0;
float tempF = tempC * 9.0 / 5.0 + 32.0;
lcd.print("Temp         F  ");
lcd.setCursor(6, 0);
lcd.print(tempF);
int lightReading = analogRead(lightPin);
lcd.setCursor(0, 1);
lcd.print("Light           ");  
lcd.setCursor(6, 1);
lcd.print(lightReading);
delay(500);
}


5-قفل الكتروني:

الأدوات:

1-أردوينو أونو
2-كيبادة
3-قفل 
4-ريليه
5-بطارية 9V
6-مقاومة 220
7-مقياس جهد
8-شاشة LCD
9-لوحة توصيل
10-أسلاك توصيل

توصيل الدارة:

قفل الكتروني




الكود البرمجي:


#include <Keypad.h>
#include<LiquidCrystal.h>
#include<EEPROM.h>
LiquidCrystal liquid_crystal_display(9,8,7,6,5,4,);
char password[4];
char initial_password[4],new_password[4];
int i=0;
int relay_pin = 10;
char key_pressed=0;
const byte rows = 4; 
const byte columns = 4; 
char hexaKeys[rows][columns] = 
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte row_pins[rows] = {A0,A1,A2,A3};
byte column_pins[columns] = {A4,A5,3,2};   
Keypad keypad_key = Keypad( makeKeymap(hexaKeys), row_pins, column_pins, rows, columns);
void setup()
{
pinMode(relay_pin, OUTPUT);
liquid_crystal_display.begin(16,2);
liquid_crystal_display.print(" DIYhacking.com");
liquid_crystal_display.setCursor(0,1);
liquid_crystal_display.print("Electronic Lock ");
delay(2000);
liquid_crystal_display.clear();
liquid_crystal_display.print("Enter Password");
liquid_crystal_display.setCursor(0,1);
initialpassword();
}
void loop()
{
digitalWrite(relay_pin, HIGH);
key_pressed = keypad_key.getKey();
if(key_pressed=='#')
change();
if (key_pressed)
{
password[i++]=key_pressed;
liquid_crystal_display.print(key_pressed);
}
if(i==4)
{
delay(200);
for(int j=0;j<4;j++)
initial_password[j]=EEPROM.read(j);
if(!(strncmp(password, initial_password,4)))
{
liquid_crystal_display.clear();
liquid_crystal_display.print("Pass Accepted");
digitalWrite(relay_pin, LOW);
delay(2000);
liquid_crystal_display.setCursor(0,1);
liquid_crystal_display.print("Pres # to change");
delay(2000);
liquid_crystal_display.clear();
liquid_crystal_display.print("Enter Password:");
liquid_crystal_display.setCursor(0,1);
i=0;
}
else
{
digitalWrite(relay_pin, HIGH);
liquid_crystal_display.clear();
liquid_crystal_display.print("Wrong Password");
liquid_crystal_display.setCursor(0,1);
liquid_crystal_display.print("Pres # to Change");
delay(2000);
liquid_crystal_display.clear();
liquid_crystal_display.print("Enter Password");
liquid_crystal_display.setCursor(0,1);
i=0;
}
}
}
void change()
{
int j=0;
liquid_crystal_display.clear();
liquid_crystal_display.print("Current Password");
liquid_crystal_display.setCursor(0,1);
while(j<4)
{
 char key=keypad_key.getKey();
if(key)
{
new_password[j++]=key;
liquid_crystal_display.print(key);
}
key=0;
}
delay(500);
if((strncmp(new_password, initial_password, 4)))
{
liquid_crystal_display.clear();
liquid_crystal_display.print("Wrong Password");
liquid_crystal_display.setCursor(0,1);
liquid_crystal_display.print("Try Again");
delay(1000);
}
else
{
j=0;
liquid_crystal_display.clear();
liquid_crystal_display.print("New Password:");
liquid_crystal_display.setCursor(0,1);
while(j<4)
{
char key=keypad_key.getKey();
if(key)
{
initial_password[j]=key;
liquid_crystal_display.print(key);
EEPROM.write(j,key);
j++;
}
}
liquid_crystal_display.print("Pass Changed");
delay(1000);
}
liquid_crystal_display.clear();
liquid_crystal_display.print("Enter Password");
liquid_crystal_display.setCursor(0,1);
key_pressed=0;
}
void initialpassword(){
for(int j=0;j<4;j++)
EEPROM.write(j, j+49);
for(int j=0;j<4;j++)
initial_password[j]=EEPROM.read(j);
}

6-قياس نبضات القلب:

الأدوات:

1-اردوينو اونو
2-حساس نبضات القلب
3-شاشة LCD
4-لوحة توصيل
5-أسلاك توصيل

توصيل الدارة:

قياس نبضات القلب

الكود البرمجي:


#include<LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int in = 8;
int Reset=6;
int start=7;
int count=0,i=0,k=0,rate=0;
unsigned long time2,time1;
unsigned long time;
byte heart[8] = 
{
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000
};

void setup()
{
lcd.createChar(1, heart);
lcd.begin(16,2);
lcd.print("Heart Beat ");
lcd.write(1);
lcd.setCursor(0,1);
lcd.print("Monitering");
pinMode(in, INPUT);
pinMode(Reset, INPUT);
pinMode(start, INPUT);
digitalWrite(Reset, HIGH);
digitalWrite(start, HIGH);
delay(1000);
}
void loop()
{
if(!(digitalRead(start)))
{
k=0;
lcd.clear();
lcd.print("Please wait.......");
while(k<5)
{
if(digitalRead(in))
{
if(k==0)
time1=millis();
 k++;
while(digitalRead(in));
}
}
time2=millis();
rate=time2-time1;
rate=rate/5;
rate=60000/rate;
lcd.clear();
lcd.print("Heart Beat Rate:");
lcd.setCursor(0,1);
lcd.print(rate);
lcd.print(" ");
lcd.write(1);      
k=0;
rate=0;
}
if(!digitalRead(Reset))
{
rate=0;
lcd.clear();
lcd.print("Heart Beat Rate:");
lcd.setCursor(0,1);
lcd.write(1);
lcd.print(rate);
k=0;
}
}

7-تحكم بالبيت الذكي عن طريق البلوتوث:

الأدوات:

1-أردوينو أونو
2-بلوتوث HC-05
3-ريليه
4-ديود
5-ترانزستور 2n2222
6- مقاومات 330 اوم
7-لمبة 220 فولط
8-بطارية 9 فولط
9-لوحة توصيل
10-أسلاك توصيل

توصيل الدارة:

تحكم بالبيت الذكي عن طريق البلوتوث:



الكود البرمجي:



int incomingByte = 0;                            // for incoming serial data
void setup()
{
Serial.begin(9600);                  
pinMode(13, OUTPUT);
}
void loop()
{                                                      
if (Serial.available() > 0) 
{                       
incomingByte = Serial.read()          
Serial.print(“I received: “);
Serial.println(incomingByte, DEC);
if ( incomingByte == 65)
{
digitalWrite(13, HIGH);
}
else if ( incomingByte == 97)
{
digitalWrite(13, LOW);
}
}



8-الإنذار بالليزر:

الأدوات:

1-أردوينو أونو
2-ليزر
3-LED
4-مقاومة متغيرة بالضوء LDR
5-طنان Buzzer
6-مقاومة 10 
7-مقاومة للضوء 220
8-لوحة توصيل
9-أسلاك توصيل

توصيل الدارة:


الإنذار بالليزر

الكود البرمجي:

int sensorPin=A0;
int sensorValue=0; 
int piezoPin=9;
void setup()
{ 
pinMode(sensorPin,INPUT); 
pinMode(7,OUTPUT); 
pinMode(6,OUTPUT); 
pinMode(piezoPin,OUTPUT); 
digitalWrite(7,HIGH);
digitalWrite(6,LOW); 
}
void loop()
{ 
sensorValue=analogRead(sensorPin); 
if(sensorValue<=1000)
{
digitalWrite(piezoPin,HIGH); 
{tone(9,3047,400); noTone(8); } digitalWrite(7,HIGH); } 
else
{digitalWrite(piezoPin,LOW); digitalWrite(7,LOW); }
sensorValue=1000; }

9-حساس غاز:

الأدوات:

1-أردوينو أونو
2-حساس غاز MQ-4
3-شاشة LCD
4-Buzzer
5-مقاومة 220 اوم
6-مقاومة متغيرة 1K
7-لوحة توصيل
8-أسلاك توصيل

توصيل الدارة:

حساس غاز


الكود البرمجي:





#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int potPin = A4;
int potValue = 0;
int buzzer = 6;
void setup() {
lcd.begin(16, 2); // lcd rows and columns
lcd.print("GAS SENSOR");
pinMode(6, OUTPUT);
}
void loop() {
potValue = analogRead(potPin);
lcd.setCursor(0, 1);
lcd.print("Value = ");
lcd.print(potValue);
delay(1000);
lcd.print(" ");
delay(1);
if (potValue>15)
{
digitalWrite(6,HIGH);
delay(1000);
}
}

10-دارة التحكم بشدة الإضاءة:

الأدوات:

1-أردوينو أونو
2-proto shield
3-LDR
4-trimmer
5-مكثفة 100ميكرو فاراد
6-مقاومة 220
7-مقاومة 100
8-مقاومة 1k
9-IRF520 MOSFET
10-لوحة توصيل
11-أسلاك توصيل

توصيل الدارة:

دارة التحكم بشدة الإضاءة:


الكود البرمجي:


const int sensorPin = A0;
const int ledPin = 3;
const int potentiometerPin = A1;
float potentiometerVal;
float sensorVal;//sensor
float light = 0;
float mapping;
void setup(){
Serial.begin(9600);
pinMode(ledPin,OUTPUT);
}
void loop(){
sensorVal = analogRead(sensorPin);
potentiometerVal = analogRead(potentiometerPin);
potentiometerVal = map(potentiometerVal, 0, 1023, 0, 255);
sensorVal = map(sensorVal,0,1023, 255, 0);
mapping = potentiometerVal;
light = map (sensorVal, 0, 255, sensorVal - potentiometerVal , 255);
 if (light <= 0)
light=0;
Serial.print("Brightness: ");
Serial.println(sensorVal);
Serial.print("Mapping: ");
Serial.println(potentiometerVal);
analogWrite(ledPin,light);
Serial.print("Light: ");
Serial.println(light);
delay(15);
}

23‏/02‏/2019


تشفير الأقراص الصلبة و حمايتها


تشفير الأقراص الصلبة و حمايتها

تعتبر الحماية جزء مهم و أساسي في عالم التقنية سواء كان في الحاسوب أو الانترنت ، و خصوصاً عند التعرض للاختراق أو الهكر
و  إذا كان لديك في قرص ما ملفات هامة أو صور  تخص العائلة و تريد حمايتها خوفاً من استخدام الحاسوب من قبل أشخاص آخرين فهنا ينبغي عليك تشفير القرص و هذا سيضمن لك بألا يقوم شخص ما بسرقتها و الدخول إليها و رؤيتها
و في حال تم اختراق الحاسوب و يريد المهاجم أن يسرق صورك و معلوماتك من القرص فسيجد صعوبة بذلك .

طريقة العمل:

1-اذهب إلى لوحة التحكم الموجودة في قائمة ابدأ بعدها قم بالنقر على  النظام و الأمان

الذهاب للنظام و الأمان لتشفير القرص الصلب

2-ثم انقر على تشفير المحركات باستخدام BitLocker

تشفير القرص الصلب باستخدام BitLocker

3-بعد اختيار القرص الذي تريد تشفيره اضغط على  تشغيل BitLocker

تشغيل BitLocker للقرص المراد تشفيره

4-ضع علامة صح ضمن المربع الأحمر في الصورة و قم بوضع كلمة مرور للقرص ، لكن يجب عليك اختيار كلمة مرور قوية لأن هناك طرق خاصة بفك تشفيرات BitLocker

تحديد كلمة مرور من أجل تشفير القرص الصلب

5-بعد وضع كلمة مرور سيتيح لك خيارات لتستخدمها في حال نسيت كلمة المرور لذلك قم بتحديد الخيار المناسب لك و بعدها انقر على بدء التشفير 
ملاحظة:عند عمل فورمات للقرص أو عند حدوث مشاكل به فإن الخيار الذي قمت بتحديده سيساعدك على فك التشفير للقرص

تخزين مفتاح الاسترداد للقرص الصلب

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




04‏/02‏/2019


حل مشكلة عدم الدخول لأي موقع رغم وجود اتصال بالانترنت


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

يتعذر على هذه الصفحة العمل

و لحل هذه المشكلة يوجد عدة طرق:



الطريقة الأولى:


1-القيام بتشغيل متصفح internet explorer  ،
 و يمكنك البحث عنه في حاسوبك بالذهاب إلى قائمة ابدأ ثم قم بكتابة internet explorer في خانة البحث
2-انقر إلى أيقونة الإعدادات ثم انقر على ((خيارات الانترنت)) 
بعدها اذهب إلى ((خيارات متقدمة))


خيارات الانترنت في متصفح internet explorer

3-قم بالتقر على ((استعادة الإعدادات المتقدمة)) و من ثم قم بالضغط على (موافق)


استعادة الإعدادات المتقدمة في متصفح internet explorer

 و سيتم حل المشكلة.


الطريقة الثانية:


اذهب إلى قائمة ابدأ ثم اكتب في خانة البحث cmd ، قم بكتابة الأمر ping 4.2.2.2  و اضغط على (enter) 


كتابة الأمر الأول في نافذة cmd

 و بعد تنفيذ الأمر الأول قم بكتابة الأمر ping www.google.com و انتظر حتى انتهاء العملية.


كتابة الأمر الثاني في نافذة cmd


الطريقة الثالثة:


1-اذهب إلى أيقونة الاتصال بالأنترنت الموجودة في شريط المهام ثم انقر على فتح مركز الشبكة و المشاركة  إذا كنت تستخدم نظام ويندوز 7  
أما إذا كنت تستخدم نظام ويندوز 8 فما فوق ، فقط انقر بزر الفارة الأيمن على الأيقونة و قم باختيار فتح مركز الشبكة و المشاركة.
2-اذهب إلى الاتصالات و انقر على الخانة التي تقع داخل المستطيل الأحمر


فتح مركز الشبكة و المشاركة


3-بعدها قم بالذهاب إلى الخصائص


حالة wireless network connection

4-قم بالضغط مرتين على (internet protocol version 4 (TCP/pv4


خصائص wireless network connection

5-قم بوضع علامة عند الخيار الثاني (الحصول على عنوان خادم DNS التالية:) ، و اكتب العناوين التالية في الخانة المطلوبة

  • خادم DNS المفضل  4222  
  • خادم DNS البديل    8888
و من ثم قم بالضغط على موافق.

خصائص (internet protocol version 4 (TCP/pv4