स्टीयर करके वापस लाइन पर
Arduino C++शुरुआती कोड लाइन तो पढ़ता है, पर जो भी देखे, दोनों पहियों को 150 पर चलाता है। इसे स्टीयर करना सिखाएँ: error = position - 3500, फिर left = 150 + error / 20 और right = 150 - error / 20। लाइन सेंसर 2 के नीचे हो तो बायाँ पहिया धीमा और दायाँ तेज़ होना चाहिए; सेंसर 7 के नीचे हो तो उल्टा; बीच में हो तो दोनों 150 पर।
जाँच
- अभी चलाया नहीं गया4.5 s तक चलता है
- अभी चलाया नहीं गयाreadLineBlack() से लाइन पढ़ता है
- अभी चलाया नहीं गयाSTBY (D9), HIGH है: ड्राइवर जागा हुआ है
- अभी चलाया नहीं गयाबीच में: बायाँ पहिया (D5) लगभग 150/255 पर
- अभी चलाया नहीं गयाबीच में: दायाँ पहिया (D6) लगभग 150/255 पर
- अभी चलाया नहीं गयासेंसर 2 के नीचे लाइन: बायाँ पहिया धीमा होता है
- अभी चलाया नहीं गयासेंसर 2 के नीचे लाइन: दायाँ पहिया तेज़ होता है
- अभी चलाया नहीं गयासेंसर 7 के नीचे लाइन: बायाँ पहिया तेज़ होता है
- अभी चलाया नहीं गयासेंसर 7 के नीचे लाइन: दायाँ पहिया धीमा होता है
- अभी चलाया नहीं गयाफिर बीच में: वापस 150 पर
संकेत
- readLineBlack() एक unsigned संख्या लौटाता है; घटाने से पहले उसे cast करें: int error = (int)pos - 3500;
- error / 20, बिना फ़्लोटिंग पॉइंट के error x 0.05 जैसा ही है: वही Kp है।
- motors() पहले से constrain() से हर पहिये को 0-255 में रखता है।