본문 바로가기

라즈베리파이 피코5

라즈베리파이 피코 플래시메모리에 16비트 데이터 쓰고 읽기 라즈베리 파이 피코는 자체적으로 EEPROM을 내장하고 있지 않기 때문에 피코의 플래시메모리를 활용하여 EEPROM과 같은 역할을 수행할 수 있도록 하는 방법을 알아보고자 합니다. EEPROM은 반영구적인 저장소로, 전기가 끊어져도 그 내용이 지워지지 않고 보존됩니다. 플래시메모리도 비슷한 방식으로 데이터를 저장할 수 있어서 EEPROM처럼 비휘발성 저장소로 사용될 수 있습니다. 하지만 EEPROM과는 다르게, 플래시메모리에 데이터를 쓰기 위해서는 이전 데이터를 먼저 삭제해야 하므로, 덮어쓰기 작업에 따른 성능 저하가 있을 수 있습니다. 또한, 일반적으로 EEPROM보다는 쓰기/삭제 주기 수가 낮기 때문에 플래시메모리의 사용 조건과 명세를 지켜야 합니다. 피코의 플래시 메모리의 경우 100,000회 이상.. 2023. 2. 16.
라즈베리파이 피코 카운터 사용 C코드 예제 - 인터럽트활용 인터럽트를 사용하여 카운터를 구현하려면, Pico SDK의 gpio 라이브러리 함수와 irq 라이브러리 함수를 사용할 수 있습니다. 아래는 gpio와 irq 라이브러리 함수를 사용하여 GPIO 핀에서 인터럽트를 발생시키는 C 코드입니다. #include "pico/stdlib.h" #include "hardware/gpio.h" #include "hardware/irq.h" #include volatile int count = 0; void gpio_callback(uint gpio, uint32_t events) { count++; } int main() { gpio_init(2); gpio_set_dir(2, GPIO_IN); gpio_set_irq_enabled_with_callback(2, GPI.. 2023. 2. 15.
만일 라즈베리파이 피코에 연결한 i2c lcd가 느리게 작동한다면.. 안녕하세요. 엔지니어공작실입니다. 마이크로파이썬을 사용하는 경우 피코에 연결한 i2c lcd의 작동이 느리게 느껴진다면 pico_i2c_lcd.py 파일을 열어 gc.collect() 이 부분을 모두 주석처리 해주면 정상적으로 작동합니다. https://youtu.be/1n0zH-j5Qso 피코에연결한 i2c lcd가 느리게 작동할 때 해결방법입니다. 영상 전반부에서 보는 바와 같이 화면 전환 시 화면 왼쪽에서 부터 오른쪽으로 눈에 보일 정도로 느리게 글자들이 표시되어 가는 것을 볼 수 있습니다. I2C 통신속도를 400kHz로 세팅한 걸 생각하면 너무나도 느리게 표시되는 상태입니다. 영상 후반부에서는 pico_i2c_lcd.py 파일에서 gc.collect() 부분을 모두 주석처리 한 후 lcd 가 빨.. 2023. 2. 13.
라즈베리파이 피코를 처음 사용하면서 초보자가 느낀 점 안녕하세요. 엔지니어 공작실입니다. 저는 기존에 컴파일테크놀러지사의 큐블록과 Cypress사의 PSoC을 사용하여 실험장비들을 개발하고 있었습니다. 두 가지 모두 개발환경이 사용자가 쓰기 편하게 준비가 되어 있어 진입장벽이 낮은 편에 속합니다. 그래서 저 같은 기계를 전공한 사람도 실험에 필요한 간단한 장비들을 개발 제작까지 하는데 어려움이 없었습니다. 하지만 제가 주로 사용하던 PSoC을 더 이상 구할 수 없게 되어 이리저리 갈아탈 보드를 찾아보고 있었습니다. 그러던 와중에 라즈베리파이 피코를 접하게 되었고 피코를 처음으로 접하면서 초보자 입장에서 느꼈던 점들을 적어 볼까 합니다. 1. 피코를 처음 구입해서 개발환경 세팅 시 어려웠던 점은 포트생성 문제입니다. 아두이노 IDE를 사용하고자 할 때에도 그.. 2023. 2. 13.
라즈베리파이 피코 피에조 부저 소리 변환 안녕하세요. 엔지니어공작실입니다. 라즈베리파이 피코를 Thonny를 이용해 테스트해보았습니다. 라즈베리파이피코 테스트 LCD는 I2C로 연결하였고 4x4 키패드는 ADC로 입력을 받아 측정된 전압에 따라 어떤키가 눌렸는지 알 수 있도록 하였습니다. 영상을 보면 키패드 숫자를 누를때는 피에조 부저에서 단순한 삑 소리가.. 입력키를 누르면 뾰잉 소리가 나도록 하였고 만일 입력값이 설정범위를 넘으면 또 다른 소리가 나도록 만들어 봤습니다. 피에조 부저는 pwm을 활용해서 아래와 같은 함수들을 만들어 사용했습니다. def zb_buzzer_key(): pwm0.freq(2880) pwm0.duty_u16(20000) utime.sleep(0.03) pwm0.duty_u16(0) def zb_buzzer_set(.. 2023. 2. 13.