Სარჩევი:
- ნაბიჯი 1: რაც დაგჭირდებათ
- ნაბიჯი 2: შექმენით თქვენი წრე
- ნაბიჯი 3: შექმენით სკრიპტი LED- ების გასაკონტროლებლად და შესამოწმებლად
- ნაბიჯი 4: მოქნილობის დამატება პარამეტრებისა და პირობითი განცხადებების გამოყენებით
ვიდეო: მრავალჯერადი LED- ების კონტროლი Python– ით და თქვენი Raspberry Pi– ს GPIO ქინძისთავებით: 4 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ეს ინსტრუქცია გვიჩვენებს, თუ როგორ უნდა აკონტროლოთ 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- ების გასაკონტროლებლად და შესამოწმებლად
თქვენს 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 შეიცავს ტექსტს.
სკრიპტის სხვა პირობითი განცხადებების წაკითხვით, შეგიძლიათ წინასწარ განსაზღვროთ რა მოხდება ტერმინალში შემდეგი ბრძანების აკრეფისას?
პითონის საკონტროლო ნათურა. ყველა ჩართულია
რატომ არ გაუშვათ ხელი და განათავსეთ თქვენი პასუხი კომენტარების ქვევით.
გირჩევთ:
მარტივი ჟესტების კონტროლი - აკონტროლეთ თქვენი RC სათამაშოები თქვენი მკლავის მოძრაობით: 4 ნაბიჯი (სურათებით)
მარტივი ჟესტების კონტროლი - აკონტროლეთ თქვენი RC სათამაშოები თქვენი მკლავის მოძრაობით: კეთილი იყოს თქვენი მობრძანება #45 -ში. რამდენიმე ხნის წინ მე გავაკეთე BB8– ის სრულად სამუშაო RC ვერსია Lego Star Wars– ის ნაწილების გამოყენებით … https://www.instructables.com/id/Whats-Inside-My-R … როდესაც დავინახე რა მაგარი იყო Sphero- ს მიერ შექმნილი Force Band, ვიფიქრე: "კარგი, მე
სიკაშკაშის კონტროლი PWM დაფუძნებული LED კონტროლი Push ღილაკების, ჟოლოს Pi და Scratch გამოყენებით: 8 ნაბიჯი (სურათებით)
სიკაშკაშის კონტროლი PWM დაფუძნებული LED კონტროლი Push Buttons, Raspberry Pi და Scratch გამოყენებით: მე ვცდილობდი მეპოვა გზა იმის ახსნა, თუ როგორ მუშაობდა PWM ჩემს მოსწავლეებზე, ამიტომ მე დავაყენე საკუთარი თავი ამოცანა ვცდილობდი გავაკონტროლო LED სიკაშკაშე 2 ღილაკის გამოყენებით - ერთი ღილაკი გაზრდის LED- ს სიკაშკაშეს და მეორე აფერხებს მას. წინსვლისთვის
ESP8266 RGB LED STRIP WIFI კონტროლი - NODEMCU როგორც IR დისტანციური მართვის წამყვანი ზოლისთვის, რომელიც კონტროლდება Wifi - RGB LED STRIP სმარტფონის კონტროლი: 4 ნაბიჯი
ESP8266 RGB LED STRIP WIFI კონტროლი | NODEMCU როგორც IR დისტანციური მართვის წამყვანი ზოლები Wifi- ზე კონტროლირებადი | RGB LED STRIP სმარტფონის კონტროლი: გამარჯობა ბიჭებო, ამ სახელმძღვანელოში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ nodemcu ან esp8266 როგორც IR დისტანციური მართვა RGB LED ზოლის გასაკონტროლებლად და Nodemcu კონტროლდება სმარტფონის მიერ wifi– ზე. ასე რომ, ძირითადად თქვენ შეგიძლიათ აკონტროლოთ RGB LED STRIP თქვენი სმარტფონით
პროგრამების განვითარება GPIO ქინძისთავებით DragonBoard 410c– ზე Android და Linux ოპერაციული სისტემებით: 6 ნაბიჯი
პროგრამების შემუშავება GPIO ქინძისთავებით DragonBoard 410c– ზე Android და Linux ოპერაციული სისტემებით: ამ გაკვეთილის მიზანია აჩვენოს ინფორმაცია, რომელიც საჭიროა პროგრამების შემუშავებისათვის GPIO pin– ის გამოყენებით DragonBoard 410c დაბალი სიჩქარით გაფართოების მიზნით. ეს გაკვეთილი წარმოადგენს ინფორმაციას პროგრამების შემუშავებისათვის GPIO ქინძისთავების გამოყენებით SYS ანდრზე
თქვენი ძველი მბზინავი გადამრთველის გადამუშავება, როგორც ცვლადი ტემპერატურის კონტროლი თქვენი შედუღების რკინისთვის: 7 ნაბიჯი
თქვენი ძველი მბზინავი გადამრთველის გადამუშავება, როგორც ცვლადი ტემპერატურის კონტროლი თქვენი შედუღების რკინისთვის: მე მინახავს ბევრი პროფესიონალური ცვლადი ტემპერატურის კონტროლი გამაგრილებელი რკინისთვის, მაგრამ ძალიან ძვირი. ასე რომ, მე ვაკეთებ ერთს ძველი მბზინავი გადამრთველისგან, გასასვლელიდან, ბანდის ფირფიტადან და დანამატიდან, რომელიც უკვე ნაგავია და ძველი PVC გადამრთველი ყუთიდან, რომელიც მოყვა და ასე