11 - Đặng Bảo Thái Đạt
11 - Đặng Bảo Thái Đạt
Lớp: DHTI15A15HN
MSV: 21103100921
Câu 1: 220 Ω
Code:
int led7[] = {2, 3, 4, 5, 6, 7, 8};
byte digits[10][7] = {
{0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 1, 1, 1, 1},
{0, 0, 1, 0, 0, 1, 0},
{0, 0, 0, 0, 1, 1, 0},
{1, 0, 0, 1, 1, 0, 0},
{0, 1, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0}
};
void setup() {
for (int i = 0; i < 7; i++) {
pinMode(led7[i], OUTPUT);
}
}
void loop() {
for (int i = 0; i < 10; i++) {
displayNumber(i);
delay(1000);
}
}
Câu 2:
Code:
const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
void allOn();
void allOff();
void blinkAll();
void runningLight();
void chasing();
void randomBlink();
void knightRider();
void sparkle();
void fadeInOut();
void alternatingBlink();
void setup() {
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
allOn();
delay(1000);
allOff();
delay(1000);
blinkAll();
delay(1000);
runningLight();
delay(2000);
chasing();
delay(2000);
randomBlink();
delay(2000);
knightRider();
delay(2000);
sparkle();
delay(2000);
fadeInOut();
delay(3000);
alternatingBlink();
delay(2000);
}
void allOn() {
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH);
}
}
void allOff() {
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], LOW);
}
}
void blinkAll() {
allOn();
delay(500);
allOff();
delay(500);
}
void runningLight() {
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH);
delay(200);
digitalWrite(ledPins[i], LOW);
}
}
void chasing() {
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
}
}
void randomBlink() {
for (int i = 0; i < 5; i++) {
int randomLed = random(numLeds);
digitalWrite(ledPins[randomLed], HIGH);
delay(100);
digitalWrite(ledPins[randomLed], LOW);
}
}
void knightRider() {
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH);
delay(100);
}
for (int i = numLeds - 1; i >= 0; i--) {
digitalWrite(ledPins[i], LOW);
delay(100);
}
}
void sparkle() {
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
}
int randomLed = random(numLeds);
digitalWrite(ledPins[randomLed], HIGH);
delay(300);
}
void fadeInOut() {
for (int brightness = 0; brightness <= 255; brightness++) {
for (int i = 0; i < numLeds; i++) {
analogWrite(ledPins[i], brightness);
}
delay(10);
}
for (int brightness = 255; brightness >= 0; brightness--) {
for (int i = 0; i < numLeds; i++) {
analogWrite(ledPins[i], brightness);
}
delay(10);
}
}
void alternatingBlink() {
for (int i = 0; i < numLeds; i += 2) {
digitalWrite(ledPins[i], HIGH);
}
delay(500);
for (int i = 0; i < numLeds; i += 2) {
digitalWrite(ledPins[i], LOW);
}
for (int i = 1; i < numLeds; i += 2) {
digitalWrite(ledPins[i], HIGH);
}
delay(500);
for (int i = 1; i < numLeds; i += 2) {
digitalWrite(ledPins[i], LOW);
}
}
Câu 3:
Code:
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
int g = 7;
int s1 = 8;
int s2 = 9;
const int dl_time = 10; // delay time in milliseconds
int i, j, k;
void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
digitalWrite(s1, LOW);
digitalWrite(s2, LOW);
void loop() {
for (i = 0; i < 10; i++) {
for (j = 0; j < 10; j++) {
for (k = 0; k < 50; k++) {
digitalWrite(s2, LOW);
chon_so(i);
digitalWrite(s1, HIGH);
delay(dl_time);
digitalWrite(s1, LOW);
chon_so(j);
digitalWrite(s2, HIGH);
delay(dl_time);
digitalWrite(s2, LOW);
}
}
}
}
Câu 4:
Code:
Câu 5: 220 Ω
Code:
int led[] = {2, 3, 4, 5, 6, 7, 8, 9};
int len = sizeof(led) / sizeof(led[0]);
void setup() {
for (int i = 0; i < len; i++) pinMode(led[i], OUTPUT);
}
void loop() {
// Hiệu ứng chạy đuổi
for (int i = 0; i < len; i++) {
digitalWrite(led[i], HIGH);
delay(100);
digitalWrite(led[i], LOW);
}
}
Câu 6: Led: 220 Ω ; Push Button: 10 kΩ
Code:
int button = 2;
int led = 13;
int state = LOW;
void setup() {
pinMode(led, OUTPUT);
pinMode(button, INPUT_PULLUP);
}
void loop() {
if (digitalRead(button) == LOW) {
delay(200); // debounce
state = !state;
digitalWrite(led, state);
while (digitalRead(button) == LOW); // chờ nhả nút
}
}
Câu 7:
Code:
Câu 8:
Code:
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define NUMPIXELS 12
void setup() {
ring.begin();
ring.show();
}
void loop() {
for(int i=0; i<NUMPIXELS; i++) {
ring.clear();
ring.setPixelColor(i, ring.Color(0, 150, 255)); // LED hiện tại sáng xanh dương nhạt
ring.show();
delay(100); // Tạo hiệu ứng xoay
}
}
Câu 9: 220 Ω
Code:
#include <LiquidCrystal.h>
void setup() {
lcd.begin(16, 2); // Khởi tạo LCD 16x2
lcd.print("Xin chao!"); // In ra dòng đầu tiên
}
void loop() {
lcd.setCursor(0, 1); // Di chuyển con trỏ đến dòng thứ 2
lcd.print("Arduino + LCD");
delay(1000);
}
Câu 10: Câu này em dùng tiếp mạch nối từ Câu 9 : 220 Ω
Code:
#include <Keypad.h>
#include <LiquidCrystal.h>
void setup() {
lcd.begin(16, 2);
lcd.print("May tinh Arduino");
delay(1500);
lcd.clear();
}
void loop() {
char key = keypad.getKey();
if (key) {
if (key >= '0' && key <= '9') {
if (!enteringSecond) {
num1 += key;
} else {
num2 += key;
}
} else if (key == '+' || key == '-' || key == '*' || key == '/') {
op = key;
enteringSecond = true;
} else if (key == '=') {
float result = 0;
float a = num1.toFloat();
float b = num2.toFloat();
if (op == "+") result = a + b;
else if (op == "-") result = a - b;
else if (op == "*") result = a * b;
else if (op == "/" && b != 0) result = a / b;
lcd.clear();
lcd.print(num1 + op + num2 + "=");
lcd.setCursor(0, 1);
lcd.print(result);
// Reset
num1 = "";
num2 = "";
op = "";
enteringSecond = false;
} else if (key == 'C') {
num1 = "";
num2 = "";
op = "";
enteringSecond = false;
lcd.clear();
}
Code:
#include <IRremote.h>
void setup() {
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
irrecv.enableIRIn();
Serial.begin(9600);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
if (results.value == 0xFFA25D) {
ledState = !ledState;
digitalWrite(RELAY_PIN, ledState ? HIGH : LOW);
}
irrecv.resume();
}
}
Câu 12:
Code:
#include <Servo.h>
Servo myServo;
void setup() {
myServo.attach(9); // Chân điều khiển Servo
}
void loop() {
myServo.write(0); // Xoay về 0 độ
delay(1000);
myServo.write(90); // Xoay đến 90 độ
delay(1000);
myServo.write(180); // Xoay đến 180 độ
delay(1000);
}