Სარჩევი:

მრავალჯერადი LED- ების კონტროლი Python– ით და თქვენი Raspberry Pi– ს GPIO ქინძისთავებით: 4 ნაბიჯი (სურათებით)
მრავალჯერადი LED- ების კონტროლი Python– ით და თქვენი Raspberry Pi– ს GPIO ქინძისთავებით: 4 ნაბიჯი (სურათებით)

ვიდეო: მრავალჯერადი LED- ების კონტროლი Python– ით და თქვენი Raspberry Pi– ს GPIO ქინძისთავებით: 4 ნაბიჯი (სურათებით)

ვიდეო: მრავალჯერადი LED- ების კონტროლი Python– ით და თქვენი Raspberry Pi– ს GPIO ქინძისთავებით: 4 ნაბიჯი (სურათებით)
ვიდეო: Cloud Computing - Computer Science for Business Leaders 2016 2024, ივლისი
Anonim
მრავალი LED- ის კონტროლი პითონთან და თქვენი ჟოლოს პიის GPIO ქინძისთავებით
მრავალი LED- ის კონტროლი პითონთან და თქვენი ჟოლოს პიის GPIO ქინძისთავებით

ეს ინსტრუქცია გვიჩვენებს, თუ როგორ უნდა აკონტროლოთ GPIO- ს რამოდენიმე ქინძისთავი თქვენს RaspberryPi– ზე, რათა ჩართოთ 4 LED. ის ასევე გაგაცნობთ პარამეტრებს და პირობით განცხადებებს პითონში.

ჩვენი წინა ინსტრუქცია თქვენი ჟოლოს პიის GPIO ქინძისთავების გამოყენებით LED- ის გასაკონტროლებლად გვიჩვენებს, თუ როგორ უნდა ჩართოთ და გამორთოთ ერთი LED GPIO.output ბრძანების გამოყენებით. ეს ინსტრუქცია ემყარება ამ ცოდნას, გასწავლით თუ როგორ მიიღოთ მეტი კონტროლი თქვენს წრეზე.

ნაბიჯი 1: რაც დაგჭირდებათ

რაც დაგჭირდებათ
რაც დაგჭირდებათ
რაც დაგჭირდებათ
რაც დაგჭირდებათ

- Raspbian– ით უკვე დაინსტალირებული RaspberryPi. თქვენ ასევე უნდა გქონდეთ წვდომა Pi– ზე მონიტორის, მაუსის და კლავიატურის გამოყენებით ან დისტანციური სამუშაო მაგიდის საშუალებით. თქვენ შეგიძლიათ გამოიყენოთ Raspberry Pi- ს ნებისმიერი მოდელი. თუ თქვენ გაქვთ Pi Zero– ს რომელიმე მოდელი, შეიძლება დაგჭირდეთ სათაურის რამდენიმე ქინძისთავის ჩასმა GPIO პორტში.

- წითელი, ლურჯი, ყვითელი და მწვანე LED- ები

- Solderless Prototyping Breadboard

- 4 x 330 ohm რეზისტორები

- ზოგიერთი მამაკაცი ქალი მდედრის მავთულები

ნაბიჯი 2: შექმენით თქვენი წრე

შექმენით თქვენი წრე
შექმენით თქვენი წრე
შექმენით თქვენი წრე
შექმენით თქვენი წრე

ააშენეთ ზემოაღნიშნული წრე თქვენს დაფაზე და დარწმუნდით, რომ არცერთი კომპონენტი არ ეხება და რომ LED- ები სწორი გზით არის დაკავშირებული.

როგორ ამოიცნობთ თქვენს LED- ების პოზიტიურ და უარყოფით მიმართულებებს (პოლარობას)? თუ ყურადღებით დააკვირდებით LED- ს, ნახავთ, რომ მას აქვს ორი პატარა ნაჭერი ლითონი ფერადი გარსაცმის შიგნით. მათ უწოდებენ ანოდს და კათოდს. კათოდი ორიდან ყველაზე დიდია და ასევე უკავშირდება LED- ების უარყოფით ტყვიას.

მას შემდეგ რაც შეამოწმეთ თქვენი წრე, დააკავშირეთ jumper კაბელები თქვენი Raspberry Pi– ს GPIO ქინძისთავებით ზემოთ დიაგრამის დაცვით.

ნაბიჯი 3: შექმენით სკრიპტი LED- ების გასაკონტროლებლად და შესამოწმებლად

შექმენით სკრიპტი LED- ების გასაკონტროლებლად და შესამოწმებლად
შექმენით სკრიპტი LED- ების გასაკონტროლებლად და შესამოწმებლად

თქვენს Raspberry Pi– ზე გახსენით IDLE (მენიუ> პროგრამირება> პითონი 2 (IDLE)).

გახსენით ახალი პროექტი, გადადით ფაილზე> ახალი ფაილი. შემდეგ ჩაწერეთ (ან დააკოპირეთ და ჩასვით) შემდეგი კოდი:

იმპორტი RPi. GPIO როგორც GPIO

იმპორტის დრო GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.output (17, True) time.sleep (3) GPIO.output (17, False) time.sleep (1) GPIO.output (18, True) time.sleep (3) GPIO.output (18, False) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. გამომავალი (23, ყალბი)

შეინახეთ თქვენი პროექტი როგორც multilights.py (ფაილი> შენახვა როგორც) თქვენს Raspberry Pis Documents საქაღალდეში.

თქვენს Raspberry Pi– ზე გახსენით ტერმინალი (მენიუ> აქსესუარები> ტერმინალი) და გადადით დოკუმენტების საქაღალდეში შემდეგი აკრეფით:

cd/home/pi/დოკუმენტები

ახლა თქვენ შეგიძლიათ გაუშვათ თქვენი ახალი სკრიპტი შემდეგი აკრეფით:

python multilights.py

განათება თავის მხრივ ჩართვას და გამორთვას მიიღებს. ზემოაღნიშნული სკრიპტი იყენებს time.sleep ბრძანებას, რათა შეიქმნას პაუზა თითოეულ საფეხურს შორის, თითოეული შუქი დარჩეს 3 წამის განმავლობაში და დაელოდოს 1 წამს, სანამ მომავალ შუქს აანთებს.

ნაბიჯი 4: მოქნილობის დამატება პარამეტრებისა და პირობითი განცხადებების გამოყენებით

პარამეტრების და პირობითი განცხადებების გამოყენებით ჩვენ შეგვიძლია ზემოთ მოყვანილი სკრიპტი უფრო მოქნილი გავხადოთ.

პარამეტრი საშუალებას გაძლევთ შეინახოთ მნიშვნელობა, რომელიც შეგიძლიათ გამოიყენოთ მოგვიანებით სკრიპტში. ღირებულებების ყველაზე გავრცელებული ტიპებია სტრიქონები (ტექსტი), მთელი რიცხვები (მთელი რიცხვები) ან ათწილადი (ათობითი რიცხვები).

პირობითი განცხადება განსაზღვრავს უნდა შესრულდეს თუ არა კოდის სეგმენტი გარკვეული პირობის დაკმაყოფილების შემოწმებით. მდგომარეობა ასევე შეიძლება შეიცავდეს პარამეტრებს.

გახსენით IDLE თქვენს Raspberry Pi– ზე და გახსენით ახალი პროექტი (ფაილი> ახალი ფაილი). შემდეგ ჩაწერეთ შემდეგი. ფრთხილად იყავით იმის უზრუნველსაყოფად, რომ ყველა ჩანაწერი (ჩანართი) ჩართულია ჩანართის ღილაკის გამოყენებით:

იმპორტი RPi. GPIO როგორც GPIO

იმპორტის დრო sys– დან იმპორტი argv whichled = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO. OUT) თუ ledaction == "off": if theled == "a": GPIO.output (LEDa, False) ifledled == "b": GPIO.output (LEDb, False) ifledled == "c": GPIO.output (LEDc, False) ifledled == "d": GPIO.output (LEDd, False) ifledled == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. გამომავალი (LEDc, ყალბი) GPIO.output (LEDd, false) თუ ledaction == "on": if theled == "a": GPIO.output (LEDa, True) ifledled == "b": GPIO.output (LEDb, ჭეშმარიტი) თუ ჩაწერილია == "c": GPIO.output (LEDc, True) თუ არის == "d": GPIO.output (LEDd, True) თუ = = "ყველა": GPIO.output (LEDa, ჭეშმარიტი) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)

შეინახეთ თქვენი პროექტი controllight.py (ფაილი> შენახვა როგორც) თქვენს დოკუმენტების საქაღალდეში. ახლა გახსენით ტერმინალი (მენიუ> აქსესუარები> ტერმინალი) და ჩაწერეთ შემდეგი ბრძანება:

პითონის კონტროლერი. py b on

მეორე LED უნდა ჩაირთოს. ახლა ჩაწერეთ შემდეგი:

პითონის კონტროლერი. py b off

მეორე LED უნდა გამორთოთ.

5, 6, 7 და 8 სტრიქონებში ჩვენ ვქმნით პარამეტრებს LEDa, LEDb, LEDc და LEDd, რომ შევინახოთ რომელი GPIO პინი რომელ LED- თან გვაქვს დაკავშირებული. ეს გვაძლევს საშუალებას გამოვიყენოთ ალტერნატიული GPIO ქინძისთავები სკრიპტში არსებითი ცვლილებების გარეშე.

მაგალითად, თუ ჩვენ პირველ LED- ებს დავუკავშირებთ Pin 3 -ს (GPIO 2), ჩვენ უბრალოდ უნდა შევცვალოთ ხაზი 5 შემდეგში:

LEDa = 2

ხაზი 4 ინახავს თქვენ მიერ აკრეფილ მნიშვნელობებს controllight.py პარამეტრებში, რომლებიც მითითებულია (c) და ledaction (on). შემდეგ სკრიპტი იყენებს ამ პარამეტრებს, რიგ პირობით განცხადებებთან ერთად, რომ გადაწყვიტოს რომელი LED გააკონტროლოს და ჩართოს თუ გამორთოს იგი.

სტრიქონი 16 (თუ ledaction == "on":) არის პირობითი განცხადება. დახრილი ხაზები, რომლებიც მოჰყვება ამ განცხადებას, გადის მხოლოდ იმ შემთხვევაში, თუ განცხადების პირობა დაკმაყოფილებულია. ამ სცენარში, პირობაა, რომ ledaction შეიცავს ტექსტს.

სკრიპტის სხვა პირობითი განცხადებების წაკითხვით, შეგიძლიათ წინასწარ განსაზღვროთ რა მოხდება ტერმინალში შემდეგი ბრძანების აკრეფისას?

პითონის საკონტროლო ნათურა. ყველა ჩართულია

რატომ არ გაუშვათ ხელი და განათავსეთ თქვენი პასუხი კომენტარების ქვევით.

გირჩევთ: