Სარჩევი:

ESP8266 GPIO0/GPIO2/GPIO15 ქინძისთავების გამოყენებით: 4 ნაბიჯი
ESP8266 GPIO0/GPIO2/GPIO15 ქინძისთავების გამოყენებით: 4 ნაბიჯი

ვიდეო: ESP8266 GPIO0/GPIO2/GPIO15 ქინძისთავების გამოყენებით: 4 ნაბიჯი

ვიდეო: ESP8266 GPIO0/GPIO2/GPIO15 ქინძისთავების გამოყენებით: 4 ნაბიჯი
ვიდეო: ESP8266 ESP01 WIFI-UART | LDmicro-Roboremo პროგრამირება 2024, ნოემბერი
Anonim
ESP8266 GPIO0/GPIO2/GPIO15 ქინძისთავების გამოყენებით
ESP8266 GPIO0/GPIO2/GPIO15 ქინძისთავების გამოყენებით

განახლება 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 და GPIO15 ქინძისთავები
GPIO0, GPIO2 და GPIO15 ქინძისთავები

ეს ქინძისთავები განსაზღვრავს რა რეჟიმში იწყება ჩიპი.

ნორმალური პროგრამის შესასრულებლად GPIO0 და GPIO2 უნდა გაიყვანოს Vcc– მდე (3.3V) და GPIO15 უნდა გაიყვანოს GND– ში, თითოეულს აქვს რეზისტორი 2K– დან 10K– მდე რეზისტორის დიაპაზონში. 2K რეზისტორი იძლევა უკეთესი ხმაურის იმუნიტეტს. OLIMEX იყენებს 2K რეზისტორებს SparkFun იყენებს 10K რეზისტორებს. მე ვიყენებ 3K3 რეზისტორებს.

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

ნაბიჯი 3: GPIO0, GPIO2 და GPIO15 შედეგების გამოყენება

GPIO0, GPIO2 და GPIO15 შედეგების გამოყენებით
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 შესასვლელად გამოყენება

GPIO0, GPIO2 და GPIO15 შეყვანის სახით გამოყენება
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 ერთად.

გირჩევთ: