Здравейте,
Правя този урок за Ардуино
http://www.ladyada.net/learn/arduino/lesson5.html но ми се струва, че нещо не е наред с пиновете.
Кодът е този:
int switchPin = 2; // Switch connected to digital pin 2
void setup() // run once, when the sketch starts
{
Serial.begin(9600); // set up Serial library at 9600 bps
pinMode(switchPin, INPUT); // sets the digital pin as input to read switch
}
void loop() // run over and over again
{
Serial.print("Read switch input: ");
Serial.println(digitalRead(switchPin)); // Read the pin and display the value
delay(100);
}
Значи странното е, че серийният монитор показва "Read switch input: 1" дори когато пинът е свободен. После вкарвам един проводник в пин-а, за да го свържа с бредборда и в момента, в който докосна пин-а той започва да показва 0. Но не за дълго! Започват да се сменят 0 и 1. Смених на друг пин и пак същото. Изобщо държи се много странно.
Кодът е съвсем прост и не виждам какво може да се обърка. Ако не се лъжа това трябва да покаже 1 само ако подам електричество към пин 2 нали?
Едит: Пробвах пинове от 2 до 10 s digitalRead. Имат напълно безразборно поведение. Стойностите се сменят като пипна черните цокълчета, в които се слагат проводниците. Дори някои се сменят като вдигна платката от масата.