Სარჩევი:
- შესავალი
- ნაბიჯი 1: Flash GPIO Pins - GPIO6 to GPIO11
- ნაბიჯი 2: GPIO0, GPIO2 და GPIO15 ქინძისთავები
- ნაბიჯი 3: GPIO0, GPIO2 და GPIO15 შედეგების გამოყენება
- ნაბიჯი 4: GPIO0, GPIO2 და GPIO15 შესასვლელად გამოყენება
- დასკვნა
ვიდეო: ESP8266 GPIO0/GPIO2/GPIO15 ქინძისთავების გამოყენებით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
განახლება 2018 წლის 1 ივლისი-დამატებულია შენიშვნა ხელახალი პროგრამირების შესახებ, როდესაც GPIO0 არის გამომავალი
ეს არის ძალიან მოკლე შენიშვნა, თუ როგორ გამოიყენოთ GPIO0 / GPIO2 და GPIO15 ქინძისთავები ESP8266 მოდულზე.
განახლება: ასევე იხილეთ როგორ გამოვიყენოთ ESP8266-01 ქინძისთავები
შესავალი
ESP8266 არის დაბალი ღირებულების wifi ჩართული ჩიპი. ის მოდის მოდულის სხვადასხვა ტიპში და მისი დაპროგრამება შესაძლებელია სხვადასხვა გზით. ყველა მოდული ხელმისაწვდომს ხდის GPIO0 და GPIO2. მოდულების უმეტესობა, ESP8266-01- ის გარდა, ასევე ხდის GPIO15- ს ხელმისაწვდომს. ეს GPIO აკონტროლებს, თუ როგორ იწყება მოდული და, როგორც ასეთი, მოითხოვს განსაკუთრებულ დამუშავებას, თუ ისინი საერთოდ გამოიყენება. GPIO6-GPIO11 ასევე მოითხოვს სპეციალურ მკურნალობას, როგორც ეს აღწერილია ქვემოთ.
ნაბიჯი 1: Flash GPIO Pins - GPIO6 to GPIO11
ESP8266 დაფების უმეტესობას აქვს ფლეშ ჩიპი, რომელიც დაკავშირებულია GPIO6-GPIO11– ის ზოგიერთ ან მთელ ნაწილთან. პროგრამების უმეტესობა იყენებს ფლეშ მეხსიერებას, ასევე ოპერატიულ მეხსიერებას, ასე რომ, თუ კონკრეტულად არ დარწმუნდებით, რომ თქვენი კოდი მუშაობს მხოლოდ RAM– დან, თქვენ არ შეგიძლიათ გამოიყენოთ ეს ქინძისთავები სხვა მიზნებისთვის.
GPIO6– დან GPIO11 დიაპაზონში გამოყენებული ქინძისთავების რაოდენობა დამოკიდებულია თქვენს მოდულში გამოყენებული ფლეშ აპარატურის ტიპზე. Quad IO იყენებს 4 სტრიქონს მონაცემებისთვის (სულ 6 ქინძისთავით) სტანდარტულ სიჩქარეზე 4 -ჯერ. ორმაგი IO იყენებს 2 სტრიქონს მონაცემებისთვის (სულ 4 ქინძისთავი) სტანდარტი იყენებს ერთ ხაზს მონაცემებისთვის (სულ 3 ქინძისთავით).
თუ ზუსტად არ იცით რას მოითხოვს თქვენი დაფა, უმჯობესია უბრალოდ იგნორირება გაუკეთოთ GPIO6– ს GPIO11– ზე და არ მიუთითოთ ისინი თქვენი კოდიდან.
ნაბიჯი 2: GPIO0, GPIO2 და GPIO15 ქინძისთავები
ეს ქინძისთავები განსაზღვრავს რა რეჟიმში იწყება ჩიპი.
ნორმალური პროგრამის შესასრულებლად GPIO0 და GPIO2 უნდა გაიყვანოს Vcc– მდე (3.3V) და GPIO15 უნდა გაიყვანოს GND– ში, თითოეულს აქვს რეზისტორი 2K– დან 10K– მდე რეზისტორის დიაპაზონში. 2K რეზისტორი იძლევა უკეთესი ხმაურის იმუნიტეტს. OLIMEX იყენებს 2K რეზისტორებს SparkFun იყენებს 10K რეზისტორებს. მე ვიყენებ 3K3 რეზისტორებს.
ამ შეყვანის პარამეტრები შემოწმებულია მხოლოდ ჩიპის ჩართვის (ან გადატვირთვის) დროს. ამის შემდეგ ქინძისთავები ხელმისაწვდომია ზოგადი გამოყენებისთვის, მაგრამ როგორც ქვემოთ განვიხილეთ, მათი გამოყენება შეზღუდულია ამ გარე გამწევი/ქვემოთ რეზისტორებით.
ნაბიჯი 3: GPIO0, GPIO2 და GPIO15 შედეგების გამოყენება
როგორც ზემოთ აღინიშნა, ამ ქინძისთავებს უკვე ექნებათ რეზისტორი დაკავშირებული VCC (GPIO0 და GPIO2) ან GND GPIO15- თან. ეს განსაზღვრავს, თუ როგორ უნდა იყოს დაკავშირებული ნებისმიერი გარე მოწყობილობა, როგორიცაა სარელეო ან led+რეზისტორი. GPIO0 და GPIO2– ისთვის გარე სარელეო უნდა იყოს დაკავშირებული VCC– ს და pin– ს შორის ისე, რომ ის არ ჩაერიოს გამწევი რეზისტორის მოქმედებაში. პირიქით, GPIO15- თან დაკავშირებული გარე სარელეო უნდა იყოს დაკავშირებული GND- ს და პინს შორის ისე, რომ არ შეუშალოს ხელი დამწევი რეზისტორის მოქმედებას.
გარე მოწყობილობის გასააქტიურებლად, GPIO0 ან GPIO2 უნდა იმოძრაოს LOW (აქტიური დაბალი), ხოლო GPIO15 უნდა იყოს მართული HIGH (აქტიური მაღალი).
ზემოთ მოყვანილი სქემა გვიჩვენებს, თუ როგორ გამოვიყენოთ GPIO0 და GPIO2 და GPIO15 როგორც შედეგები. ეს წრე მოიცავს აუცილებელ გაყვანის/ამოღების რეზისტორებსაც. შენიშვნა 5V სარელეო მოდული ამოძრავებს GPIO0 არის opto იზოლირებული და აქვს ცალკე საერთო კავშირი შეყვანის. მნიშვნელოვანია, რომ 5V VCCA ძაბვა არ იქნას გამოყენებული ESP8266 პინზე.
როგორ ხდება პროგრამის გადაწერა GPIO0 გამომავალი გამოყენებისას
შენიშვნა: GPIO0 უნდა იყოს დასაბუთებული პროგრამირების რეჟიმში შესასვლელად. თუ თქვენ ესკიზს მართავთ მაღლა, დამიწებამ შეიძლება დააზიანოს თქვენ ESP8266 ჩიპი. ESP8266– ის ხელახალი პროგრამირების უსაფრთხო გზა, როდესაც თქვენი კოდი მართავს GPIO0– ს არის:- ა) დაფის გათიშვა ბ) მოკლე GPIO0 დანგრევამდე გ) დაფის გაძლიერება, რომელიც გადადის პროგრამის რეჟიმში GPIO0– ზე მოკლედ დ) ამოღება მოკლე GPIO0– დან, რათა არ გამოტოვოთ გამომავალი პროგრამის გაშვებისას ე) დაფის გადაპროგრამება ვ) საჭიროების შემთხვევაში დაალაგეთ დაფა.
ნაბიჯი 4: GPIO0, GPIO2 და GPIO15 შესასვლელად გამოყენება
ამ ქინძისთავების შეყვანის სახით გამოყენება ცოტა რთულია. როგორც ზემოთ აღინიშნა ჩართვისას და გადატვირთვისას, ეს ქინძისთავები უნდა აიწიოს ზემოთ ან ქვემოთ, როგორც საჭიროა ESP8266 მოდულის გაშვება ნორმალურ რეჟიმში. ეს ნიშნავს, რომ ზოგადად, თქვენ არ შეგიძლიათ მხოლოდ გარე გადამრთველი მიამაგროთ ამ ქინძისთავებს, რადგან გააქტიურებისას თქვენ ჩვეულებრივ ვერ იძლევით გარანტიას, რომ გადამრთველი არ გაიყვანს შეყვანის მიწას და ამით ხელს შეუშლის მოდულის სწორად დაწყებას.
ხრიკი მდგომარეობს იმაში, რომ არ შევაერთოთ გარე გადამრთველი პირდაპირ GPIO0– დან ან GPIO2– დან GND– სთან, არამედ შევაერთოთ იგი სხვა GPIO პინთან, რომელიც მიწაშია (გამომავალი სახით) მხოლოდ ESP8266– ის გაშვების შემდეგ. დაიმახსოვრე, როდესაც გამოიყენება როგორც გამომავალი, GPIO ქინძისთავები უზრუნველყოფენ ძალიან დაბალ წინააღმდეგობის კავშირს VCC- სთან ან GND- თან, იმისდა მიხედვით, ისინი მოძრაობენ მაღალი თუ დაბალი.
აქ განიხილება მხოლოდ GPIO0 და GPIO2. ამ მეთოდის გამოყენებით თქვენ შეგიძლიათ მიიღოთ ერთი (1) დამატება ამ ორი (2) GPIO– ს გამოყენებით.
მსგავსი მეთოდი შეიძლება გამოყენებულ იქნას GPIO15– ისთვის სხვა GPIO პინის გამოყენებით მისი გადართვა +VCC– სთან, მაგრამ ეს არ მიიღებს დამატებით შეყვანას, თქვენ შეიძლება უბრალოდ გამოიყენოთ სხვა GPIO პინი პირდაპირ შესასვლელად.
ზემოთ ჩართული მაგალითისთვის იყენებს ESP8266-01 მოდულს. ამ ხრიკის გამოყენების გარეშე, ESP8266-01– ს არ აქვს უფასო ქინძისთავები შესასვლელად, თუ თქვენ უკვე იყენებთ ქინძისთავებს RX/TX UART კავშირისთვის.
მას შემდეგ, რაც ესკიზის დაყენების მეთოდი () მუშაობს მხოლოდ ESP8266 მოდულის ამოქმედების შემდეგ, უსაფრთხოა GPIO0 გამოშვება LOW შემდეგ და ამით უზრუნველყოს საფუძველი S1 GPIO2– თან. ამის შემდეგ შეგიძლიათ გამოიყენოთ digitalRead (2) ესკიზის სხვაგან გადართვის პარამეტრების წასაკითხად.
დასკვნა
ეს მოკლე შენიშვნა გვიჩვენებს, თუ როგორ გამოვიყენოთ GPIO0, GPIO2 და GPIO15, როგორც შედეგები და როგორ გამოვიყენოთ დამატებითი შეყვანა GPIO0 და GPIO2 ერთად.
გირჩევთ:
წვრილმანი -- როგორ შევქმნათ ობობა რობოტი, რომლის კონტროლიც შესაძლებელია სმარტფონის გამოყენებით Arduino Uno– ს გამოყენებით: 6 ნაბიჯი
წვრილმანი || როგორ შევქმნათ ობობა რობოტი, რომლის კონტროლიც შესაძლებელია სმარტფონის გამოყენებით Arduino Uno– ს საშუალებით: ობობის რობოტის შექმნისას, თქვენ შეგიძლიათ გაიგოთ ბევრი რამ რობოტიკის შესახებ. რობოტების დამზადების მსგავსად არის გასართობი და რთული. ამ ვიდეოში ჩვენ ვაჩვენებთ თუ როგორ უნდა გავაკეთოთ ობობა რობოტი, რომლის გამოყენებაც ჩვენ შეგვიძლია ჩვენი სმარტფონის გამოყენებით (ანდროი
ნერვული ქსელი პლანეტარიუმის გამოყენებით პითონის, ელექტრონისა და კერასის გამოყენებით: 8 ნაბიჯი
ნერვული ქსელის პლანეტარიუმი პითონის, ელექტრონისა და კერასის გამოყენებით: ამ სასწავლო ინსტრუქციაში მე გაჩვენებთ როგორ დავწერე ავტომატური 3D პლანეტარიუმის გენერატორი პითონისა და ელექტრონის გამოყენებით. ზემოთ მოყვანილი ვიდეო აჩვენებს პროგრამის გენერირებულ ერთ – ერთ შემთხვევით პლანეტარიუმს. ** შენიშვნა: ეს პროგრამა არავითარ შემთხვევაში არ არის სრულყოფილი და ზოგიერთ ადგილას
3-ღერძიანი აქსელერომეტრი, ADXL345 ჟოლოს პიტონის გამოყენებით პითონის გამოყენებით: 6 ნაბიჯი
3-ღერძიანი ამაჩქარებელი, ADXL345 ჟოლოს პიტონის გამოყენებით: ფიქრი გაჯეტზე, რომელსაც შეუძლია შეამოწმოს ის წერტილი, რომლისკენაც თქვენი Offroader გადახრილია. არ იქნება ეს სასიამოვნო იმ შემთხვევაში, როდესაც ვიღაც მორგებულია, როდესაც არსებობს გადატრიალების შესაძლებლობა? ცხადია დიახ. მართალი იქნებოდა
როგორ გავაკეთოთ დრონი Arduino UNO– ს გამოყენებით გააკეთეთ ოთხკუთხედი მიკროკონტროლის გამოყენებით: 8 ნაბიჯი (სურათებით)
როგორ გავაკეთოთ დრონი Arduino UNO– ს გამოყენებით გააკეთეთ ოთხკუთხედი მიკროკონტროლერის გამოყენებით: შესავალი ეწვიეთ ჩემს Youtube არხს A თვითმფრინავი არის ძალიან ძვირი გაჯეტი (პროდუქტი) შესაძენად. ამ პოსტში მე ვაპირებ განხილვას, როგორ გავაკეთო ეს იაფად ?? და როგორ შეგიძლია გააკეთო ასეთი იაფად … ინდოეთში ყველა მასალა (ძრავა, ესკ
უკაბელო დისტანციური მართვის გამოყენებით 2.4Ghz NRF24L01 მოდული არდუინოსთან ერთად Nrf24l01 4 არხი / 6 არხი გადამცემი მიმღები კვადკოპტერისთვის - Rc ვერტმფრენი - Rc თვითმფრინავი Arduino– ს გამოყენებით: 5 ნაბიჯი (სურათებით)
უკაბელო დისტანციური მართვის გამოყენებით 2.4Ghz NRF24L01 მოდული არდუინოსთან ერთად Nrf24l01 4 არხი / 6 არხი გადამცემი მიმღები კვადკოპტერისთვის | Rc ვერტმფრენი | Rc თვითმფრინავი Arduino– ს გამოყენებით: Rc მანქანის მართვა | ოთხკუთხედი | დრონი | RC თვითმფრინავი | RC ნავი, ჩვენ ყოველთვის გვჭირდება მიმღები და გადამცემი, დავუშვათ, რომ RC QUADCOPTER– ისთვის ჩვენ გვჭირდება 6 არხიანი გადამცემი და მიმღები და რომ TX და RX ტიპი ძალიან ძვირი ღირს, ამიტომ ჩვენ ვაკეთებთ ერთს ჩვენს