Სარჩევი:
- ნაბიჯი 1: მასალები დასაწყებად
- ნაბიჯი 2: კომპონენტების ტესტირება
- ნაბიჯი 3: ინდიკატორის პანელის შედუღება
- ნაბიჯი 4: გამოცადეთ ინდიკატორის პანელი
- ნაბიჯი 5: ინდიკატორის პანელის ინტეგრირება სენსორულ პანელთან
- ნაბიჯი 6: გახადე ის ჭკვიანი
- ნაბიჯი 7: შეღებვა და შეკრება
- ნაბიჯი 8: დისტანციური ტესტირება VNC და საბოლოო კოდით
- ნაბიჯი 9: საკაბელო მენეჯმენტი და საბოლოო შეკრება
- ნაბიჯი 10: ინდიკატორის ზოგიერთი სურათი
ვიდეო: მინიმალისტური ველოსიპედის მაჩვენებელი, შეხებით ჩართულია!: 10 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
Გამარჯობა! ეს არის ჩემი პირველი ინსტრუქცია. მე ყოველთვის მინდოდა ყველაფერი ნულიდან გამეკეთებინა მხოლოდ იმისთვის, რომ მენახა როგორ მუშაობს და ვის არ მოსწონს წვრილმანი (გააკეთე ეს შენ თვითონ) პერსონალი, როცა შეგიძლია შეცვალო რაღაც შენი საჭიროებების შესაბამისად? რაც არ უნდა საინტერესო იყოს ჟღერდეს წვრილმანი, ამის განხორციელებას ცოტა ძალისხმევა სჭირდება. Instructables ვებსაიტის დათვალიერება შესანიშნავი გზაა თქვენი წვრილმანების დასაწყებად და ასე დავიწყე ადრე ჩემი ზოგიერთი პროექტის აგება, მაგრამ არასდროს მიფიქრია, რომ ერთს გავაკეთებდი.
როგორც კი შესაძლებლობა მომეცა, მე გავაკეთე ველოსიპედის ინდიკატორი მინიმალისტური დიზაინით და შეხებით ჩართული. მე ვიცი, რომ არსებობს მრავალი ინსტრუქცია ან ონლაინ წყარო ველოსიპედის ინდიკატორისთვის, მაგრამ მათმა უმეტესობამ ან მეტი ადგილი დაიკავა, ან არ იყო საკმარისად ჭკვიანი, რომ შეცვალოს ისინი კონკრეტული გზით. თუ თქვენ ეძებთ ინდიკატორს, რომელიც საკმარისად ჭკვიანია თქვენი მოთხოვნილებების დასაკმაყოფილებლად და გაძლევთ შანსს შეცვალოთ ისინი თქვენი საჭიროებების შესაბამისად, მაშინ ეს ინსტრუქცია თქვენთვისაა!
რატომ ველოსიპედის მაჩვენებელი?
მიყვარს ველოსიპედით სიარული ქალაქში! მე ვატარებ ციკლს და უბრალოდ გავდივარ სასეირნოდ დილით ან საღამოს. ზოგჯერ, ღამით, ძნელია მიჯაჭვულობა, რადგან შენს უკან მოძრაობა ვერ შეგამჩნევს და ეს საშიში ნიშანია. ამიტომაც მინდოდა მე თვითონ აეშენებინა ინდიკატორი ყველა იმ მასალით, რაც სახლში მქონდა და ასევე მშვენივრად გამოიყურება ველოსიპედზე, როცა ქალაქში მიდიხარ ინდიკატორების ჩართვით!
პროექტის გაკეთება ყოველგვარი პრობლემის გარეშე, არ ხდება! მაგრამ მე გეტყვით ყველა შეცდომას, რომელიც მე დავუშვი, ამის შექმნისას, როგორც "მოსახერხებელი რჩევა" ისე, რომ თქვენ არ სცადოთ მათი დაშვება. YouTube ვიდეო შეიცავს ილუსტრაციას, თუ როგორ არის აგებული პროექტი, მცირე ანიმაციები, რათა გადმოგცეთ როგორ მუშაობს ყველაფერი და როგორ გამოიყურება ინდიკატორი გზაზე! ყველაზე დეტალური ინფორმაცია მოცემულია ამ ინსტრუქციებში. სანამ გააგრძელებ, მე მონიშნავს ჩემი youtube ვიდეოს სეგმენტებს "ქრონოლოგია", ყოველ ნაბიჯზე, რომ ნახო როგორ მუშაობს პრაქტიკულად. შეგიძლიათ მიიღოთ მეტი ინფორმაცია მონიშნულ ბმულებზე დაჭერით.
ამ პროექტის მახასიათებლები:
- მარჯვნივ შემობრუნების ჩვენება
- მარცხენა მოსახვევის ჩვენება
- ღამის ხედვის ჩვენება
- შეხებით ჩართულია
ნაბიჯი 1: მასალები დასაწყებად
- რეზისტორები (330 ohms და 120 ohms): 330 ohms და 120 ohm
- ჟოლო Pi 3: RPi 3
- პურის დაფა: პურის დაფა
- მხტუნავები
- მრავალსართულიანი მავთულები: მრავალსართულიანი მავთულები
- Capacitive Touch Sensor (TTP223) - (2): ბმული
- RGB LED (საერთო კათოდური ტიპი) - (13): RGB LED საერთო კათოდი
- ნორმალური LED- ები - (2): LED
- შედუღების მასალები: შედუღების ნაკრები
- პერფ დაფები: პერფ დაფა
- Powerbank: Powerbank
- 1 მიკრო ფარად ელექტროლიტური კონდენსატორი: ელექტროლიტური კონდენსატორი
- LDR (სინათლისგან დამოუკიდებელი რეზისტორი): LDR
- საკაბელო კავშირები: საკაბელო კავშირები
- საკაბელო კორექტორი: საკაბელო კორექტორი
- აკრილის საღებავები და ჯაგრისები (სურვილისამებრ): საღებავი და ჯაგრისები
- ორი შენახვის ყუთი ასამბლეისათვის. (1 დიდი და 1 საშუალო ზომის)
ყოველთვის შეინახეთ დამატებითი რაოდენობა, რაც ზემოთ არის ნახსენები. მე დავაკავშირე კომპონენტები ამაზონზე და რამდენიმე საუკეთესო ყიდვა ნაკრები soldering მასალებისთვის!
ვადები: მასალების შეგროვება
ნაბიჯი 2: კომპონენტების ტესტირება
მოდით შეამოწმოთ თქვენი კომპონენტები! ეს ნამდვილად გამოსადეგია იმ კომპონენტების გამოსაყოფად, რომლებიც დაზიანებულია ან რატომღაც უცნაურად იქცევა და ასევე ეს ეტაპი გაძლევთ საშუალებას მიიღოთ პრაქტიკული გამოცდილება კომპონენტებთან და ცოტაოდენი სწავლა მთელი პროექტის მშენებლობის დაწყებამდე.
ტესტირება RGB LED ტიპისთვის
არსებობს ორი სახის RGB LED, რომელსაც ჩვენ ვპოულობთ ბაზარზე. საერთო კათოდური ტიპი და საერთო ანოდის ტიპი.
ეს მოსახერხებელი რჩევაა (თუმცა უფრო დიდი), რადგან მე დავუკავშირე LED- ები, როგორც ეს ამ ვიდეოდან ჩანს და LED არ აანთო ისე, როგორც მოსალოდნელი იყო, თუნდაც რამდენჯერმე გადამოწმების შემდეგ. შემდეგ მივხვდი, რომ ამ LED- ის ორი ტიპი არსებობს და მონაცემთა ცხრილის გავლით საბოლოოდ მივიღე გამოსავალი! ჩემი სქემის პრობლემა იყო ის, რომ საერთო კათოდური პინი უკავშირდებოდა 3.3 ვ - ს, როგორც აღვნიშნე და მე GPIO პინით შევინახე HIGH- ზე, ასე რომ, როგორც საერთო კათოდური პინი, ასევე დანარჩენი 3 ქინძისთავები ერთსა და იმავე პოტენციალში იყვნენ.
გამოსავალი: მე დავუკავშირე საერთო კათოდური პინი მიწას და LED აანთო! მიზეზი, რის გამოც მე არ შემიცვლია კოდი, რომ შევინარჩუნო GPIO ქინძისთავები დაბალია, რადგან ჩვენ მოგვიანებით გამოვიყენებთ უფრო მეტ LED- ებს და RPi გვაძლევს მხოლოდ ორ ქინძისთავს 3.3 V- ზე, რაც ჩვენ გვჭირდება სხვა მიზნებისთვისაც!
როგორ შევამოწმოთ ტიპი?
შეინახეთ მულტიმეტრი უწყვეტობის რეჟიმში. შეეხეთ მულტიმეტრის წითელ წვერთან ყველაზე გრძელ ტყვიას და შავი წვერით, შეეხეთ რომელიმე სხვა წამყვანს. თუ LED აანთებს ზემოაღნიშნული ნაბიჯის შესრულებით, ეს არის საერთო ანოდი RGB LED.თუ ასე არ არის, გადააბრუნეთ მულტიმეტრის წვერი ახლა. შეეხეთ ყველაზე გრძელ ტყვიას შავი წვერით და წითელი წვერით ნებისმიერი სხვა ლიდერით. ახლა ის აანთებს და აჩვენებს, რომ LED არის საერთო კათოდური RGB LED.
მოსახერხებელი რჩევა: მე გამოვიყენე საერთო კათოდური ტიპი ამ პროექტში. შეეცადეთ მიიღოთ ეს ტიპები, მაგრამ მაშინაც კი, თუ სხვა ტიპი ხელმისაწვდომია, არ ინერვიულოთ. წრიული კავშირები უცვლელი რჩება, ერთადერთი განსხვავება უნდა იყოს კოდში, რომელსაც მე მოგცემთ კომენტარად ფაქტობრივი კოდის ხაზის გვერდით, სადაც თქვენ უნდა შეცვალოთ. ამოისუნთქე.
ვადები: ტესტი RGB
მითითება: როგორ შევამოწმოთ RGB
RGB LED ანათებს
ამისათვის შეამოწმეთ ზემოთ მოცემულ სურათებში მოცემული კავშირის დიაგრამა და შეაერთეთ როგორც ქინძისთავები პურის დაფის საშუალებით (რომ თავიდანვე უსაფრთხო იყოს).
წითელი: პინი 11 (330-ohm resistor)
მწვანე: პინი 13 (120-ohm რეზისტორი)
ცისფერი: პინ 15 (120-ohm რეზისტორი)
რეზისტორის მნიშვნელობები განსხვავდება ლიდერების განსხვავებული წინამორბედი ძაბვების გამო.
მას შემდეგ რაც სწორად დააკავშირებთ მათ, დააკოპირეთ RPi მის ჩაშენებულ პითონში IDE.
იმპორტი RPi. GPIO როგორც GPIO
#პინის ნომრები შეესაბამება ზუსტ რიცხვს RPi GPIO– ზე Red_pin = 11 Green_pin = 13 Blue_pin = 15 #შეაერთეთ საერთო კათოდური პინი Pin 6 – ზე მობრუნებით (პინი): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) #GPIO.output (pin, GPIO. LOW) for anode type def turnOff (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO OUT) GPIO.output (pin, GPIO. LOW) #GPIO.output (pin, GPIO. HIGH) def redOn (): turnOn (Red_pin) def redOff (): turnOff (Red_pin) def greenOn (): turnOn (Green_pin) def greenOff (): turnOff (Green_pin) def blueOn (): turnOn (Blue_pin) def blueOff (): turnOff (Blue_pin) სცადეთ: while True: cmd = input ("ჩაწერეთ თქვენი ბრძანება:") თუ cmd == "წითელი ": #ტიპის შეყვანის ბრძანებები როგორც ზუსტად არის ნახსენები შიგნით" "redOn () elif cmd ==" red off ": redOff () elif cmd ==" green on ": greenOn () elif cmd ==" green off ": greenOff () elif cmd == "blue on": blueOn () elif cmd == "blue off": blueOff () else: print ("not valid command") გარდა KeyboardIntruptrupt: GPIO.cleanup ()
მე მივმართე ამ ინსტრუქციას, შეამოწმეთ ეს დეტალური აღწერილობისთვის და კოდისთვის!
ერთი და იგივე კოდის გამოყენებით შეგიძლიათ შეამოწმოთ რამოდენიმე LED- ები ერთმანეთთან პარალელურად დააკავშიროთ ისინი დაფაზე და ამოიღოთ ერთი წერტილი ერთმანეთთან დაკავშირებული ნებისმიერი ქინძისთავებიდან. გამოიყენეთ სხვადასხვა რეზისტორის მნიშვნელობა თითოეული პინისთვის, თქვენი LED- ების სიკაშკაშის შესამოწმებლად
მოსახერხებელი რჩევა: დარწმუნდით, რომ დააკავშირეთ იგივე პინის ტიპის პარალელი. ანუ ერთი LED- ის წითელი პინი უკავშირდება მხოლოდ მეორე LED- ის წითელ პინს.
ქრონოლოგია: გახადე ისინი ბრწყინვალე!
TouchPad ტესტირება
წრიული კავშირი არის აქ ნაჩვენები (ქრონოლოგია). შეაერთეთ ისინი, როგორც ნაჩვენებია და შეამოწმეთ თქვენი სენსორული პანელები შემდეგი კოდის გამოყენებით.
კოდი:
იმპორტი RPi. GPIO როგორც GPIO
დროული იმპორტი ძილის GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) #ჩვენ შეგვიძლია ორივე ზემოთ ნათქვამი ერთად # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) სცადეთ: while True: if (GPIO.input (touchpad1) == True): print ("Touchpad 1 touchged") sleep (2) elif (GPIO.input (touchpad2) == ჭეშმარიტი): ამობეჭდვა ("Touchpad 2 შეეხო") ძილი (2) სხვა: ბეჭდვა ("არ შეხებია") კლავიატურის გარდა შეფერხება: GPIO.cleanup () #CTRL-C გასასვლელად
LED- ის ტესტირება
იხილეთ ეს გასაოცარი ინსტრუქცია თქვენი LED– ის შესამოწმებლად!
ყველა ზემოთ ჩამოთვლილი კომპონენტის შემოწმების შემდეგ თქვენ მზად ხართ ააწყოთ მისი უფრო დიდი ვერსია.
ნაბიჯი 3: ინდიკატორის პანელის შედუღება
თუ თქვენ ახალი ხართ შედუღებამდე, გადახედეთ ამ გაკვეთილს, რომ გაეცნოთ მის საფუძვლებს (როგორ შედუღება). თუ თქვენ ხართ პროფესიონალი soldering, მოდით დავიწყოთ!
მაჩვენებელი პანელი
თქვენ შეგიძლიათ ნახოთ ილუსტრაცია, თუ როგორ უნდა შეაერთოთ ისინი პერფორაციაზე ზემოთ მოცემულ სურათებში.
ჩვენ ვიყენებთ 13 RGB LED- ს პანელისთვის. გამოყავით ისინი სამ ნაწილად: მარცხნივ, მარჯვნივ და ცენტრში შესადუღებლად.
მნიშვნელოვანია: LED- ების დაშორება
LED- ებს შორის დავტოვე 3 რიგი. როგორც ნაჩვენებია მეორე სურათზე. ეს მნიშვნელოვანია LED პანელისთვის რომ გამოიყურებოდეს და კარგად იგრძნოთ თავი. ჩვენ არ გვინდა, რომ LED- ებმა ძალიან გაზარდონ სივრცე ან ძალიან ახლოს, რომ არ შეეძლოს შორიდან შუქის გარჩევა.
მოსახერხებელი რჩევა: დაიწყეთ ყველა საერთო კათოდური ქინძისთავის შედუღებით
მოსახერხებელი რჩევა: გამოიყენეთ მრავალსართულიანი მავთულები LED- ების ერთმანეთთან დასაკავშირებლად, რადგან ისინი ნაკლებად მტკიცე და მოსახვევია. თქვენ შეგიძლიათ გამოიყენოთ დამატებითი მოჭრილი ქინძისთავები LED- ებიდან უფრო მოკლე მანძილის დასაკავშირებლად
მარჯვენა განყოფილება: (5 LED)
- შეაერთეთ ყველა წითელი ქინძისთავი ერთმანეთთან
- შეაერთეთ ყველა მწვანე ქინძისთავი ერთად
- შეაერთეთ ყველა საერთო კათოდური ქინძისთავები ერთად
მარცხენა განყოფილება: (5 LED)
- შეაერთეთ ყველა წითელი ქინძისთავი ერთმანეთთან
- შეაერთეთ ყველა მწვანე ქინძისთავი ერთად
- შეაერთეთ ყველა საერთო კათოდური ქინძისთავები ერთად
ცენტრის განყოფილება: (3 LED)
სასარგებლო რჩევა: ეს განყოფილება მოითხოვს საკმარის სიფრთხილეს. ნუ შეაერთებთ ყველა ქინძისთავს ერთად, როგორც ამას ვაკეთებდით ზემოთ ორ მონაკვეთში!
- შეაერთეთ ყველა წითელი ქინძისთავი ერთმანეთთან
- შეაერთეთ მხოლოდ ზედა და ქვედა LED- ები, მწვანე პინი.
- შეაერთეთ ყველა საერთო კათოდური ქინძისთავები ერთად
მავთულები
ჩვენ გვჭირდება უფრო გრძელი მავთულები პანელის GPIO დაფაზე დასაკავშირებლად.
მოსახერხებელი რჩევა:
- გამოიყენეთ ერთსართულიანი მავთულები! ისინი საკმარისად მტკიცეა, რომ გაუძლოს მასზე განხორციელებულ მექანიკურ სტრესს!
- შეინახეთ მავთულები პანელზე და RPi– ს შორის არსებულ რეალურ სიგრძეზე (ეს ძალიან მოსახერხებელია მოგვიანებით მავთულის მართვისას! (ქრონოლოგია: გაზომვები)
- შედუღების შემდეგ იზოლირება! Ძალიან მნიშვნელოვანი
გამოიყენეთ ჯუმბერის მავთული და ერთი ძაფის მავთული შესადუღებლად. ჯუმბერის მავთულის ერთი ბოლო უნდა იყოს ქალი კონექტორი. შეაერთეთ ისინი, როგორც აქ არის ნაჩვენები (ქრონოლოგია)
ფერი აკრიფეთ მავთულები წითელი, მწვანე და შავი. რაც შეესაბამება წითელ პინს, მწვანე პინს და ჩვეულებრივ კათოდურ პინს.
ჩვენ გვჭირდება 3 შავი მავთული, 3 წითელი მავთული და 3 მწვანე მავთული.
მას შემდეგ, რაც მავთულები მზად არის. შეაერთეთ მავთულები ინდიკატორის LED- ებზე.
სასარგებლო რჩევები:
- დარწმუნდით, რომ LED- ები შედუღებულია მოცემული კავშირების მიხედვით.
- დარწმუნდით, რომ თქვენ მიამაგრეთ რეზისტორის სწორი მნიშვნელობები ადგილზე. თუ ღირებულებები შეიცვლება, ეს იმოქმედებს LED- ების სიკაშკაშეს
- ერთი გზა იმის დასადასტურებლად, რომ ყველა თქვენი LED- ები მუშაობს, არის ნაბიჯი 2 -ში მოცემული მულტიმეტრიანი მეტრი. ეს ძალიან მოსახერხებელია, რადგან თქვენ იცით, არის თუ არა რაიმე მოკლე ჩართვა, რომ LED- ები არ ანათებენ.
- არ გაშალოთ მავთულის ბოლოები საჭიროზე მეტხანს. ძნელი იქნება მათი ადგილზე შენარჩუნება და ასევე მოკლე ჩართვის მაღალი რისკი.
- გამოიყენეთ მრავალსართულიანი მავთულები LED- ებს შორის დასაკავშირებლად.
- გამოიყენეთ ერთსართულიანი მავთული მონაკვეთების RPi– ს დასაკავშირებლად.
ნაბიჯი 4: გამოცადეთ ინდიკატორის პანელი
დიდება! თუ თქვენ სწორად შეაერთეთ პანელი. მოდით გავაგრძელოთ ინდიკატორის კოდირება ახლა!
როგორც უკვე აღვნიშნეთ, ჩვენ აღვნიშნავთ მარჯვნივ, მარცხნივ და ღამის სანახაობის ჩართვას/გამორთვას.
იხილეთ მიკროსქემის კავშირი ნაბიჯი 3.
დააკავშირეთ პანელის მავთულები, როგორც ქვემოთ არის ნახსენები:
- წითელი მარჯვნივ - პინ 7
- მწვანე მარჯვენა - პინ 11
- საერთო კათოდური მარჯვენა - პინი 6 (GND)
- წითელი მარცხენა - პინ 13
- მწვანე მარცხნივ - პინ 15
- საერთო კათოდური მარცხნივ - პინი 9 (GND)
- ცენტრის წითელი - პინ 16
- ცენტრი მწვანე (ზედა და ქვედა) - პინ 18
- ცენტრის საერთო კათოდი - პინი 14 (GND)
ტესტის კოდი:
იმპორტი RPi. GPIO როგორც GPIO
დროულად იმპორტირებული ძილი #დაკავშირება ქვემოთ მითითებული პინ ნომრების მიხედვით (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turning Left") blink (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) x დიაპაზონში (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) ძილი (0.5) სხვა: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) x დიაპაზონში (10): GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) ძილი (0.5) GPIO. გამოყვანის ([pin1, pin2, pin3], GPIO. LOW) ძილი (0.5) def night_sight (): print ("Night Sight ON") blink (Red_left, Red_right, Red_center) try: while True: cmd = input (" შეამოწმეთ LED: ") თუ cmd ==" მარჯვნივ მოუხვიეთ ": right_turn () elif cmd ==" მარცხნივ შემობრუნება ": left_turn () elif cmd ==" ღამის ხილვა ": night_sight () სხვა: ბეჭდვა (" არასწორი ბრძანება ") გარდა კე yboardIntruptrupt: GPIO.cleanup ()
თუ თქვენი პანელი ასუფთავებს ყველა სატესტო ფაზას, როგორც კოდშია, კარგად გაკეთებულია! მოემზადეთ შემდეგი ნაბიჯისათვის
თუ პანელი არ ანათებს, დარწმუნდით, რომ თქვენ სწორად მიჰყევით ყველა ნაბიჯს და ადრე დაათვალიერეთ მოსახერხებელი რჩევები. თუ პრობლემა კვლავ შენარჩუნებულია, შეგიძლიათ კომენტარი გააკეთოთ ქვემოთ, მე მზად ვარ დაგეხმაროთ.
ვადები: ტესტი პირველი (შეამოწმეთ ვიდეო სამუშაო პროტოტიპისთვის)
ნაბიჯი 5: ინდიკატორის პანელის ინტეგრირება სენსორულ პანელთან
უკავშირდება მას RPi
დაამყარეთ კავშირები, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე.
მარჯვენა პანელი
სენსორული პანელი:
- GND pin - პინ 34
- VCC პინი - პინი 1
- SIG pin - პინ 29
LED:
ანოდი (+) პინი - პინი 33
მარცხენა პანელი
სენსორული პანელი:
- GND pin - პინ 30
- VCC pin - pin 17
- SIG pin - პინ 31
LED:
ანოდი (+) პინი - პინი 35
საერთო GND: პინი 39 (LED- ების ორივე კათოდისთვის) - საერთო სახმელეთო შედუღება (ქრონოლოგია)
ტესტის კოდი:
იმპორტი RPi. GPIO როგორც GPIO
დროულად იმპორტი ძილის right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (არხი): GPIO (right_led, GPIO. HIGH) გლობალური გააქტიურება გამოიწვია = 1 ბეჭდვა ("მოუხვიე მარჯვნივ") დახუჭე (Green_right, Green_top_bottom) def left_turn (არხი): GPIO.output (left_led, GPIO. HIGH) გლობალური გააქტიურებული გამოიწვია = 1 ბეჭდვა ("შემობრუნება მარცხნივ ") დახუჭე (Green_left, Green_top_bottom) GPIO.add_event_detect (right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, backback = მარცხენა) pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) x დიაპაზონში (10): GPIO.output ([pin1, pin2], GPIO. HIGH) ძილი (0.5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) ძილი (0.5) GPIO.output ([right_led, left_led], GPIO. LOW) გლობალური გააქტიურებული გამოიწვია = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left]. გამომავალი ([Red_center, Red_left, Red_right], GPIO. LOW) ძილი (0.27) სხვა: ბეჭდვა ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) ცადეთ: night_sight () გარდა კლავიატურის შეფერხებისა: GPIO.cleanup ()
შეეხეთ სენსორულ პანელს, რომ ნახოთ თქვენი შუქი
ვადები (LED მითითების გარეშე): ტესტი მეორე
ვადები (ინდიკატორით LED): ტესტი 3
კოდის ახსნა: ჩვენ გვსურს, რომ ღამის ხედვა მუდმივად მუშაობდეს და როდესაც ჩვენ შევეხებით სენსორულ პანელს, ის უნდა გაჩერდეს და შეასრულოს სენსორული პანელის ფუნქცია. ამისათვის ერთდროულად ჩვენ ვიყენებთ რაღაცას, რაც ცნობილია როგორც "წყვეტები" პითონში. ეს საშუალებას გვაძლევს გავუშვათ ჩვენი ნორმალური კოდი, რომელიც აქ ღამის სანახავია და ასევე იწვევს მოვლენას, როდესაც შეხება გამოვლინდება. ჩვენ ვიყენებთ გამომწვევ ცვლადს, როგორც დროშას ღამის ხედვის შესაჩერებლად.
დამატებითი ინფორმაციისთვის შეწყვეტის შესახებ, გადახედეთ ამ ბმულს.
Solder პანელი
ახლა შევაერთოთ სენსორული პანელები, რომლებიც გადაადგილდება ველოსიპედის საჭესთან. მიმართეთ კავშირებს, როგორც მოცემულია ზემოთ სურათზე.
ახლა, როდესაც თქვენ გამოსცადეთ თქვენი LED და სენსორული პანელი, კარგია წასვლა. თუ თქვენ ჯერ არ გაგიკეთებიათ ტესტირება, მიმართეთ ამ ნაბიჯს და წინა ნაბიჯებს.
მოათავსეთ სენსორული პანელი საჭესთან ახლოს, როგორც ეს ნაჩვენებია ვიდეოში. ანუ, მარჯვენა სენსორული პანელისთვის სენსორული პანელი არის მარჯვნივ და მარცხნივ მის მარცხნივ. ანალოგიურად, მარცხენა სენსორული პანელისთვის, led არის მარჯვნივ და touchpad მარცხნივ, რაც ცერის თითის მიღწევას აადვილებს.
PS: მე არ შევაერთე სენსორული პერფის დაფაზე, რადგან ხელახლა გამოვიყენებდი მას. ამიტომ მე უბრალოდ პანელზე დავაყენე ორმხრივი ლენტით.
შეაერთეთ პანელი RPi– ზე გრძელი მავთულის გამოყენებით
ნაბიჯი 6: გახადე ის ჭკვიანი
დიახ! ახლა, როდესაც ჩვენ გვაქვს ინდიკატორის ყველა აუცილებელი პირობა. მოდით გადადგათ ნაბიჯი შემდგომი გასაუმჯობესებლად.
აქ ჭკვიანი განსაზღვრავს ბატარეაზე დაზოგვასაც. როგორც თქვენ უკვე შეამჩნიეთ, ღამის სანახავი ყოველთვის ჩართულია და ზოგჯერ ეს შეიძლება არ იყოს საჭირო ნათელ მზიან დღეს. ამ პრობლემის გადასაჭრელად, მოდით გავაერთიანოთ LDR (შუქზე დამოკიდებული რეზისტორი), რომელიც მოგვცემს სინათლის ინტენსივობის მონაცემებს, რომელთა შეგროვება და დამუშავება შესაძლებელია ჩვენი ინდიკატორის შესაბამისად.
LDR– ის ტესტირება
მე მივმართე ამ ვებსაიტს LDR– ის შესამოწმებლად, რათა შეამოწმოს სინათლის ინტენსივობა და რა ღირებულებას უბრუნებს იგი.
იხილეთ ზემოთ მონიშნული ვებ – გვერდი წრედისთვის და LDR– ის მუშაობის ნიმუშის კოდი.
LDR ინტეგრირება ჩვენს კოდში
შეაერთეთ LDR სენსორული პანელის მარჯვენა პანელზე, როგორც ეს ნაჩვენებია კავშირის დიაგრამაზე ზემოთ.
ქინძისთავების სწორ ადგილას შედუღების შემდეგ დროა კოდირების ბოლო ნაწილისთვის. საბოლოო კოდი!
- შეაერთეთ კონდენსატორის კათოდის (-) საერთო წერტილი და LDR პინ 36 – თან RPi– ზე
- კონდენსატორის ანოდი უკავშირდება საერთო გრუნტის წერტილს, რომელიც მითითებულია მე –5 ნაბიჯში
საბოლოო კოდი:
იმპორტი RPi. GPIO როგორც GPIO
დროიდან იმპორტი ძილის Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 ldr = 36 გამოიწვია = 0 GPIO.setmode (GPIO. BOARD) GPIO. კონფიგურაცია ([right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def: right_turn (არხი) GPIO.output (right_led, GPIO. HIGH) გლობალური გააქტიურებული გამოიწვია = 1 ბეჭდვა ("მოუხვიე მარჯვნივ") დახუჭე (Green_right, Green_top_bottom) def left_turn (channel): GPIO.output (left_led, GPIO. HIGH) global triggered trigger = 1 print ("შემობრუნება მარცხნივ") თვალის დახამხამება (მწვანე_ მარცხენა, მწვანე_სრული_ბოლოს) GPIO.add_event_detect (right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO_ing (ldr): ითვლიან = 0 #გამოტანა პინზე GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) ძილი (0.1) #შეცვლა e პინი დააბრუნეთ GPIO.setup (ldr, GPIO. IN) #დაითვალეთ სანამ ქინძისთავი მაღლა არ მიიწევს სანამ): GPIO.setup ([pin1, pin2], GPIO. OUT) x დიაპაზონში (10): GPIO.output ([pin1, pin2], GPIO. HIGH) ძილი (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) ძილი (0.5) GPIO.output ([right_led, left_led], GPIO. LOW) გლობალური გააქტიურებული გამოიწვია = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) გლობალური გააქტიურებულია თუ (სინათლის_მგრძნობელობა (ldr)> 7800): თუ (გამოიწვია == 0): დაბეჭდვა ("ღამის ხედი ჩართულია") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) ძილი (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) ძილი (0.27) სხვა: ბეჭდვა ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) სცადეთ: night_sight () კლავიატურის გარდა შეფერხება: GPIO.cleanup ()
ვოილა! და მაჩვენებელი მზადაა გააფართოვოს.
მოსახერხებელი რჩევა: სანამ RPi და სხვა კომპონენტები შეიკრიბება ციკლში, დარწმუნდით, რომ სწორად შეამოწმოთ ეს პროგრამა! გაუშვით რამდენჯერმე შეცდომების გამოსწორების მიზნით.
ნაბიჯი 7: შეღებვა და შეკრება
საჭირო მასალები:
- მავთულის საჭრელი/ სტრიპტიზირების ინსტრუმენტები
- ერთი დიდი შესანახი ყუთი, რომელიც მოთავსებულია ჟოლოს პიში
- ერთი პატარა შენახვის ყუთი, რომელიც შეესაბამება ინდიკატორის პანელს
- საღებავი
- საღებავის ჯაგრისები
დაიწყეთ ინდიკატორის პანელის და სენსორული პანელების შავი შეღებვით. აქ გამოვიყენე აკრილის საღებავები, თქვენ შეგიძლიათ გამოიყენოთ თქვენი არჩევანით, რომელიც კარგად ერწყმის პერფის დაფას. გამოიყენეთ შავი ფონი ისე, რომ LED პანელი იყოს ცოცხალი და უფრო გამორჩეული. გააკეთეთ ხვრელები გაცხელებული ხრახნის გამოყენებით ან პლასტმასის დნობისთვის ნებისმიერი ლითონის საგნის გამოყენებით.
შენიშვნა: ფრთხილად იყავით ხვრელების გაკეთებისას.
ვადები: საღებავი
მოსახერხებელი რჩევა: მე ვიყენებ პლასტმასის ყუთებს და საღებავი ადვილად იშლება. დარწმუნდით, რომ იყენებთ კარგი ხარისხის საღებავებს
მას შემდეგ, რაც ინდიკატორი და პანელები შეიღება, გააშრეთ მზეზე და მოემზადეთ ასაწყობად.
მე მოჭრილი მაქვს პერფის დაფის დამატებითი კიდეები ინდიკატორთა პანელში და წინა პანელში, სივრცის დაზოგვის მიზნით.
ნახეთ ვიდეო შეკრებისთვის!
ქრონოლოგია: შურისმაძიებლები! შეკრება. (ინდიკატორის პანელის და RPi ყუთების შეკრება)
როგორც ვიდეოში ჩანს, მავთულები შესაბამისად მოათავსეთ უფრო დიდ ყუთში სამი ხვრელი. ერთი RPi დენის ბანკის მავთულისთვის, ერთი სენსორული პანელისთვის და ერთი ინდიკატორის პანელისთვის. პატარა ყუთისთვის საჭიროა მხოლოდ ერთი ხვრელი.
მოსახერხებელი რჩევა: შეამოწმეთ მავთულხლართების იზოლაცია და შეამოწმეთ თუ არა მავთულები სათანადოდ შედუღებამდე ყუთში მათ შეერთებამდე.
ნაბიჯი 8: დისტანციური ტესტირება VNC და საბოლოო კოდით
ერთი საბოლოო ტესტი ინდიკატორის სრულ მზადყოფნამდე. შეაერთეთ თქვენი RPi VNC Viewer– თან და გაუშვით პროგრამა.
მე ყოველთვის ვიყენებ VNC სერვერს პროგრამის გასაშვებად და პროგრამის ნებისმიერი შეცდომის გამოსწორების მიზნით. ამ გზით შემიძლია მოვათავსო RPi პირდაპირ იმ ადგილას, სადაც მინდა შევამოწმო მონიტორის გარედან დაკავშირების გარეშე.
შეამოწმეთ ეს გვერდი თქვენი RPi VNC სერვერთან დასაკავშირებლად. (VNC სერვერი)
მას შემდეგ რაც დაუკავშირებთ RPi VNC სერვერს. თქვენ შეგიძლიათ გაუშვათ კოდი ვირტუალურ სამუშაო მაგიდაზე და დაარეგულიროთ შეცდომები.
ვადები: გაშვება გაშვებისას
მოსახერხებელი რჩევა: მას შემდეგ რაც დაუკავშირებთ თქვენს Raspberry Pi ვირტუალურ დესკტოპს, შეხვალთ RPi– ს IP მისამართით. მაგრამ თუ თქვენ მიიღებთ შეცდომას იმის შესახებ, რომ RPi– მ უარი თქვა კავშირზე, ეს გამოწვეულია RPI– ში IP მისამართის შეცვლით. ეს შეიძლება მოხდეს, როდესაც გადატვირთავთ როუტერს ან WiFi ცხელ წერტილს და შემდეგ ცდილობთ შეხვიდეთ ძველი მისამართით. როუტერი ანიჭებს ახალ IP– ს ყოველ ჯერზე მისი გადატვირთვისას. მაგრამ თუ გახსოვთ RPi– ს ძველი IP მისამართი, უბრალოდ გაზარდეთ ბოლო ციფრი 1 – ით და შედით სისტემაში. მაგალითი: თუ ძველი IP მისამართია 190.148.1.100 მაშინ შედით 190.148 გამოყენებით.1.101
მას შემდეგ რაც შეამოწმებთ მუშაობს თუ არა ყველაფერი სწორად, დროა საბოლოო შეკრებისთვის.
ჩვენ ყოველთვის არ გვაქვს ვირტუალური დესკტოპი პითონის სკრიპტის მონიტორინგისთვის ან გასაშვებად. მოდით გავაკეთოთ ეს გაშვებისას.
ჩვენ გვსურს, რომ ჩვენი პროგრამა გაშვებული იყოს RPi ჩატვირთვის შემდეგ. შეამოწმეთ ეს ვებ გვერდი ამის შესახებ უფრო დეტალურად!
თუ თქვენი RPi ჩართულია ავტომატური შესვლის კონფიგურაციაში, შემდეგ განაგრძეთ;
შეასრულეთ შემდეგი ბრძანებები RPi ტერმინალში
sudo nano /etc /profile
გადაახვიეთ ბოლოში და დაამატეთ შემდეგი ხაზი:
sudo python file_path &
File_path აქ ეხება პითონის ფაილის გზას, სადაც ინახება თქვენი საბოლოო კოდი.
შენიშვნა: ფაილის ბოლოს Ampersand (&) უნდა დაემატოს ისე, რომ თქვენი პროგრამა სისტემის ჩატვირთვის პარალელურად იმუშაოს. იმის გამო, რომ ჩვენი პროგრამა შეიცავს გაუთავებელ მარყუჟს, ეს ნაბიჯი სავალდებულოა, რომ მაშინაც კი, თუ პროგრამა არ მუშაობს ისე, როგორც მოსალოდნელი იყო, ჩვენ მაინც გამოვიყენებთ RPi დესკტოპს პარამეტრების შესაცვლელად.
ამის შემდეგ დააჭირეთ CTRL-X და შემდეგ YPress Enter ორჯერ და თქვენ დაბრუნდებით ბრძანების ტერმინალში.
გადატვირთეთ Pi
ახლა კოდი უნდა გაშვებული იყოს გაშვებისას
ნაბიჯი 9: საკაბელო მენეჯმენტი და საბოლოო შეკრება
გილოცავთ! ამ პროექტის დასრულებისას. მე მას მივეცი სიტყვა მინიმალური, როგორც თქვენ ნახეთ, ჩვენ გამოვიყენეთ ნაკლები LED- ები, რათა აჩვენოს ყველა საჭირო მითითება და ასევე მორგებული ფერები. მოგერიდებათ გამოიყენოთ სხვადასხვა ფერები თქვენი LED- ებისთვის, როგორიცაა ყვითელი შემობრუნების ინდიკატორებისთვის ან სხვა.
თუ თქვენ დაასრულეთ ეს პროექტი დააწკაპუნეთ "მე გავაკეთე" და გამიზიარეთ თქვენი გამოცდილება. გაგვიზიარეთ თქვენი აზრები და ასევე ნებისმიერი წინადადება ან კომენტარი ამ პროექტზე. დიდი სიამოვნებით მოვისმენდი ამას!
საკაბელო მენეჯმენტი
დიახ! როგორც თქვენ ალბათ შეამჩნიეთ, ამდენი მავთული შემოდის ციკლებში და მათ გარშემო და მათი მართვა მღელვარეა. მე გამოვიყენე საკაბელო ტეგები, საიზოლაციო ფირები და საკაბელო გარსაცმები, რომ დამალულიყო მავთულები და ასევე შეღებილი მათ შავზე, როგორც თქვენ ნახეთ სურათი.
მოსახერხებელი რჩევა: იმის გამო, რომ თქვენ დატოვეთ ზედმეტი სანტიმეტრი თქვენი კაბელებისგან, ვიდრე საჭიროა, ახლა სასარგებლოა მათი სწორად მართვა მათზე ხაზგასმის გარეშე! თუ თქვენი ერთ -ერთი LED ნათურა ანათებს და სხვები კი არა, თუ ყველაფერი სწორად გააკეთეთ, პრობლემა იმაშია Jumper Wires დაკავშირებული RPi, იქნება ფხვიერი კონტაქტი. თუ ეს გაგრძელდება, გამოიყენეთ მამრობითი და მდედრობითი მხტუნავი მავთულები მავთულის გასაგრძელებლად და დასაკავშირებლად. გამოიყენეთ საკაბელო კავშირები, რათა შეინარჩუნოთ მავთულები ისე, რომ ის არ მოძრაობდეს.
ახლა ინდიკატორი მზად არის სამოგზაუროდ! Ისიამოვნე
PS: შემდგომ ინსტრუქციებში მე ნამდვილად მინდა შევამცირო წრეში მავთულის რაოდენობა და უკეთესი გეგმის შემუშავება. თუ ამას გავაკეთებ, მე გაგიზიარებ ინსტრუქციას!
ნაბიჯი 10: ინდიკატორის ზოგიერთი სურათი
გმადლობთ, რომ კითხულობთ ამ ინსტრუქციას. ვიმედოვნებ, რომ თქვენც ისევე მოგეწონათ, როგორც მე მისი დამზადებისას
ქრონოლოგია: დასკვნითი ტესტი ზემოთ მოცემულ სეგმენტში თქვენ ხედავთ, რომ როგორც კი ოთახი ბნელდება, "ღამის ხედვა" ჩართულია და როგორც კი ანათებს ის მაშინვე გამორთულია!
ქრონოლოგია: მზად ვარ გასაშვებად ზოგიერთი ვიდეო გადავიღე იმისთვის, რომ მაჩვენებელი აჩვენოს ყურადღების ცენტრში. ყველა დამსახურებაა ჩემი დების ველოსიპედისთვის ვიდეოსთვის!
გირჩევთ:
ბატარეის მქონე ნათურა, რომელიც ჩართულია მაგნიტების გამოყენებით!: 8 ნაბიჯი (სურათებით)
ბატარეის მქონე ნათურა, რომელიც ჩართულია მაგნიტების გამოყენებით!: ჩვენ ვიცით, რომ ნათურების უმეტესობა ჩართულია/გამორთულია ფიზიკური გადამრთველის საშუალებით. ამ პროექტის მიზანი იყო შემექმნა უნიკალური გზა, რომ ნათურა ადვილად ჩართული/გამორთულიყო კლასიკური გადართვის გარეშე. მე დავინტერესდი ლამპის იდეით, რომელმაც შეცვალა ფორმა ამ პროცესის დროს
მინიმალისტური სიტყვის საათი: 28 ნაბიჯი (სურათებით)
მინიმალისტური სიტყვის საათი: მადლობა Super Make Something– ს, რადგან ეს პროექტი შთაგონებულია მათი ნეოპიქსელური სიტყვის საათით. მე შევქმენი ეს საათი, როგორც ჩემი IGCSE დიზაინის ნაწილი & ტექნოლოგიის კურსი და მიიღო A* ამისათვის. CAD მოდელი აგებულია ადრე შერწყმაზე, ასე რომ
Wifi ჩართულია OLED ESP32 მანქანის საზომი: 3 ნაბიჯი (სურათებით)
Wifi ჩართულია OLED ESP32 მანქანის გამზომი: შესავალი პირველ რიგში … მე ვაშენებ მანქანის მზომებს, როგორც ერთგვარი ისევ და ისევ ჰობის. იხილეთ https: //www.instructables.com/id/Remote-Car-Monit … და https: //www.instructables.com/id/Remote-Car-Monit … კიდევ ორი უახლესი მაგალითისთვის. მე განსაკუთრებით მომწონს
მინიმალისტური IoT საათი (ESP8266, Adafruit.io, IFTTT და Arduino IDE გამოყენებით): 10 ნაბიჯი (სურათებით)
მინიმალისტური IoT საათი (ESP8266, Adafruit.io, IFTTT და Arduino IDE გამოყენებით): ამ გაკვეთილში მე ვაჩვენებ, თუ როგორ შეგიძლიათ მინიმალისტური საათის ინტერნეტით სინქრონიზაცია. მე გამოვცადე ეს ორი განსხვავებული ESP8266 დაფით: Firebeetle და NodeMCU. მიკროკონტროლერი იღებს მიმდინარე დროს Google სერვერიდან და აჩვენებს მას
ველოსიპედის განათების მაჩვენებელი: LUX: 7 ნაბიჯი (სურათებით)
ველოსიპედის განათების მაჩვენებელი: LUX: LUX არის უნიკალური პროდუქტი ველოსიპედისთვის. ეს არის გაჯეტი, რომლის ჩამოკიდება შესაძლებელია სავარძლის უკანა პოზიციაში. ეს მიუთითებს, თუ შენელდება ველოსიპედისტი, ბრუნავს მარცხნივ თუ მარჯვნივ, LED- ების მატრიცის გამოყენებით (გამომავალი). ეს არის მარტივი და