?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

질문 | 아두이노코드인데 이코드가 라즈베리파이에 써도되나요 아니면 라즈베리파이에사용가능하게 바꾸는법좀요ㅠㅠ

페이지 정보

작성자 대호짱입 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일18-05-16 18:30 조회123회 댓글3건

본문

아두이노코드인데 이코드가 라즈베리파이에 써도되나요 아니면 라즈베리파이에사용가능하게 바꾸는법좀요ㅠㅠ //////////////////////////////////////////////////////////
2 // Example testing HomePy device
3 // Written by YoungBae Suh
4
 
5 // 1. Sends registration code to server at start-up and in every 30 min
6 // 2. Sends humidity of soil to server every 5 min
7 // 3. Responds at ping command from remote.
8 // 4. When it receives control command from server, feed water to flowerpot
9 //    And send response with result code
10 // Find details at http://www.hardcopyworld.com
11 //////////////////////////////////////////////////////////
12
 
13
 
14 #define HUMI_PIN A0
15 #define CONTROL_PIN 5
16 #define LED_PIN 13
17
 
18 // Humidity check
19 #define CHECK_INTERVAL 300000
20 unsigned long prevReadTime = 0;
21
 
22 // Water pump control
23 #define AUTO_STOP_INTERVAL 1500
24 #define HUMIDITY_THRESHOLD 250
25 int isValveOn = 0;
26 unsigned long prevValveTime = 0;
27
 
28
 
29 void setup() {
30  // for debug
31  Serial.begin(9600);
32  Serial.println("Smart flowerpot");
33
 
34  // initialization
35  pinMode(CONTROL_PIN, OUTPUT);
36  pinMode(LED_PIN, OUTPUT);
37  digitalWrite(CONTROL_PIN, LOW);
38  digitalWrite(LED_PIN, LOW);
39 }
40
 
41
 
42
 
43 void loop() {
44  // turn off the water pump
45  if(isValveOn > 0 && millis() - prevValveTime > AUTO_STOP_INTERVAL) {
46    digitalWrite(CONTROL_PIN, LOW);
47    isValveOn = 0;
48    Serial.println("Stop pumping...");
49  }
50   
51  //------------------------------------------------------
52  //----- Check humidity info
53  //------------------------------------------------------
54  if(millis() - prevReadTime > CHECK_INTERVAL) {
55    int humi = analogRead(HUMI_PIN);
56    prevReadTime = millis();
57    Serial.print("Humidity: ");
58    Serial.print(humi);
59    Serial.println(" %");
60
 
61    // send data to server
62    if(humi < HUMIDITY_THRESHOLD) {
63      digitalWrite(CONTROL_PIN, HIGH);
64      prevValveTime = millis();
65      isValveOn = 1;
66      Serial.println("Start pumping...");
67    }
68  }
69
 
70 }  // End of loop()
71
 

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

라즈베리파이는 파이썬 같은 언어를 이용해서 별도로 코딩을 하셔야 합니다. 그대로 쓰는건 안됩니다.

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

파이썬 언어를 따로 공부하시고 라즈베리파이에 설치해서 쓰셔야해요. 양이 많아서 여기서 뭐라 답해드릴수가 없네요