Помогите новичку разобраться с Arduino
- Войдите на сайт для отправки комментариев
Пнд, 25/01/2016 - 12:46
С Arduino работаю первый раз. До этого был опыт только на Pascal :D
Вообщем, пытаюсь просто заставить сервак крутиться вперед-назад. Нашел небольшой гайд (http://robocraft.ru/files/books/arduino_notebook_rus_v1-1.pdf) (Этот кусок кода есть в этой книжке на 38 странице, его я и переписал). Вот код:
#include <Servo.h> int servoPin = 3; int myAngle; int PulseWidth; void setup() { // put your setup code here, to run once: pinmode(ServoPin, OUTPUT); } void servoPulse(int ServoPin, int myAngle) { pulseWidth = (myAngle * 10) +600; digitalWrite(ServoPin,HIGH); delayMicroseconds(pulseWidth); digitalWrite(ServoPin, LOW); } void loop() { // put your main code here, to run repeatedly: for (myAngle = 10; myAngle<=170; myAngle++) { servoPulse(ServoPin,myAngle); delay(20); } for (myAngle=170; myAngle>=10; myAngle--) { servoPulse(ServoPin, myAngle); delay(20); } }
При запуске ругается вообще на всю программу, чуть ли не на каждую строку.
C:\Users\1\Documents\Arduino\sketch_jan25c\sketch_jan25c.ino: In function 'void setup()': sketch_jan25c:8: error: 'ServoPin' was not declared in this scope pinmode(ServoPin, OUTPUT); ^ sketch_jan25c:8: error: 'pinmode' was not declared in this scope pinmode(ServoPin, OUTPUT); ^ C:\Users\1\Documents\Arduino\sketch_jan25c\sketch_jan25c.ino: In function 'void servoPulse(int, int)': sketch_jan25c:13: error: 'pulseWidth' was not declared in this scope pulseWidth = (myAngle * 10) +600; ^ C:\Users\1\Documents\Arduino\sketch_jan25c\sketch_jan25c.ino: In function 'void loop()': sketch_jan25c:23: error: 'ServoPin' was not declared in this scope servoPulse(ServoPin,myAngle); ^ sketch_jan25c:26: error: 'myangle' was not declared in this scope for (myAngle=170; myangle>=10; myAngle--) ^ sketch_jan25c:28: error: 'ServoPin' was not declared in this scope servoPulse(ServoPin, myAngle); ^ exit status 1 'ServoPin' was not declared in this scope Неверная библиотека найдена в C:\Users\1\Documents\Arduino\libraries\Blink: C:\Users\1\Documents\Arduino\libraries\Blink Неверная библиотека найдена в C:\Users\1\Documents\Arduino\libraries\Blink: C:\Users\1\Documents\Arduino\libraries\Blink
Как я понял, ему не хватает каких-то библиотек? Это моя единственная догадка. Вообщем, помогите нубу)))
Еду просто завтра на выставку, осталось уже буквально 12 часов до начала, а у меня только робот собран, а прога вообще не написана.
К слову, это что-то вроде робота-паука (гексапод на 3 сервоприводах)
error: 'ServoPin'was not declared in this scope - означает не объявлена константа или переменная ServoPin. Надо где-то в начале написать:
#define ServoPin 5
или
int ServoPin=3;
Значение указать твоё.
По поводу других ошибок: в языке различаются pinmode и pinMode, myangle и myAngle.
По поводу других ошибок: в языке различаются pinmode и pinMode, myangle и myAngle.
О, вот за это спасибо, не знал.
error: 'ServoPin'was not declared in this scope - означает не объявлена константа или переменная ServoPin. Надо где-то в начале написать:
int ServoPin=3;
Так ведь у меня это прописано в самом начале
Или я может это не в том разделе прописал?
Ой, кажется разобрался. У меня и правда многие команды с разным регистром прописаны :D
Сейчас исправлю и отпишусь
"Так ведь у меня это прописано в самом начале" - да, не заметил, та же самая ошибка, ServoPin и servoPin это разные переменные.
Ахахахах, господи, и правда. Поправил везде регистр и теперь все работает без ошибок... Сколько же я мучался XD
Еду просто завтра на выставку, осталось уже буквально 12 часов до начала, а у меня только робот собран, а прога вообще не написана.
К слову, это что-то вроде робота-паука (гексапод на 3 сервоприводах)
робот будет в разделе "Лепим за 12-ть часов выставочные образцы"?
servoPin и ServoPin - это разные вещи.......
рulseWidth и PulseWidth - это разные вещи.......
pinмode и pinMode тоже разные.
А pinмode- это вообще переменная
Ага, понял уже...
Еду просто завтра на выставку, осталось уже буквально 12 часов до начала, а у меня только робот собран, а прога вообще не написана.
К слову, это что-то вроде робота-паука (гексапод на 3 сервоприводах)
робот будет в разделе "Лепим за 12-ть часов выставочные образцы"?
XD