היי אבישי.
arduino clone זה מעגל שבנוי בצורה דומה למעגל הארדינו המקורי אבל נוצר ע"י חברה אחרת.
בסופו של דבר כל כרטיס של הארדינו מכיל מיקרובקר מסדרת AVR של Atmel וגביש שדרוש לפעולתו של המיקרובקר.
מוסיפים לזה מייצב מתח וחיבור טורי או ממיר מטורי ל-usb ויש לך מעגל דיי זהה לארדינו המקורי.
האם בחוט בלי כלום אתה מתכוון חוט שמחובר לכניסה ושצידו השני מנותק ונמצא באוויר?
באופן תיאורתי המצב של רגל input שלא מחוברת לכלום הוא לא מוגדר.
יתכן שהתוכנה חושבת שהיא רואה משהו על הקו למרות שהוא לא שם.
תנסה לחבר את החוט ישירות לאדמה כדי לתת לה מצב לוגי מוגדר. האם זה עדיין קורה?
כמו כן חסר בקוד שבדוגמה משהו שנקרא debounce.
כשאתה לוחץ על הכפתור הוא לא ישר נסגר ונותן לך 1 לוגי. לחלקים מכניים לוקח כמה מיקרו שניות עד שהמגעים מתייצבים אחרי הלחיצה.
לדוגמה כפתור לא לחוץ יתן לך 0 לוגי כל הזמן: 00000.... ברגע שתחץ על הכפתור המגעים של הכפתור רועדים ונותנים משהו כמו 1010101 שכזה
עד שהמצב שלהם מתייצב ל 111111..... בסופו של דבר זה אומר שאם תלחץ פעם אחת, הלחיצה יכולה להספר מספר פעמים.
כדי להתגבר על זה בד"כ מוסיפים השעייה קטנה לקוד delay(10) ובודקים אם מצב הכפתור אחרי ההשעייה זהה למצב לפנייה.
אם כן סימן שמצב הכפתור יתייצב ושיש לנו כאן לחיצה ודאית.
דוגמא לdebounce:
http://arduino.cc/it/Tutorial/Debounce
אורן.
...I think I am, therefore I am. I think