לפני שנמשיך לשאר החיישנים חייבים לשחק קצת עם לדים (Leds) , יש המון הסברים ודוגמאות בנושא ואחד הדברים הבסיסיים בעבודה עם Arduino, אני לא אזבל לכם במוח יותר מידי, סה"כ מדובר במשהו מאוד פשוט, במאמר זה נעבור על 2 סוגים שונים של Leds , הראשון הוא הסטנדרטי , הרגיל והמשעמם, השני הוא RGB ("אני רואה צבעים").
עבודה עם Led סטנדרטי
דרישות:
- Arduino Uno
- Wire
- Resistors 330 Ohm
- Bridges
ל Leds הסטנדרטים יש 2 רגליים (+\-) עבור המתח, את רגל החיובית ניתן לזהות בכך שהיא הרגל הארוכה, לה מתחבר נגד 330 Ohm שמתחבר ל Digital Pin , את הרגל הקצרה נחבר לכניסת GND ב Arduino.
ניתן להשתמש ב Bridges (גשרים) על מנת לחבר את כל הלדים לנקודת GND אחת.
מבנה סופי
קוד הדגמה:
//set arduino pins
int pinA =5;
int pinB =6;
int pinC =7;
int pinD =8;
int pinE =9;
int pinF =10;
int pinG =11;
int pinH =12;
int pinI =13;
void setup()
{
  //set pins as ouput
  pinMode(pinA,OUTPUT);
  pinMode(pinB,OUTPUT);
  pinMode(pinC,OUTPUT);
  pinMode(pinD,OUTPUT);
  pinMode(pinE,OUTPUT);
  pinMode(pinF,OUTPUT);
  pinMode(pinG,OUTPUT);
  pinMode(pinH,OUTPUT);
  pinMode(pinI,OUTPUT);
}
void loop()
{
  //change each led  to high => on and low => off 
  //using delay between switching
  digitalWrite(pinA,HIGH);
  delay(100);
  digitalWrite(pinA,LOW);
  delay(100);
   digitalWrite(pinB,HIGH);
  delay(100);
  digitalWrite(pinB,LOW);
  delay(100);
   digitalWrite(pinC,HIGH);
  delay(100);
  digitalWrite(pinC,LOW);
  delay(100);
   digitalWrite(pinD,HIGH);
  delay(100);
  digitalWrite(pinD,LOW);
  delay(100);
   digitalWrite(pinE,HIGH);
  delay(100);
  digitalWrite(pinE,LOW);
  delay(100);
   digitalWrite(pinF,HIGH);
  delay(100);
  digitalWrite(pinF,LOW);
  delay(100);
   digitalWrite(pinG,HIGH);
  delay(100);
  digitalWrite(pinG,LOW);
  delay(100);
   digitalWrite(pinH,HIGH);
  delay(100);
  digitalWrite(pinH,LOW);
  delay(100);
   digitalWrite(pinI,HIGH);
  delay(100);
  digitalWrite(pinI,LOW);
  delay(100);
}
דרישות:
- Arduino Uno
- Wire
- 3 Resistors 330 Ohm
- RGB Led
פה העסק קצת שונה עבור כל ערוץ צבע (שבעצם רגל) מתחבר ל Resistor , הרגל הארוכה מסמנת כרגל השלילית שמתחברת ל GND.
מבנה סופי
יאללה דיסקו!
קוד דוגמה:
//set pins in the arduino
const int RED_LED_PIN = 1;
const int GREEN_LED_PIN = 2;
const int BLUE_LED_PIN =3;
//init value for each channel
int red = 0;
int green = 0;
int blue = 0;
//delay
const int display_timeout = 100;
void setup(){}
void loop()
{
  //change the green channel
  // mixing with the red channel
      for(green = 0; green <= 255; green+=5)
    {
       red = 255 - green;
       analogWrite(GREEN_LED_PIN,green);
       analogWrite(RED_LED_PIN,red);
       delay(display_timeout);
    }
  //change the blue channel
  // mixing with the green channel
      for(blue = 0; blue <= 255; blue+=5 )
    {
       green = 255 - blue;
       analogWrite(BLUE_LED_PIN,blue);
       analogWrite(GREEN_LED_PIN,green);
       delay(display_timeout);
    }
  //change the  red channel
  // mixing with the blue channel
      for(red = 0; red <= 255; red+=5)
    {
       blue = 255 - red;
       analogWrite(RED_LED_PIN,red);
       analogWrite(BLUE_LED_PIN,blue);
       delay(display_timeout);
    }
}
סיכום:
ראינו כאן משהו מאוד פשוט אבל הכרחי בכל הקשור לחווית המשתמש במוצר שלכם.
סרט הדגמה:









 
אין תגובות:
הוסף רשומת תגובה