본문 바로가기

분류 전체보기453

아두이노 초음파센서 4개, 부저 RGB LED 4개 50 < distance 이면 led 꺼짐 추가 #include //LCD 라이브러리 추가 //LiquidCrystal lcd(RS, Enable, DB4, DB5, DB6, DB7); LiquidCrystal lcd(40, 41, 42, 43, 44, 45); int go = 52; //buzzer int trigPin1 = 23; //후방 int echoPin1 = 22; int red1 = 10; int grn1 = 9; int blu1 = 8; int trigPin2 = 24; //전방 int echoPin2 = 25; int red2 = 13; int grn2 = 12; int blu2 = 11; int trigPin3 = 32; //좌 int echoPin3 = 33; int red3 = 7;.. 2021. 1. 22.
ATmega128 인터럽트방식 p247 (pdf246) 키입력 - 폴링방식 p205 (pdf203), 인터럽트방식 p247 (pdf246) sei cli : global interrupt enable volatile 쓰는 이유 : volatile 은 변수 값을 참고할 때 캐시메모리에 있는게 아닌(캐시메모리의 값을 참조하는것 =간소화) 실제 메모리주소로 바로 가서 참조한다. 그래서 다른값을 참조하는 일을 없게 한다. 온전히 변수값 그대로를 참조한다 https://ko.wikipedia.org/wiki/Volatile_%EB%B3%80%EC%88%98 volatile 변수 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. C/C++ 프로그래밍 언어에서 이 키워드는 최적화 등 컴파일러의 재량을 제한하는 역할을 한다. 개발자가 설정한 개념을 구현.. 2021. 1. 22.
오늘. 내일 모터 세밀하게 제어 아두이노올리기 (부저, 초음파, led) 2021. 1. 21.
dc모터 모터드라이브 사용해 2개 + 2개 동시 제어 2개 동시제어하는 코드 from gpiozero import Robot from gpiozero import Motor import time dc_motor = Robot(left=(12, 16), right=(20, 21)) for num in range(4): print(num, "FORWARD 회전") dc_motor.forward(speed=0.3) time.sleep(3) print("모터 정지") dc_motor.stop() time.sleep(0.5) print(num, "BACKWARD 회전") dc_motor.backward(speed=0.3) time.sleep(3) print("모터 정지") dc_motor.stop() time.sleep(0.5) dc_motor.stop() 2021. 1. 21.
ATmega128 공통음극 캐소드 MT03911AR 7세그먼트 책에있는 코드인데 안된다 . 책대로 연결했는데 왜 안되는지 모르겠음 .. /* * FNDexample.c * * Created: 2020-12-07 오전 9:31:46 * Author : User */ #include unsigned char digit[] = {0x77, 0x41, 0x3B, 0x5B, 0x4D, 0x5E, 0x7C, 0x43, 0x7F, 0x4F}; void display_7segled(unsigned char led[], unsigned int number){ PORTB = led[number]; } int main(void) { DDRB = 0xFF; display_7segled(digit, 4); return 0; } 그래서 아래처럼 한칸씩 켜보고 직접 짜보기로함 #include.. 2021. 1. 21.
PORTB = 1 << PB7; 와 PORTB |= 1 << PB7; 차이 2021. 1. 21.
JMOD-128-1 AtmelStudio 7.0 에서 연결하기 새 프로젝트 만들고 아트메가 128 선택 후 컴퓨터와 연결 tools > add target 04 tools> device programming 05 코드 작성 후 빌드에 올라가면 memories에 들어가면 flash에 elf 파일이 있다. program 클릭 /* * jmod_led0121.c * * Created: 2021-01-21 오전 10:40:52 * Author : User */ #define F_CPU 16000000UL #include #include int main(void) { DDRB = 1 2021. 1. 21.
바퀴 https://syki66.github.io/blog/2020/09/27/servo-motor.html [raspberry pi] 파이썬으로 서보모터 제어하기 - syki66 blog 라즈베리파이 같이 파이썬으로 제어 가능한 장치가 있을때 서보모터를 제어하는 기초적인 방법이다. 1. 회로도 서보모터의 경우 아래와 같이 연결시켜주면 된다. VCC => 빨강 GND => 검정 or 갈색 신 syki66.github.io 2021. 1. 20.
시간남으면 할것 lcd : 전진 n미터 앞에 장애물있음 좌회전시 n 미터 앞에 사람있음 조이스틱? 충돌감지센서 - 박아서 사고나면 위치 블루투스로 전송함 2021. 1. 20.
if x<80 : print('right') elif x>300 : print('left') import cv2 import numpy as np cap = cv2.VideoCapture("1eun2.mp4") while True: ret, frame = cap.read() if ret is False: break roi = frame[100: 795, 700: 1300] rows, cols, _ = roi.shape gray_roi = cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY) gray_roi = cv2.GaussianBlur(gray_roi, (7, 7), 0) _, threshold = cv2.threshold(gray_roi, 30, 255, cv2.THRESH_BINARY_INV) _, contours, _ = cv2.findContours(threshold, .. 2021. 1. 20.
해석 2021. 1. 20.
오늘작업 코드 이해, value 수정후 눈동자 선명하게 띄우기 이해 print로 좌표값 띄우기if 눈동자 방향 ㅡ> 모터제어 4배속 영상 테스트 2021. 1. 19.
0eun, 주석 포함 코드, 주석 삭제한 코드 import cv2 import numpy as np cap = cv2.VideoCapture("0eun.mp4") while True: ret, frame = cap.read() if ret is False: break roi = frame[100: 795, 537: 1300] rows, cols, _ = roi.shape gray_roi = cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY) gray_roi = cv2.GaussianBlur(gray_roi, (7, 7), 0) _, threshold = cv2.threshold(gray_roi, 30, 255, cv2.THRESH_BINARY_INV) _, contours, _ = cv2.findContours(threshold, c.. 2021. 1. 19.
실시간 영상 대신 촬영한 영상 불러오는 코드. 가로세로줄 뜸 import cv2 import numpy as np cap = cv2.VideoCapture("Rack.mp4") while True: ret, frame = cap.read() if ret is False: break roi = frame[100: 795, 537: 1416] rows, cols, _ = roi.shape gray_roi = cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY) gray_roi = cv2.GaussianBlur(gray_roi, (7, 7), 0) _, threshold = cv2.threshold(gray_roi, 5, 255, cv2.THRESH_BINARY_INV) _, contours, _ = cv2.findContours(threshold, cv.. 2021. 1. 19.
PLC 예제 15 - 원버튼 램프 on/off 조작 (양변환검출) 초기상태 [[M0 상승엣지 됨과 동시에 M0 A접점이 연결됨 -(p20 B접점은 연결되어있음) -P20켜짐]] ->p20이 켜짐과 동시에 p20 B접점은 떼어지고 p20 A접점은 붙음 . 따라서 자기유지회로가 되고 P20이 켜진 상태로 유지됨. > 위의 [[ ]] 안은 매우 짧은 순간이다. (상승엣지가 되는 짧은 순간) 그래서 사실은 M0 양변환검출기가 상승엣지를 검출하는 순간 "M0 A접점은 붙고 M0 B접점은 떨어지지만" 매우 짧은 순간이기때문에 화면에 푸른색으로 나타나지는 않는다. 위의 이 모든 과정이 끝난 후의 상태가 화면에 나타남. 따라서 M0 A접점은 떨어져있고 B접점은 붙어있는 것으로 화면에 나타남 자기유지회로기 때문에 P1 스위치를 떼어도 P20에 불이 들어와 있다. [[M0 상승엣.. 2021. 1. 19.
pwm, duty cycle pwm 방식.. 2021. 1. 19.
PLC 예제 - 상태유지명령 OR 선입력우선 후입력우선(인터록) 2021. 1. 19.
PLC 예제 3~6 2021. 1. 18.
EOCR EOCR- Electronic Over Current Relay- 과전류가 흐르게 되면 전체 회로가 차단된다 전자접촉기 MC MCCB 배선용 차단기 2021. 1. 18.
라즈베리파이4에 OpenCV 3.4.3 설치 -완료 http://www.3demp.com/community/boardDetails.php?cbID=235 라즈베리파이 opencv 설치하기 이번 포스팅에서는 라즈베리파이에 OpenCV를 설치해 보겠습니다. 사진출처: https://ko.wikipedia.org/wiki/OpenCV OpenCV는 인텔이 개발한 이미지 및 영상처리 관련 라이브러리입니다. Windows, Linux, Android, iOS www.3demp.com 원문에 있는 make 코드 넣으니 에러? 나서 make 할 때 댓글 코드로 쓰니 바로 되었음.. 참고 댓글이렇게하니되네요2020-03-20 11:53:07 -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_TBB=OFF \ -D WITH_IPP=OFF \.. 2021. 1. 17.