BASIC4MCU | 질문게시판 | atmega128코드로 변환 부탁드립니다
페이지 정보
작성자 K유 작성일2022-09-21 20:45 조회2,631회 댓글0건본문
안녕하세요, 졸업을 앞둔 대학생입니다.
졸업 작품으로 자동 분리수거가 되는 작품을 만들 생각으로 코드를 찾아보니 아두이노 코드만 나오더라구요.
학교에서 아두이노는 쓰지말라고 해가지고 atmega128을 써야 하는 상황인데 아두이노 코드를 atmega128 코드로 어떻게 바꿔야 하는지 잘 모르겠습니다...
matlab을 같이 써야할 상황이라 더 복잡한 기분입니다...
아래에 코드가 아두이노 코드입니다. 변환을 어떻게 해야하는지 답변해주시면 정말 감사드리겠습니다ㅠㅠ
#include <Servo.h>
Servo firstServo;
int trigPin = 12;
int echoPin = 7;
int CDS = A0;
int motorPin = 9;
int pos = 90;
int light = 0;
int go = 0;
int BAUD_RATE = 9600;
void setup() {
Serial.begin(BAUD_RATE);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(CDS,INPUT);
firstServo.attach(motorPin);
}
void loop() {
unsigned int duration;
int distance;
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(5);
digitalWrite(trigPin,LOW);
duration = pulseIn(echoPin,HIGH);
distance=(duration/2)/29.1;
delay(200);
if(distance <= 30) {
light = analogRead(CDS);
if(light >= 100) {
for(pos = 90; pos > 0; pos--) {
firstServo.write(pos);
delay(10);
}
delay(1000);
pos = 90;
firstServo.write(pos);
}
else {
firstServo.write(pos);
Serial.println(go);
for(pos = 90; pos < 180; pos++) {
firstServo.write(pos);
delay(10);
}
delay(1000);
pos = 90;
firstServo.write(pos);
}
}
}
#include <Servo.h>
Servo secondServo;
int motorPin = 10;
int pos = 90;
const int BAUD_RATE = 9600;
void setup() {
Serial.begin(BAUD_RATE);
secondServo.attach(motorPin);
}
void loop() {
if(Serial.available()) {
char ch = Serial.read();
if(ch == 2) {
for(pos = 90; pos < 180; pos++) {
secondServo.write(pos);
delay(10);
}
delay(1000);
pos = 90;
secondServo.write(pos);
}
else if(ch == 1) {
for(pos=90; pos > 0; pos--) {
secondServo.write(pos);
delay(10);
}
delay(1000);
pos = 90;
secondServo.write(pos);
}
}
}
댓글 0
조회수 2,631등록된 댓글이 없습니다.