Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Raspberry pi pico 2w
80 min
Share

كيفية استخدام المفتاح الضغاط مع لوحة الراسبيرى باى بيكو

في هذا الدرس سنتعلم كيفية استخدام المفاتيح الضاغطة مع لوحة الراسبيرى باي بيكو,2W في الجزء الأول سنقوم بعرض الازرار التى تم الضغط عليها على الشاشة, وفي الجزء الثاني سنبني نظاماً لانارة مصابيح LED بلون احمر وازرق واخضر واصفر عند الضغط على ازرار مختلفة باستخدام لوحة راسبيرى باى بيكو 2W.

Project Video

Overview

Getting the Items

Raspberry Pi Pico 2 wireless
Get Item
Push button Switch (5 Pack) - 12mm
Get Item
LED Kit – (4 colors, 5 pieces each)
Get Item
1/4 Watt Resistor (20 Pack)
Get Item
Full-size Breadboard
Get Item
Jumper Wires - Male to Male (40 Pack)
Get Item

Steps

Wiring it Up

قم بتوصيل الأسلاك بين لوحة راسبيرى باى بيكو 2W والمفاتيح الضاغطة والمصابيح كما فى الصورة التالية:

التوصيلات من لوحة راسبيرى باى بيكو 2W :

• نقوم بتوصيل منفذ ال3.3 فولت بلوحة راسبيرى باى بيكو2W   ← المنافذ الموجبة بلوحة التجارب

• منفذ ال GND بلوحة راسبيرى باى بيكو2W  ←المنافذ السالبة بلوحة التجارب

التوصيلات من المفاتيح :

• الطرف الاول من كل مفتاح ضاغط ← المنافذ السالبة بلوحة التجارب

• الطرف الثانى من المفتاح الأول ← منفذ رقم 12 بلوحة راسبيرى باى بيكو 2W

• الطرف الثانى من المفتاح الثانى ← منفذ رقم 13 بلوحة راسبيرى باى بيكو   2W

• الطرف الثانى من المفتاح الثالث ← منفذ رقم 14 بلوحة راسبيرى باى بيكو 2W

• الطرف الثانى من المفتاح الرابع ← منفذ رقم 15 بلوحة راسبيرى باى بيكو2W

ثالثاً: التوصيلات من المصابيح

• الطرف الموجب من المصباح الأحمر ← منفذ رقم 19 فى لوحة راسبيرى باى بيكو 2W

• الطرف السالب من المصباح الأحمر ← مقاومة 220 اوم ← المنافذ السالبة بلوحة التجارب

• الطرف الموجب من المصباح الأزرق ← منفذ رقم 18 فى لوحة راسبيرى باى بيكو 2W

• الطرف السالب من المصباح الأزرق ← مقاومة 220 اوم ← المنافذ السالبة بلوحة التجارب

• الطرف الموجب من المصباح الأخضر ← منفذ رقم 17 فى لوحة راسبيرى باى بيكو 2W

• الطرف السالب من المصباح الأخضر ← مقاومة 220 اوم ← المنافذ السالبة بلوحة التجارب

• الطرف الموجب من المصباح الأصفر ← منفذ رقم 16 فى لوحة راسبيرى باى بيكو 2W

• الطرف السالب من المصباح الأصفر ← مقاومة 220 اوم ← المنافذ السالبة بلوحة التجارب

Coding

الكود البرمجى الأول يقوم بعرض الأزرار التى تم الضغط عليها على الشاشة, بينما الكود البرمجى الثانى يقوم بانارة مصابيح LED بلون احمر وازرق واخضر واصفر عند الضغط على ازرار مختلفة باستخدام لوحة راسبيرى باى بيكو 2W.

'''

Voltaat Learn (http://learn.voltaat.com)

Link to the full tutorial:

Tutorial: How to Use a push button with the Raspberry Pi Pico.

This sketch prints the push buttons value.

Note: You can use this sketch with any Raspberry Pi Pico.

'''

from machine import Pin

import time

# تعريف المفاتيح الضاغطة مع تفعيل PULL_UP (الأزرار متصلة مع الأرضي)

button_1 = Pin(12, Pin.IN, Pin.PULL_UP)

button_2 = Pin(13, Pin.IN, Pin.PULL_UP)

button_3 = Pin(14, Pin.IN, Pin.PULL_UP)

button_4 = Pin(15, Pin.IN, Pin.PULL_UP)

print("Press any button!")

while True:

   if button_1.value() == 0:

       print("Button 1 Pressed")

       time.sleep(0.3)  # تأخير بسيط لتجنب الطباعة المتكررة أثناء الضغط

   if button_2.value() == 0:

       print("Button 2 Pressed")

       time.sleep(0.3)

   if button_3.value() == 0:

       print("Button 3 Pressed")

       time.sleep(0.3)

   if button_4.value() == 0:

       print("Button 4 Pressed")

       time.sleep(0.3)

'''

Voltaat Learn (http://learn.voltaat.com)

Link to the full tutorial:

Tutorial: How to Use a push button with the Raspberry Pi Pico.

This sketch controls LEDs with push buttons.

Note: You can use this sketch with any Raspberry Pi Pico.

'''

from machine import Pin

import time

# تعريف المنافذ الخاصة بالمصابيح

led_red = Pin(19, Pin.OUT)

led_blue = Pin(18, Pin.OUT)

led_green = Pin(17, Pin.OUT)

led_yellow = Pin(16, Pin.OUT)

# تعريف المفاتيح الضاغطة مع تفعيل PULL_UP

button_1 = Pin(12, Pin.IN, Pin.PULL_UP)

button_2 = Pin(13, Pin.IN, Pin.PULL_UP)

button_3 = Pin(14, Pin.IN, Pin.PULL_UP)

button_4 = Pin(15, Pin.IN, Pin.PULL_UP)

# متغيرات لحفظ حالة كل مصباح

red_state = 0

blue_state = 0

green_state = 0

yellow_state = 0

# متغيرات لتتبع حالة الأزرار السابقة (لتجنب التكرار أثناء الضغط المستمر)

prev_b1 = 1

prev_b2 = 1

prev_b3 = 1

prev_b4 = 1

while True:

   # الزر الأول → LED الأحمر

   if button_1.value() == 0 and prev_b1 == 1:  # تم الضغط

       red_state ^= 1                          # تبديل الحالة

       led_red.value(red_state)

       time.sleep(0.2)                         # تأخير بسيط لتجنب الاهتزاز

   prev_b1 = button_1.value()

   # الزر الثاني → LED الأزرق

   if button_2.value() == 0 and prev_b2 == 1:

       blue_state ^= 1

       led_blue.value(blue_state)

       time.sleep(0.2)

   prev_b2 = button_2.value()

   # الزر الثالث → LED الأخضر

   if button_3.value() == 0 and prev_b3 == 1:

       green_state ^= 1

       led_green.value(green_state)

       time.sleep(0.2)

   prev_b3 = button_3.value()

   # الزر الرابع → LED الأصفر

   if button_4.value() == 0 and prev_b4 == 1:

       yellow_state ^= 1

       led_yellow.value(yellow_state)

       time.sleep(0.2)

   prev_b4 = button_4.value()

   time.sleep(0.01)  # تأخير صغير للحلقة

Testing it Out

z7lrCjWd9p0

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

Resources

No items found.