🎰 ماموریت ۳۳: هشت خروجی با سه پایه

با 74HC595 و shiftOut، هشت LED رو فقط با سه پایه‌ی آردوینو کنترل کن.

سطح: چالشی ⭐⭐⭐ · مود: آردوینو — با کد

هدف‌ها

قطعه‌های لازم

▶ همین ماموریت را در شبیه‌ساز امتحان کن
💡 گیر کردی؟ داخل شبیه‌ساز راهنما را ببین، و اگر باز هم نشد دکمه‌ی «برام حلش کن» مدار را برایت می‌چیند تا ببینی چطور کار می‌کند.

جواب کامل

اول خودت امتحان کن! بعد جواب را ببین 👀

سیم‌کشی

  1. Arduino Uno (VCC5) ⟷ 74HC595 Shift (P16)
  2. 74HC595 Shift (P8) ⟷ Arduino Uno (GND1)
  3. 74HC595 Shift (P13) ⟷ Arduino Uno (GND1)
  4. Arduino Uno (VCC5) ⟷ 74HC595 Shift (P10)
  5. Arduino Uno (D11) ⟷ 74HC595 Shift (P14)
  6. Arduino Uno (D12) ⟷ 74HC595 Shift (P11)
  7. Arduino Uno (D8) ⟷ 74HC595 Shift (P12)
  8. 74HC595 Shift (P15) ⟷ Resistor (220Ω) (PIN1)
  9. Resistor (220Ω) (PIN2) ⟷ LED (Red) (ANODE)
  10. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)
  11. 74HC595 Shift (P1) ⟷ Resistor (220Ω) (PIN1)
  12. Resistor (220Ω) (PIN2) ⟷ LED (Red) (ANODE)
  13. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)
  14. 74HC595 Shift (P2) ⟷ Resistor (220Ω) (PIN1)
  15. Resistor (220Ω) (PIN2) ⟷ LED (Red) (ANODE)
  16. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)
  17. 74HC595 Shift (P3) ⟷ Resistor (220Ω) (PIN1)
  18. Resistor (220Ω) (PIN2) ⟷ LED (Red) (ANODE)
  19. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)
  20. 74HC595 Shift (P4) ⟷ Resistor (220Ω) (PIN1)
  21. Resistor (220Ω) (PIN2) ⟷ LED (Red) (ANODE)
  22. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)
  23. 74HC595 Shift (P5) ⟷ Resistor (220Ω) (PIN1)
  24. Resistor (220Ω) (PIN2) ⟷ LED (Red) (ANODE)
  25. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)
  26. 74HC595 Shift (P6) ⟷ Resistor (220Ω) (PIN1)
  27. Resistor (220Ω) (PIN2) ⟷ LED (Red) (ANODE)
  28. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)
  29. 74HC595 Shift (P7) ⟷ Resistor (220Ω) (PIN1)
  30. Resistor (220Ω) (PIN2) ⟷ LED (Red) (ANODE)
  31. LED (Red) (CATHODE) ⟷ Arduino Uno (GND2)

کد

const int DATA = 11, CLOCK = 12, LATCH = 8;
byte counter = 0;

void show(byte value) {
  digitalWrite(LATCH, LOW);
  shiftOut(DATA, CLOCK, MSBFIRST, value);
  digitalWrite(LATCH, HIGH);
}

void setup() {
  pinMode(DATA, OUTPUT);
  pinMode(CLOCK, OUTPUT);
  pinMode(LATCH, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  show(counter);
  Serial.print("adad:");
  Serial.println(counter);
  counter++;
  delay(250);
}

ماموریت‌های مشابه

💡

ماموریت ۳۲: روشن کردن با رله

💾

ماموریت ۳۴: رکورد را یادش بماند

⚙️

ماموریت ۳۱: موتور با ترانزیستور

🚸

ماموریت ۳۵: چراغ عابر پیاده

📚 برای یاد گرفتن پایه‌ها سری به دوره‌ی آموزش آردوینو بزن · 🎯 همه‌ی ماموریت‌ها