Skip to content
Snippets Groups Projects
Commit b5988d5f authored by zhang yuwei's avatar zhang yuwei
Browse files

lab

parent 1277747d
Branches
No related tags found
No related merge requests found
Showing
with 607 additions and 0 deletions
.DS_Store 0 → 100644
File added
int flame = A0;
int buzzer = 8;
void setup() {
Serial.begin(9600);
pinMode(flame, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
int val = analogRead(flame);
Serial.print("flame_sensor : ");
Serial.println(val);
if(val < 1023) {
digitalWrite(buzzer, HIGH);
Serial.println("FIRE!!!");
}
else {
digitalWrite(buzzer, LOW);
Serial.println("No Fire");
}
delay(200);
}
int echoPin = 7;
int trigPin = 8;
void setup() {
Serial.begin(9600);
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = ((float)(340 * duration) / 1000) / 2;
Serial.print("Distance : ");
Serial.print(distance);
Serial.println("mm\n");
delay(3000);
}
int tilt = 3;
void setup() {
Serial.begin(9600); // 시리얼 통신을 시작, 통신속도는 (9600)
pinMode(3, INPUT); // 디지털 3번 핀을 입력모드로 설정
}
void loop() {
int a = digitalRead(tilt); // 정수형 변수 a를 생성한 후 디지털 3번핀에 입력되는 신호를 입력
if (a == HIGH) { // a가 HIGH (1)이면
Serial.println("ball UP"); // 시리얼 모니터에 Ball UP을 입력)
delay(2000); // 2초간 대기
}
else { // 그게 아니라면 (a가 HIGH가 아니라면)
Serial.println("ball DOWN"); // 시리얼 모니터에 Ball DOWN을 입력
delay(2000); // 2초간 대기
}
}
#include <Wire.h>
#define I2C_Address 0x53
//ADXL345 register address
#define POWER_CTL 0x2D
#define DATA_FORMAT 0x31
#define X_axis 0x32
#define Y_axis 0x34
#define Z_axis 0x36
#define Range_2g 0
#define Range_4g 1
#define Range_8g 2
#define Range_16g 3
void setup() {
Wire.begin();
Serial.begin(9600);
Init_ADXL345(Range_2g);
}
void loop() {
Serial.print("X: ");
Serial.print(Read_Axis(X_axis));
Serial.print(" Y: ");
Serial.print(Read_Axis(Y_axis));
Serial.print(" Z: ");
Serial.print(Read_Axis(Z_axis));
Serial.println();
delay(5000);
}
int Read_Axis(byte a){
int data;
Wire.beginTransmission(I2C_Address);
Wire.write(a);
Wire.endTransmission();
Wire.beginTransmission(I2C_Address);
Wire.requestFrom(I2C_Address, 2);
if(Wire.available()){
data=(int)Wire.read();
data=data|(Wire.read()<<8);
}
else{
data=0;
}
Wire.endTransmission();
return data;
}
void Init_ADXL345(byte r){
Wire.beginTransmission(I2C_Address);
Wire.write(DATA_FORMAT);
Wire.write(r);
Wire.endTransmission();
Wire.beginTransmission(I2C_Address);
Wire.write(POWER_CTL);
Wire.write(0x08);
Wire.endTransmission();
}
float temperature;
int reading;
int lm35Pin = A0;
void setup()
{
analogReference(INTERNAL);
Serial.begin(9600);
delay(5000);
}
void loop()
{
reading = analogRead(lm35Pin);
float voltage = reading*5.0;
voltage /= 1024.0;
temperature = reading / 9.31;
Serial.print(temperature); Serial.println(" degrees C");
delay(1000);
}
#include <DHT.h>
#define DHTPIN A1
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup(){
Serial.begin(9600);
}
void loop(){
int h = dht.readHumidity();
int t = dht.readTemperature();
Serial.print("humidity: ");
Serial.println(h);
Serial.print("tempperature: ");
Serial.println(t);
delay(1000);
}
int CDS = A0;
int LED = 2;
void setup() {
Serial.begin(9600);
pinMode(CDS, INPUT);
pinMode(LED,OUTPUT);
}
void loop() {
int val = analogRead(CDS);
Serial.print("CDS_Sensor: ");
Serial.println(val);
if(val > 500) {
digitalWrite(LED, HIGH);
Serial.println("LED ON");
}
else {
digitalWrite(LED, LOW);
Serial.println("LED OFF");
}
delay(1000);
}
void setup() {
Serial.begin(9600);
}
void loop() {
int Soil_moisture = analogRead(A1);
Serial.println(Soil_moisture);
delay(100);
}
#include <Servo.h>
Servo servo;
int motor = 2;
void setup() {
servo.attach(motor);
}
void loop() {
servo.write(90);
delay(2000);
servo.write(180);
delay(2000);
}
#include<Stepper.h>
const int stepsPerRevolution = 2048;
Stepper stepper(stepsPerRevolution, 8, 10, 9, 11);
void setup() {
stepper.setSpeed(10);
}
void loop() {
stepper.step(stepsPerRevolution);
delay(500);
stepper.step(-stepsPerRevolution);
delay(500);
}
int Red = 7;
int Yellow = 6;
int Blue = 5;
void setup()
{
pinMode(Red, OUTPUT);
pinMode(Yellow, OUTPUT);
pinMode(Blue, OUTPUT);
}
void loop() {
digitalWrite(Red, LOW);
digitalWrite(Yellow, LOW);
digitalWrite(Blue, LOW);
delay(1000);
digitalWrite(Red, HIGH);
delay(1000);
digitalWrite(Yellow, HIGH);
delay(1000);
digitalWrite(Blue, HIGH);
delay(1000);
}
int Joy_x = A0;
int Joy_y = A1;
int Joy_z = A2;
void setup()
{
pinMode(Joy_z,INPUT_PULLUP);
Serial.begin(9600);
}
void loop()
{
int x = analogRead(Joy_x);
int y = analogRead(Joy_y);
int z = digitalRead(Joy_z);
Serial.print("X: ");
Serial.print(x);
Serial.print(" Y: ");
Serial.print(y);
if( z == 0 )
Serial.println(" Pressed");
else
Serial.println(" Nothing");
delay(500);
}
#include<Stepper.h>
const int stepsPerRevolution = 64;
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
void setup() {
myStepper.setSpeed(220);
}
void loop() {
int sensorReading = analogRead(0);
if (sensorReading < 300)
myStepper.step(1);
if (sensorReading > 800)
myStepper.step(-1);
}
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // 접근주소: 0x3F or 0x27
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Hello, world!");
lcd.setCursor(0,1);
lcd.print("Enjoy - Eduino");
}
void loop()
{
}
#include <FrequencyTimer2.h>
int joy_x = A4;
int joy_y = A5;
byte col = 0;
byte leds[8][8];
int val = 0x80;
int cols[8] = {9, 3, 2, 12, 15, 11, 7, 6};
int rows[8] = {13, 8, 17, 10, 5, 16, 4, 14};
byte byte_heart[8] = {0x66, 0x99, 0x99, 0x42, 0x24, 0x24, 0x18, 0x18};
byte heart[8][8] = {
{0, 1, 1, 0, 0, 1, 1, 0},
{1, 0, 0, 1, 1, 0, 0, 1},
{1, 0, 0, 1, 1, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 0, 0, 0}
};
byte byte_sheart[8] = {0x00, 0x66, 0x5A, 0x5A, 0x24, 0x18, 0x18, 0x00};
byte sheart[8][8] = {
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 1, 0, 0, 1, 1, 0},
{0, 1, 0, 1, 1, 0, 1, 0},
{0, 1, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
};
void display();
void setup() {
Serial.begin(9600);
for (int i = 2; i <= 17; i++) {
pinMode(i, OUTPUT);
}
for (int i = 0; i < 8; i++) {
digitalWrite(cols[i], HIGH);
digitalWrite(rows[i], HIGH);
}
FrequencyTimer2::setOnOverflow(display);
}
void loop() {
int x = analogRead(joy_x);
int h_x = (x - 512) * 7 / 500;
int y = analogRead(joy_y);
int h_y = (y - 512) * 7 / 500;
Serial.print("x: "); Serial.print(x);
Serial.print(" y: "); Serial.println(y);
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
leds[i][j] = ((val >> (7 - j)) & 1);
}
}
delay(500);
val = val + (val >> 1);
if (val >= 0xFF) val = 0x80;
}
void display() {
digitalWrite(cols[col], HIGH);
col++;
if (col == 8) col = 0;
for (int row = 0; row < 8; row++) {
if (leds[col][7 - row] == 1)
digitalWrite(rows[row], HIGH);
else
digitalWrite(rows[row], LOW);
}
digitalWrite(cols[col], LOW);
}
int leds[] = {2, 3, 4, 5, 6, 7, 8, 9};
int led_num = 8;
int button = 13;
int num= 0;
int set_number[10][8] = {
{0, 0, 0, 0, 0, 0, 1, 1},
{1, 0, 0, 1, 1, 1, 1, 1},
{0, 0, 1, 0, 0, 1, 0, 1},
{0, 0, 0, 0, 1, 1, 0, 1},
{1, 0, 0, 1, 1, 0, 0, 1},
{0, 1, 0, 0, 1, 0, 0, 1},
{0, 1, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 1, 1, 1, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 1, 0, 0, 1}
};
void setup() {
for (int i = 0 ; i < led_num ; i++) {
pinMode(leds[i], OUTPUT);
}
pinMode(button, INPUT_PULLUP);
}
void loop() {
if(digitalRead(button) == LOW){
if(num == 9) num = 0;
else num ++;
}
for (int j = 0 ; j < led_num ; j++) {
digitalWrite(leds[j], set_number[num][j]);
}
delay(150);
}
#include <DHT.h>
#include <DHT_U.h>
#define DHTPIN A1
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
int position_pin[] = {13,10,9,2};
int segment_pin[] = {12,8,4,6,7,11,3,5};
const int delay_time = 5;
int Pin = A0;
byte data[] = {0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE4, 0xFE, 0xE6};
void setup() {
for (int i = 0; i < 4; i++)
pinMode(position_pin[i], OUTPUT);
for (int i = 0; i < 8; i++)
pinMode(segment_pin[i], OUTPUT);
analogReference(INTERNAL);
Serial.begin(9600);
dht.begin();
delay(5000);
}
int count = 0;
int reading;
float volt, temp;
void loop() {
int h = dht.readHumidity();
int t = dht.readTemperature();
Serial.print("h : ");
Serial.println(h);
Serial.print("t : ");
Serial.println(t);
if (count == 50)
{
reading = analogRead(Pin);
Serial.print("Reading "); Serial.println(reading);
float volt = reading * 5000.0 / 1024.0;
Serial.print("volt "); Serial.println(volt);
temp = (volt - 500.0) / 10.0;
temp = (temp - 32) / 1.8;
Serial.print("temp "); Serial.println(temp);
count = 0;
}
count++;
int itemp = temp * 100.0;
int num1 = (itemp / 1000) % 10;
int num2 = (itemp / 100) % 10;
int num3 = (itemp / 10) % 10;
int num4 = itemp % 10;
show(1, num1);
delay(delay_time);
show(2, num2);
delay(delay_time);
show(3, num3);
delay(delay_time);
show(4, num4);
delay(delay_time);
}
void show(int position, int number) {
for (int i = 0; i < 4; i++) {
if (i + 1 == position) {
digitalWrite(position_pin[i], HIGH);
} else {
digitalWrite(position_pin[i], LOW);
}
}
for (int i = 0; i < 8; i++) {
byte segment = (data[number] & (0x01 << i)) >> i;
if (segment == 1) {
digitalWrite(segment_pin[7 - i], LOW);
} else {
digitalWrite(segment_pin[7 - i], HIGH);
}
}
}
#include <IRremote.h>
int RECV_PIN = A0;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(2, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
switch (results.value) {
case 0xFF9867: digitalWrite(2, HIGH); break;
case 0xFFA25D: digitalWrite(2, LOW); break;
}
irrecv.resume();
}
delay(100);
}
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc(SS_PIN, RST_PIN);
void setup() {
Serial.begin(9600);
SPI.begin();
mfrc.PCD_Init();
}
void loop(){
if ( !mfrc.PICC_IsNewCardPresent() || !mfrc.PICC_ReadCardSerial() ) {
delay(500);
return;
}
Serial.print("Card UID:");
for (byte i = 0; i < 4; i++) {
Serial.print(mfrc.uid.uidByte[i]);
Serial.print(" ");
}
Serial.println();
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment