יום ראשון, 18 בדצמבר 2016

חנוכיה לחנוכה

חנוכיה היא מילה מחודשת, במקורות מופיעות במקומה המילים "מנורת החנוכה". אך למרות שבמקורות אין הכוונה כנראה לנורות LED, החלטתי להכין מנורת חנוכה מקורית מנורות לד.

מוכנים? בואו נתחיל...

רכיבים:

לוח ארדואינו אונו
מטריצה או שתיים
9 * נורות לד (אפשר אחת בגוון שונה כדי שתהיה שמש...)
9 * נגד 220 ohm
1 * נגד 10 kohm
לחצן אחד pushbutton
13 * חוטים

מחברים את הרכיבים לפי התרשים הבא:



ומעלים את הקוד הבא:



אם חיברתם הכל כמו שצריך, החנוכיה לא אמורה לדלוק. כל שנותר לכם הוא ללחוץ על הכפתור פעם אחת בכל ערב בזמן הדלקת הנרות בכדי להוסיף נורה חדשה למניין הנורות... 

התוצאה אמורה להיות בערך כך: 





אם אתם לא מסוגלים לצפות בסרטון - לחצו כאן>>>

וכמה משימות קטנות לסיום:

1. כיום, אנו מדליקים נרות חנוכה כשיטת בית הלל, "מוסיף והולך", כלומר - ביום הראשון אנו מדליקים נר אחד, ביום השני שני נרות וכך הלאה. האם תוכלו לשנות את הקוד כך שיהיה כשיטת בית שמאי, "פוחת והולך" כלומר, ביום הראשון להדליק שמונה נרות, ביום השני שבעה נרות וכך הלאה עד שביום השמיני נדליק נר אחד?

2. האם תוכלו לתכנת את החנוכיה כך שתעבוד אוטומטית, ללא הלחצן?

3. האם תוכלו לגרום לנרות לכבות לאחר חצי שעה של הדלקה?

חנוכה שמח!!!

4 תגובות:

  1. יש אפשרות להסבר איך להרכיב את החנוכיה ולהפעיל אותה?

    ואם אני מעוניינת שכל 24 שעות ידלק עוד לד לבד בלי כפתור איך אני מיישמת את השינוי הזה כאן ?


    אשמח לתשובה ותודה רבה

    השבמחק
  2. אפשר להוריד את ה if ובמקומם לשים delay של 24 שעות...

    השבמחק
  3. תודה רבה על ההשראה. ממש עזרת לי:
    הכנתי סדנה לקבוצה קטנה במסגרת הפנינג חנוכה
    // A menorah is about to lit 2

    int buttonPin=11;

    void setup() {

    pinMode(12,OUTPUT); //8th blue
    pinMode(3,OUTPUT); //7th blue
    pinMode(4,OUTPUT); //6th blue
    pinMode(5,OUTPUT); //5th blue
    pinMode(6,OUTPUT); // Shamash Red
    pinMode(7,OUTPUT); // 4th yellow
    pinMode(8,OUTPUT); // 3rd yellow
    pinMode(9,OUTPUT); // 2nd yellow
    pinMode(10,OUTPUT); // 1st yellow
    pinMode(buttonPin,INPUT); // button

    }

    void loop() {

    int dec;
    for(dec=0; dec<9;){
    if(digitalRead(buttonPin) == HIGH){
    delay(300);
    dec=dec+1;
    }

    if(dec==1){

    digitalWrite(6,HIGH);
    digitalWrite(10,HIGH);

    }

    if(dec==2){
    digitalWrite(6,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);

    }

    if(dec==3){
    digitalWrite(6,HIGH);
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    }

    if(dec==4){
    digitalWrite(6,HIGH);
    digitalWrite(7,HIGH);
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    }

    if(dec==5){
    digitalWrite(5,HIGH);
    digitalWrite(6,HIGH);
    digitalWrite(7,HIGH);
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    }

    if(dec==6){
    digitalWrite(4,HIGH);
    digitalWrite(5,HIGH);
    digitalWrite(6,HIGH);
    digitalWrite(7,HIGH);
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    }

    if(dec==7){
    digitalWrite(3,HIGH);
    digitalWrite(4,HIGH);
    digitalWrite(5,HIGH);
    digitalWrite(6,HIGH);
    digitalWrite(7,HIGH);
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    }

    if(dec==8){
    digitalWrite(12,HIGH);
    digitalWrite(3,HIGH);
    digitalWrite(4,HIGH);
    digitalWrite(5,HIGH);
    digitalWrite(6,HIGH);
    digitalWrite(7,HIGH);
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    }

    if(dec==9){ // The End - light on last time
    // light off
    digitalWrite(12,LOW);
    delay(100);
    digitalWrite(3,LOW);
    delay(100);
    digitalWrite(4,LOW);
    delay(100);
    digitalWrite(5,LOW);
    delay(100);
    digitalWrite(6,LOW);
    delay(100);
    digitalWrite(7,LOW);
    delay(100);
    digitalWrite(8,LOW);
    delay(100);
    digitalWrite(9,LOW);
    delay(100);
    digitalWrite(10,LOW);
    }

    https://photos.app.goo.gl/R67LN6ivaPwW8jmy6

    השבמחק

הערות? הארות? יש לך משהו חשוב לספר לכולם? שאלות?

נשמח לשמוע!

(התגובה תפורסם בהקדם בכפוף לאישור מערכת מייקינג)