6 minute read
Chapter 2 • Raspberry Pi Pico Programming
Index
$GPGLL 4×4 keypad 139 172
A
accurate timing AC parameters Active buzzers 148 80 218
active-LOW active low-pass filters AD8318 AD9850 signal generator ADC air core coil Amateur Radio exams 125 84 196 164 187 74 217
Ammeter 187
ampère meter
190 analog input 188 Arbitrary periodic waveform 156 Astable circuit 90 atitude and longitude 137 attack rate 208 audio amplifier 256 Auto boot 250 Automatic Gain Control 237 Average 38
B
bandwidth Battery operation Binary Binary counting binary divider Bipolar junction transistor bistable BJT Bluetooth Bluetooth Controller BOOTSEL brightness control bus expander chip Butterworth filter 72 250 49 109 186 77 90 77 260 263 12, 27, 34 115 121 92
C
Calculator 45 Capacitance meter 187 capacitive humidity sensor 135 carrier signal 207 cathode terminal 67 Cauer topology 93 C/C++ 27 channel separation 237 Character spacing 217 common-emitter transistor amplifier 80 conversion time 187 cosine 43 current date and time 129 current-sinking mode 103 current-sourcing mode 102 cut-off frequency 85
D
DAC Dah damping factor dB dBm 144 217 88 204 204
DGPS 137
DHT11 dht11.py Dice
134 135 46 digital audio limiter 208 Digital-to-Analog Converter 144 direct-sampling mode 297 Dit 217 DSP 207 duty cycle 91, 171, 257, 259 dynamic range 208
E
Enable end = ' ' ESP-01 European RDS external LED external timer 114 39 278 208 101 182
F
File processing 47
filter frequency response Fixed-frequency flat frequency response FM modulation FM radio forward voltage Frequency counter frequency-entry frequency modulation frequency oscillator frequency response FS1000A
G
geographical coordinates GPS GPS Click board ground plane
H
harmonic distortion harmonic filtering HC-06 HD44780 hexadecimal
I
I2C addresses I2C device address I2C LCDs IF selectivity Impedance matching INDEX.HTM inductance INFO_UF2.TXT Installing MicroPython inter-character time intermediate frequency internal pull-up resistors internal timer inter-word time
K
keypad KY-051 85 164 209 207 236, 244 66 181 171 207 237 69 298
137 137 138 89
237 208 260 113 49
143 143 121 237 96 28 74 28 27 217 207 107 182 217
171 123
L
lcd_clear lcd_cursor_blink lcd_cursor_off lcd_cursor_on LCD functions lcd_goto(col,row) lcd_home lcd_init lcd_putch(c) lcd_puts(s) LEA-6S Least Significant Bit LM386 LM555/NE555 LM567 logarithmic-law logarithmic scale logic level converter LSB resolution L-type matching
M
magnitude and phase math library matrices maximum power transfer MCP3201 MCP4921 Measuring the period MFRC522 Mic Clic MicroPython Monostable Monostable circuit Morse Code Morse Code exerciser Morse speed Most Significant Bit
N
NMEA sentence normally-closed NPN transistor 116 116 116 116 115 117 116 116 116 116 138 237 244 90 287 199 204 14 145 96
69 39 50 96 196 144 181 265 286 27 90 90 217 217 225 237
137 125 219
O
octal Ohmmeter on-board LED On/Off power control overshoot
49 187 99 125 84
P
parallel LCDs PARIS Passive buzzers passive filters Passive filters 112 217 218 69 92
PCF8574N
121 PCSGU250 148 peak-to-peak amplitude 161, 170 phase-locked loop 287 Phase-locked loop 237 phase modulation 164 Pin.IRQ_FALLING 105 Pin.IRQ_HIGH_LEVEL 105 Pin.IRQ_LOW_LEVEL 105 Pin.IRQ_RISING 105 Pi-type attenuator 61 PLL 287 PLL reference frequency 238 PLL register 238 potential divider 14, 57 Power gain 204 Power-on reset 237 pre-emphasis 209 pre-emphasis filter 209 programmable gain 208 pull-up resistors 122 pushbutton interrupts 104
Q
Q factor QFN-56 package quarter-wave 72, 84, 88 12 89
R
radio broadcast band RadioStation Click randint random characters 206 206 46 222 RC522 RC circuits RDS deviation RDS / RBDS RDS/RDBS Read/Write real-time clock REFCLOCK Register Select Relay sequencer release rate resistive attenuator Resistive attenuator Resonance RF attenuators RFID RFID card reader RF power attenuator RF power meter RLC circuit rotary encoder RPI-RP2 RTL2832U RTL-SDR RX RXD 265 69 209 216 206 114 129 166 114 232 208 61 59 71 203 265 267 196 196 71 225 30 296 296 140 261
S
Sallen-Key sample and hold sawtooth signal SCL
84 201 152 121 SDA 121 second-order low-pass active filter 84 Sensitivity 287 serial link 140 serial mode 165 series-resonance 71 Series-Shunt 96 Shell 32 Shunt-Series 96 Si4713-B30 206 signal-to-noise ratio 209 Signal to noise ratio 287 sinewave signal 158 Single-layer coils 74
SMPS SN74LV8154 Software Defined Radio Software mute Sort Sorting SPI bus interface. Squares squarewave signal Standby mode State Machines Station clock Station security Step-time response sum switching speed
T
tangent TCP/IP TEA5767 temperature and humidity thermistor Thonny Python IDE Thonny text editor time constant timer interrupt timer interrupts tone decoder touchtone decoding triangular-wave signal trigger pulse trigonometric sine T-type attenuator TX TXD
U
UART UDP Server UID number upconverter US RBDS
V
VBUS 15, 16 182 296 237 47 47 144 41 145 237 270 129 265 89 39 289
43 272 236 134 135 31 99 193 148 161 287 287 154 90 42 60 140 261
300 276 268 297 208
13, 16 vertical antenna voltage gain voltage generator voltage regulator Voltmeter VSYS
W
Waveform generators Wi-Fi network Word spacing words per minute
X
XY-MK-5V
Z
Zener diode 89 204 205 65 187 13, 16, 187
144 272 217 218
298
65
Raspberry Pi Pico for Radio Amateurs
Program and build RPI Pico-based ham radio utilities, tools, and instruments
Although much classical HF and mobile equipment is still in use by large numbers of amateurs, the use of computers and digital techniques has now become very popular among amateur radio operators. Nowadays, anyone can purchase a €4 Raspberry Pi Pico computer and develop many amateur radio projects using the “Pico” and some external components. This book is aimed at amateur radio enthusiasts, Electronic Engineering students, and anyone interested in learning to use the Raspberry Pi Pico to shape their electronic projects. The book is suitable for beginners in electronics as well as for those with wide experience. Step-by-step installation of the MicroPython programming environment is described. Some knowledge of the Python programming language is helpful to be able to comprehend and modify the projects given in the book. The book introduces the Raspberry Pi Pico and gives examples of many general-purpose, software-only projects that familiarize the reader with the Python programming language. In addition to the software-only projects tailored to the amateur radio operator, Chapter 6 in particular presents over 36 hardware-based projects for “hams”, including:
> Station mains power on/o control > Radio station clock > GPS based station geographical coordinates > Radio station temperature and humidity > Various waveform generation methods using software and hardware (DDS) > Frequency counter > Voltmeter / ammeter / ohmmeter / capacitance meter > RF meter and RF attenuators > Morse code exercisers > RadioStation Click board > Raspberry Pi Pico based
FM radio > Using Bluetooth and Wi-Fi with Raspberry Pi Pico > Radio station security with RFID > Audio amplifier module with rotary encoder volume control > Morse decoder > Using the FS1000A TX-RX modules to communicate with Arduino
All programs discussed in this publication are available from the book’s resources and information web page at www.elektor.com/books.
Prof Dogan Ibrahim has a BSc, Hons degree in Electronic Engineering, an MSc degree in Automatic Control Engineering, and a PhD degree in Digital Signal Processing. Dogan has worked in many industrial organizations before he returned to academic life. He has worked with many microprocessors and microcontrollers over many years, including the Z80, 6800, 6809, 8748, 8751, 8080, 8085, PIC family, ARM Cortex family, and many others.
He is the author of over 70 technical books and has published over 200 technical articles on electronics, microprocessors, microcontrollers, and related fields.
Elektor International Media BV
www.elektor.com