embeded/전자회로2023. 10. 18. 10:54

flip flop을 만들려면 and/or 게이트가 필요하고

[링크 : https://m.blog.naver.com/roboholic84/221621276214]

 

and or 게이트를 만들려면 TR이 필요하다.

그래서 적절한 쓸모있는 트랜지스터 파트명이 필요해서 검색해보니

2N3904 라는 녀석 발견

AND

OR

[링크 : https://epi00nephrine.tistory.com/14]

 

그나저나 flop flip 1bit 만들려면 최소 8개의 TR 이라니...

개당 37원 최소 수량 5개 200원 1bit에 저항이랑 포함하면 최소 300원은 드는건가?!

[링크 : https://www.eleparts.co.kr/goods/view?no=72335]

'embeded > 전자회로' 카테고리의 다른 글

트리 회로  (0) 2023.10.21
다이오드, 트랜지스터  (0) 2023.10.18
오실로스코프 파형 - 캐패시터  (0) 2023.10.17
오실로스코프 파형 - 저항  (0) 2023.10.17
RC 발진기 / 크리스탈 발진기 회로  (0) 2023.10.15
Posted by 구차니
embeded/전자회로2023. 10. 17. 20:26

제대로 실험을 한건지 모르겠다 (100uF)

 

usb2.0 허브에 했더니 끌어오는 전압에 한계가 있는지 2V 이상은 드라이브를 못하는 것 같은데

노란색이 +극, 파란색이 -극

전압이 인가되면, 한동안 전압이 안오르다가 일정시간 이후 충전이 되면

출력되는데.. led를 같이 달아놔서 그런가(부하 저항 식으로) 영 이해를 못하게 나온다.

 

그래서 2V 로 하니 좀 이쁘게 나오는데

파란색이 뒤로 밀려야 할 것 같은데 밀렸다고 보기에는 너무 한참 밀리는 느낌.. 100uF 면 용량이 꽤 커서 그런가?

 

22pF로 하니 티도 안나서 어떻게 해야 할지 감이 안온다.

아무튼 1mV 단위로 저렇게 밖에 안나오는게 맞나?

Posted by 구차니
embeded/전자회로2023. 10. 17. 14:50

귀찮아서(!) 펑션제너레이터에

20kHz의 800mVp-p 로 생성하도록 하고

 

저항을 하나 달아서

CH1은 저항 앞에

CH2는 저항 뒤에 해서 측정해보니 다음과 같이 파형이 측정된다.

 

 

저항은 10k 였던 듯

[링크 : https://www.digikey.kr/ko/resources/conversion-calculators/conversion-calculator-resistor-color-code]

 

심심해서 100k 달아보니 10khz 에서는 다 올라가지도 못하는 것 같고

(2014년 구매당시 1/8W 1% Axial Resistor 104F 100kohm 으로 기재되어 있음)

 

5khz로 하니 그나마 안정화 되는 부분이 보이는 듯 한데

올라가는 부분과 내려오는 부분의 기울기가 상당히 완만해진다.

저항으로 인해서 통과전 전압까지 올라기지 못하는건 이해가 되는데

0V가 아닌 -0.4V 라서 그런가 이래저래 신기하네

 

0~800mV로 움직이게 하니 아까랑 비슷하게 나온다.

Posted by 구차니
embeded/전자회로2023. 10. 15. 23:32

RC 발진기를 보면 먼가 항상 증폭기나 비교기가 들어가는 느낌..

순수하게(?) R/C 만으로 LED를 깜박일순 없나?

 

1. RC 귀환 발진기 (RC Feedback Oscillator)

  ㅇ 기본 원리
     - 커패시터(C)와 저항기(R)를 이용한 충전/방전 회로의 충전/방전 주기 조절에 의해,
     - 주기적인 파형(정현파)을 만듬

  ㅇ 구현 원리
     - RC 위상천이회로 및 증폭기 회로구성을 통한, 정귀환 효과를 이용하여 정현파 발진을 도모함

[링크 : http://www.ktword.co.kr/test/view/view.php?m_temp1=5257]

[링크 : https://en.wikipedia.org/wiki/RC_oscillator]

 

[링크 : https://www.electronics-tutorials.ws/oscillator/crystal.html]

 

[링크 : https://www.st.com/content/dam/kms/Contents/Reflibrary/Crystal_oscillator_design_guide_for_STM8_and_STM32_microcontrollers.pdf]

 

+

TR 1개 들어갔다고 신기해 하는거 보면.. RC 만으로는 불가능 한건가 싶기도 하고?

 

[링크 : https://robobob.tistory.com/3]

 

2N4401은 찾아보니 양극성 트랜지스터라고 나온다.

[링크 : https://electronics.stackexchange.com/questions/254845/how-to-make-blinking-led-without-using-any-ic]

Posted by 구차니
embeded/전자회로2023. 10. 15. 23:18

딱 동영상 처럼 전원을 끊으면

남은 축전지로 작동하는 수준.

어떻게 해야 RC 클럭을 발생시켜 LED를 깜박이게 할 수 있을까?

 

[링크 : https://www.learningaboutelectronics.com/Articles/How-to-use-a-charged-capacitor-to-light-an-led]

 

전원을 뽑으면 천천히 꺼진다.

100uF * 3 (병렬)

330ohm

 

위에 회로랑 보면 비슷한 느낌이긴 한데.. 둘 다 스위치가 있다?

[링크 : https://www.digikey.kr/ko/resources/conversion-calculators/conversion-calculator-time-constant]

'embeded > 전자회로' 카테고리의 다른 글

다이오드, 트랜지스터  (0) 2023.10.18
tr을 구매해볼까나..  (0) 2023.10.18
오실로스코프 파형 - 캐패시터  (0) 2023.10.17
오실로스코프 파형 - 저항  (0) 2023.10.17
RC 발진기 / 크리스탈 발진기 회로  (0) 2023.10.15
Posted by 구차니
embeded/FPGA - ALTERA2023. 10. 2. 23:02

또 병이 도져서 중고장터 뒤지다가

sockit 이라는 제품에서 HSMC 라는 커넥터가 있어서 보는데

아래 사진에서 우측의 희한한 커넥터가 바로 그녀석

웬지. 회사에서 사용하는걸 본적이 있는 느낌인데...

[링크 : https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=816&PartNo=2#contents]

 

아무튼 아래와 같은 스펙을 지닌 고속 인터페이스인데

반대로 생각하면 캐리어 보드가 없으면 de10-nano 처럼 HDMI도 없는 녀석이라

메모리만 AP 쪽이 1기가, FPGA쪽에 1기가 넣어주는게 무의미해질 수 있는 구성이라는게 함정

[링크 : http://www.mwftr.com/SoCs14/Altera%20hsmc_spec.pdf]

'embeded > FPGA - ALTERA' 카테고리의 다른 글

terasic sockit  (0) 2023.11.06
altera(intel fpga) m9k m10k  (0) 2023.05.14
altera uart ip  (0) 2023.05.14
altera - partial reconfigure  (0) 2023.04.24
altera nios 2 epcs to ram  (0) 2023.03.28
Posted by 구차니
embeded/raspberry pi2023. 9. 23. 23:18

저번에 구매했던 브라켓을 이용해서 대충대충 만들었는데, 드럽게 부피를 많이 먹는다.

 

나중에 라즈베리를 틸트 기구에 길~게 해서 위쪽으로 FFC/CSI 케이블 연결해주고

본체도 같이 pan(팬)으로 회전하도록 두개를 놔둬야 하나 고민된다.

라즈베리 하나에 한쪽 눈깔씩 해서 영상처리하면서 중앙으로 전송하는 구조로 가야하나..

눈깔만 해도 저만한 부피인데 목까지 만들려면 진짜 사람 머리 크기 되겠네 -_-

 

 

조립하고 나서 검색해보니 무언가 나오는데.. 이렇게 리얼한건 바란게 아니라고..

[링크 : https://circuitdigest.com/microcontroller-projects/diy-3d-printed-animatronic-eye-with-arduino]

 

ESP32에다가 이런거 비슷한거 달아서 쓰고 있긴한데..

FFC 케이블을 길게해서 팬을 해도 케이블에 무리가 적게 가게 하는 방향으로 해결하는 듯.

[링크 : https://makersportal.com/blog/2020/3/21/raspberry-pi-servo-panning-camera]

 

이건 USB 카메라 같네..

[링크 : https://www.electroniclinic.com/raspberry-pi-servo-motor-for-camera-controlling/]

'embeded > raspberry pi' 카테고리의 다른 글

mariadb 라즈베리 파이 설정값  (0) 2024.01.02
MCP2515 on rpi  (0) 2023.10.31
서보 팬틸트 브라켓 구매  (0) 2023.09.19
DHT22 도착!  (0) 2023.09.19
bmp280 HW-611  (0) 2023.09.19
Posted by 구차니
embeded/raspberry pi2023. 9. 19. 21:02

조립법이 없어서

결국에는 판매페이지 저장을 하게 되네 -_ㅠ

[링크 : http://itempage3.auction.co.kr/DetailView.aspx?ItemNo=B722540913]

'embeded > raspberry pi' 카테고리의 다른 글

MCP2515 on rpi  (0) 2023.10.31
서보 pan/tilt 조립  (0) 2023.09.23
DHT22 도착!  (0) 2023.09.19
bmp280 HW-611  (0) 2023.09.19
라즈베리 파이 openOCD jtag?  (0) 2023.07.24
Posted by 구차니
embeded/raspberry pi2023. 9. 19. 14:18

저장소 손보고

pi@raspberrypi:~/src $ sudo apt-get update
Get:1 http://archive.raspberrypi.org/debian bullseye InRelease [23.6 kB]
Get:2http://raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB]
Get:3 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages [13.2 MB]
Get:4 http://archive.raspberrypi.org/debian bullseye/main armhf Packages [314 kB]
Fetched 13.6 MB in 25s (534 kB/s)                                                                                                
Reading package lists... Done
N: Repository ' http://raspbian.raspberrypi.org/raspbian bullseye InRelease' changed its 'Suite' value from 'stable' to 'oldstable'

pi@raspberrypi:~/src $ sudo apt full-upgrade

[링크 : https://forums.raspberrypi.com/viewtopic.php?t=318302]

 

pip를 이용하여 패키지 설치하고

$ sudo apt-get install python3-pip

[링크 : https://foreverhappiness.tistory.com/67] // pip3가 아니다 ㅠㅠ

 

adafruit_dht 패키지 설치하고

sudo pip3 install Adafruit_DHT
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting Adafruit_DHT
  Downloading Adafruit_DHT-1.4.0.tar.gz (15 kB)
Building wheels for collected packages: Adafruit-DHT
  Building wheel for Adafruit-DHT (setup.py) ... done
  Created wheel for Adafruit-DHT: filename=Adafruit_DHT-1.4.0-cp39-cp39-linux_armv7l.whl size=26725 sha256=6d328e4cac264d9807d07a3f20bbc7eb687bf002ae850b3dcfdae1d5fc4a9a64
  Stored in directory: /root/.cache/pip/wheels/2b/75/fa/27f8bc06878df2b751d348ad98e92361f78ea9f9640c7e6277
Successfully built Adafruit-DHT
Installing collected packages: Adafruit-DHT
Successfully installed Adafruit-DHT-1.4.0

 

소스는 adafruit 에서 만든걸 써서 별거 없는데

import Adafruit_DHT as dht
import time

while True:
    humidity, temperature = dht.read_retry(dht.DHT22, 4)
    print("Temp={0:0.1f}*C  Humidity={1:0.1f}%".format(temperature, humidity))   
time.sleep(1)

[링크 : https://kdjun97.github.io/iot/raspberry-pi-dht22/]

 

예상외로 읽는데 실패가 좀 많은지 의외로 빈번하게 4초 정도 걸리는 경우가 나온다.

pi@raspberrypi:~/src $ time python sen.py 
Temp=26.6*C  Humidity=55.6%
Temperature in Celsius : 26.74 C
Pressure : 1003.37 hPa

real 0m3.937s
user 0m0.370s
sys 0m0.060s

pi@raspberrypi:~/src $ time python sen.py 
Temp=26.6*C  Humidity=55.5%
Temperature in Celsius : 26.74 C
Pressure : 1003.42 hPa

real 0m1.415s
user 0m0.352s
sys 0m0.058s

 

python 에서 멀티 쓰레드로 해서 읽어오게 해야하나..

'embeded > raspberry pi' 카테고리의 다른 글

서보 pan/tilt 조립  (0) 2023.09.23
서보 팬틸트 브라켓 구매  (0) 2023.09.19
bmp280 HW-611  (0) 2023.09.19
라즈베리 파이 openOCD jtag?  (0) 2023.07.24
rpi bear metal  (0) 2023.07.10
Posted by 구차니
embeded/raspberry pi2023. 9. 19. 12:02

코드가 python 2.x 용인것 같아서 3.x로 되도록 대충 바꾸었고,

import smbus 에서 에러가 나서 아래 패키지를 설치하면 해결된다.

$ sudo apt-get install python3-smbus

[링크 : https://forums.raspberrypi.com/viewtopic.php?t=192909]

 

BMP280 이지 BME280이 아니라 습도가 안되서 좀 아쉽..

$ cat bmp280.py 
# Distributed with a free-will license.
# Use it any way you want, profit or free, provided it fits in the licenses of its associated works.
# BMP280
# This code is designed to work with the BMP280_I2CS I2C Mini Module available from ControlEverything.com.
# https://www.controleverything.com/content/Barometer?sku=BMP280_I2CSs#tabs-0-product_tabset-2 
import smbus
import time

# Get I2C bus
bus = smbus.SMBus(1)

# BMP280 address, 0x76(118)
# Read data back from 0x88(136), 24 bytes
b1 = bus.read_i2c_block_data(0x76, 0x88, 24)

# Convert the data
# Temp coefficents
dig_T1 = b1[1] * 256 + b1[0]
dig_T2 = b1[3] * 256 + b1[2]
if dig_T2 > 32767 :
    dig_T2 -= 65536
dig_T3 = b1[5] * 256 + b1[4]
if dig_T3 > 32767 :
    dig_T3 -= 65536


# Pressure coefficents
dig_P1 = b1[7] * 256 + b1[6]
dig_P2 = b1[9] * 256 + b1[8]
if dig_P2 > 32767 :
    dig_P2 -= 65536
dig_P3 = b1[11] * 256 + b1[10]
if dig_P3 > 32767 :
    dig_P3 -= 65536
dig_P4 = b1[13] * 256 + b1[12]
if dig_P4 > 32767 :
    dig_P4 -= 65536
dig_P5 = b1[15] * 256 + b1[14]
if dig_P5 > 32767 :
    dig_P5 -= 65536
dig_P6 = b1[17] * 256 + b1[16]
if dig_P6 > 32767 :
    dig_P6 -= 65536
dig_P7 = b1[19] * 256 + b1[18]
if dig_P7 > 32767 :
    dig_P7 -= 65536
dig_P8 = b1[21] * 256 + b1[20]
if dig_P8 > 32767 :
    dig_P8 -= 65536
dig_P9 = b1[23] * 256 + b1[22]
if dig_P9 > 32767 :
    dig_P9 -= 65536


# BMP280 address, 0x76(118)
# Select Control measurement register, 0xF4(244)
# 0x27(39) Pressure and Temperature Oversampling rate = 1
# Normal mode
bus.write_byte_data(0x76, 0xF4, 0x27)
# BMP280 address, 0x76(118)
# Select Configuration register, 0xF5(245)
# 0xA0(00) Stand_by time = 1000 ms
bus.write_byte_data(0x76, 0xF5, 0xA0)

time.sleep(0.5)

# BMP280 address, 0x76(118)
# Read data back from 0xF7(247), 8 bytes
# Pressure MSB, Pressure LSB, Pressure xLSB, Temperature MSB, Temperature LSB
# Temperature xLSB, Humidity MSB, Humidity LSB
data = bus.read_i2c_block_data(0x76, 0xF7, 8)

# Convert pressure and temperature data to 19-bits
adc_p = ((data[0] * 65536) + (data[1] * 256) + (data[2] & 0xF0)) / 16
adc_t = ((data[3] * 65536) + (data[4] * 256) + (data[5] & 0xF0)) / 16

# Temperature offset calculations
var1 = ((adc_t) / 16384.0 - (dig_T1) / 1024.0) * (dig_T2)
var2 = (((adc_t) / 131072.0 - (dig_T1) / 8192.0) * ((adc_t)/131072.0 - (dig_T1)/8192.0)) * (dig_T3)
t_fine = (var1 + var2)
cTemp = (var1 + var2) / 5120.0
fTemp = cTemp * 1.8 + 32


# Pressure offset calculations
var1 = (t_fine / 2.0) - 64000.0
var2 = var1 * var1 * (dig_P6) / 32768.0
var2 = var2 + var1 * (dig_P5) * 2.0
var2 = (var2 / 4.0) + ((dig_P4) * 65536.0)
var1 = ((dig_P3) * var1 * var1 / 524288.0 + ( dig_P2) * var1) / 524288.0
var1 = (1.0 + var1 / 32768.0) * (dig_P1)
p = 1048576.0 - adc_p
p = (p - (var2 / 4096.0)) * 6250.0 / var1
var1 = (dig_P9) * p * p / 2147483648.0
var2 = p * (dig_P8) / 32768.0
pressure = (p + (var1 + var2 + (dig_P7)) / 16.0) / 100

# Output data to screen
print("Temperature in Celsius : %.2f C" %cTemp)
print("Temperature in Fahrenheit : %.2f F" %fTemp)
print("Pressure : %.2f hPa" %pressure)

[링크 : http://www.pibits.net/code/raspberry-pi-and-bmp280-sensor-example.php]

 

+

[링크 : https://cdn-shop.adafruit.com/datasheets/BST-BMP280-DS001-11.pdf]

 

내가 가진거. HW-611 이라고 써있고 칩은 별다른 마킹이 없는데

i2c 주소는 0x76 이니 맞는거 같긴한데 아닌것 같기도 하고 모르겠다 -ㅁ-

 

'embeded > raspberry pi' 카테고리의 다른 글

서보 팬틸트 브라켓 구매  (0) 2023.09.19
DHT22 도착!  (0) 2023.09.19
라즈베리 파이 openOCD jtag?  (0) 2023.07.24
rpi bear metal  (0) 2023.07.10
라즈베리 3 전원 off  (0) 2023.07.02
Posted by 구차니