본문 바로가기
[VHDL] 마그네틱 도어센서로 문열림 감지하기 이번에 진행했던 텀프로젝트..! 원래는 LCD에 ON/OFF 만 표시하면 됐었는데 뭔가 아쉬워서 FPGA에 내장되어 있는 피에조 부저로 소리까지 울릴 수 있게 해보았다. 결선 마그네틱 도어센서 센서선 J1 2번 핀 GND 전원공급 접지 LCD J2 사용, 하단의 결선도 참고 소스코드- VHD library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --u.. 2021. 6. 28.
[Raspberry Pi] 일정 밝기 이상의 빛이 감지되면 세그먼트에 숫자 출력하기 import RPi.GPIO as GPIO import time import CK_SPI_ADC as spi_adc import CK_SPI_DEV as spi_dev import spidev GPIO.setmode(GPIO.BCM) ADC_SPI_SS = 8 ADC_CH_LIGHT=0xDF sensor_chID= ADC_CH_LIGHT GPIO.setup(ADC_SPI_SS, GPIO.OUT) GPIO.output(ADC_SPI_SS,1) spi=spidev.SpiDev() spi.open(0,0) spi.max_speed_hz = 5000000 #FND 위치별 핀번호 정의 FND_A = 2 FND_B = 3 FND_C = 4 FND_D = 5 FND_E = 16 FND_F = 12 FND_G = 18.. 2020. 12. 30.
[Raspberry Pi] 가변저항 VR1 으로 서보모터 각도(0~180도) 컨트롤하기 import RPi.GPIO as GPIO import time import CK_SPI_ADC as spi_adc import CK_SPI_DEV as spi_dev #나중에 나올 DELAY 값 미리 0.5로 정의함 DELAY = 0.5 # Map Function def ck_map(x, in_min, in_max, out_min, out_max) : out_val = (((x - in_min) * (out_max - out_min)) / (in_max - in_min)) + out_min return out_val try : while(1) : # Read VR1 and Set FWD speed = spi_adc.ck_adcRd(spi_adc.ADC_CH_VR1) speed = ck_map(speed.. 2020. 12. 30.
[Raspberry Pi] 빛 센서의 값에 따라 일정 값 이상이면 정방향, 이하이면 역방향으로 모터 회전 시키기 import time import CK_SPI_ADC as spi_adc import CK_SPI_DEV as spi_dev import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) import spidev ADC_SPI_SS = 8 ADC_CH_LIGHT = 0xDF # ADC Channel ID - Light sensor_chID = ADC_CH_LIGHT GPIO.setup(ADC_SPI_SS, GPIO.OUT) GPIO.output(ADC_SPI_SS, 1) spi = spidev.SpiDev() spi.open(0, 0) spi.max_speed_hz = 5000000 DCMOT_EN = 17 GPIO.setup(DCMOT_EN, GPIO.OUT) GPIO.output.. 2020. 12. 17.
[Raspberry Pi] 버튼을 이용하여 DC모터의 방향 바꾸기 사용하는 부분은 이 두 부분이다. 버튼은 2,3번을 사용했기에 핀번호 6, 16을 정의해주고 시작했음 import time import CK_SPI_ADC as spi_adc import CK_SPI_DEV as spi_dev import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) #DC 모터 Enable 핀번호 = 17 DCMOT_EN = 17 GPIO.setup(DCMOT_EN, GPIO.OUT) GPIO.output(DCMOT_EN, 1) BUTTON_3 = 16 BUTTON_2 = 6 GPIO.setup(BUTTON_3, GPIO.IN) GPIO.setup(BUTTON_2, GPIO.IN) #DC모터 방향 시계방향 0, 반시계방향 1 DCMOT_DIR_SW_FWD = .. 2020. 12. 17.
[Raspberry Pi] 코딩키트 구성 언제 다시 라즈베리파이를 다루게 될 지는 모르겠지만 한학기동안 개고생한거... 아까워서 올려둬야겠다 코딩키트를 사용했기 때문에 하드웨어적인 부분보다 코딩위주여서 힘들었음 ㅜ 코딩으로 물든 2학기 .. 끄으ㅓ어앙앙 라즈베리파이 연결을 위한 키트 라즈베리파이 3 , 아더넷 연결선, 흐드미(HDMI)선, USB, 5핀 충전기 등이 들어있었다 라즈베리파이 3 코딩키트 보자마자 정신 나갈뻔 해서 기능 좀 익혀보고자 공부했던 내용,,, 예제도 몇가지만 올려놔야겠다.. 2020. 12. 17.
[pandas] 헤어나오기 힘들었던 오류의 늪 그리고 데이터 시각화 와우. 방금 약 1시간 반동안 어이없는걸로 컴퓨터와 싸우다 돌아옴 아니 이런그래프 본적 있으신가여? 대환장 y축 의미가 없는 그래프 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아니 다른 csv파일은 데이터 시각화 이렇게만 잘되는데 저 위에 이상한 그래프는 뭐냐구여? 아오............... 이것때매 한시간 반동안 온갖 고민과 빡침과 고통을 다 겪었다 데이터 시각화 뿐만 아니라 열끼리 덧셈도 안되는거임 하...........개빡 근데 이유가 얼탱이가 없다는게 킬포다. 이유인 즉슨.......... 쉼표 때문이다 그 천의자리 구분하는 그 쉼표 ㅇㅇ ^^................... 2020. 12. 13.
[Pandas] csv파일 가져오는 것 부터 복습/utf-8 encoding error 해결 할일 계속 밀려서 종강하고 쓰려 그랬는데 개념이 정리가 안돼서 도저히 기말 발표 준비를 할 수가 없다. 그래서 조금씩 처음부터 다시 써야겠다 😥 내가 기말발표로 분석할 자료는 이 데이터다 국가에너지통계종합정보시스템(https://www.kesis.net) 에서 가져왔고, 이 CSV파일을 분석하는 이유는,, 주제가 에너지전환이기 때문이다! 중간발표때 기말때 이 주제로 발표하겠다고 미리 계획해두긴 했지만 얼마전에 발표한 2050탄소중립선언 덕분에 (실시간 라이브 본거 자랑.) 운좋게(?) 에너지전환 데이터 분석할 명분 한 가지 더 생김 1차 에너지 공급 자료에는 1차 에너지원별 연도별 공급량(단위: toe)이 1981년도부터 나와있어서 분석하게 되면 약 30년간의 공급량 변화추이를 알 수 있다. 근데 처음으.. 2020. 12. 12.
[빅데이터] 연간/월간/시간당 전력 소비 패턴, 전력 소비 프로파일 작성하기 이번 실습에서는 2016년 1월 1일부터 12월 31일까지의 시간에 따른 전력소비량의 엑셀파일을 분석한다이거야말로 BIGGGGGGGGG데이터 ㅎ 요렇게 생겨먹은 빅데이터를 stack 함수를 이용하여 세로로 길게(?) 출력한다#df2를 세로로 쌓은 함수를 ts라고 정의할 것 ts = df2.stack() ts 인덱스의 색인도 변경한다.#색인 변경 ts.index=pd.date_range('2016-01-01 00:00:00','2016-12-31 23:00:00',freq= '1h')1/1 0시부터 12/31 23시까지 1시간 단위로 자른 값으로 사용한다. 이제 본격적으로 전력 소비 패턴을 분석한다. 1. 연간 전력 소비 패턴plt.figure(figsize=(15,4)) ts.plot() plt.xlab.. 2020. 10. 6.