Cover Description
The cover features the title "Raspberry Pi Pico W en un tournemain" and subtitle "Maîtrise de la puce RP2040 avec plus de 60 projets à réaliser et à programmer". It includes the author's name, Dogan Ibrahim, and the Elektor logo. A visual representation shows the Raspberry Pi Pico W board, a Wi-Fi symbol (representing wireless connectivity), and a snippet of Python code related to reading temperature data.
Copyright and Credits
Copyright © 2023 – Publitronic - Elektor International Media. Reproduction or copying of this book, even partial, in any form or on any medium, without the written consent of the publisher is prohibited. The Intellectual Property Code of July 1, 1992 expressly forbids photocopying for collective use without the authorization of the rights holders. No part of this book may be reproduced, in any form or means whatsoever, without permission in writing from the publisher. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions. Neither is any liability assumed for damages resulting from the use of the information contained herein. The protection of copyright extends to illustrations, including printed circuits and related projects. In accordance with Article 30 of the Patent Law, the mentioned circuits may only be used for specific or scientific purposes and not for or within a company; these executions and/or applications are made outside the publisher's responsibility. In accordance with copyright law, this copyright does not apply to certain diagrams reproduced in this book as citations and illustrations of the author's statements and intellectual approach, with the kind permission of the rights holders. The publisher thanks in advance the reader who takes the trouble to report any errors that may have escaped their vigilance (write to redaction@elektor.fr). ISBN: 978-2-86661-214-6 (Paperback), 978-2-86661-215-3 (Digital Version). 1st Edition – 1st printing – 02/2023. Layout: www.d-vision.nl | Julian van den Berg. Coordination: Mariline Thiebaut-Brodier. Translation: Magda Lorne. Printed in Germany by Media-Print Informationstechnologie.
Table of Contents
Chapter 1: Inside the Raspberry Pi Pico W
- 1.1 Preamble
- 1.2 Pico Hardware Specifications
- 1.3 Comparison with Arduino UNO
- 1.4 Operating Conditions and Power-Up
- 1.5 RP2040 Microcontroller and Pico Board Pinout
- 1.6 Other RP2040 Microcontroller-Based Boards
Chapter 2: Programming the Raspberry Pi Pico W
- 2.1 Overview
- 2.2 Installing MicroPython on the Pico W
- 2.3 Using the Thonny IDE on PC
- 2.4 Writing a Program Using Thonny
- 2.5 Purely Software MicroPython Programs Executed on the Raspberry Pi Pico W
Chapter 3: Projects with LEDs
- 3.1 Overview
- 3.2 Project 1: Blinking an External LED
- 3.3 Project 2: Light SOS
- 3.4 Project 3: LED Blinking – Using a Timer
- 3.5 Project 4: Changing LED Blink Frequency with Button Interrupts
- 3.6 Project 5: Random Blinking of an RGB LED
- 3.7 Project 6: Binary Counting LED
- 3.8 Project 7: Lucky Day of the Week
- 3.9 Project 8: Electronic Dice
- 3.10 Project 9: Binary Counter with 74HC595 Shift Register
- 3.11 Project 10: Chaser with 74HC595 Shift Register
- 3.12 Project 11: Lighting Selected LED with 74HC595 Shift Register
- 3.13 Project 12: Random Blinking LED with 74HC595 Shift Register
- 3.14 Project 13: Traffic Lights
- 3.15 Project 14: Simple Logic Probe
- 3.16 Improved Logic Probe
Chapter 4: Projects with 7-Segment Displays
- 4.1 Overview
- 4.2 LED 7-Segment Displays
- 4.3 Project 1: Second Counter with 4-Digit 7-Segment Display
- 4.4 Project 2: Conveyor Belt Merchandise Counter with 4-Digit 7-Segment Display
Chapter 5: Projects with an LCD Screen
- 5.1 Overview
- 5.2 HD44780 Driver for Parallel Port LCD
- 5.3 I2C Bus
- 5.4 Raspberry Pi Pico W I2C Pins
- 5.5 Project 1: Parallel Port LCD – Text Display
- 5.6 Project 2: Reaction Time Measurement – Display on Parallel Port LCD
- 5.7 Project 3: Voltmeter with Parallel Port LCD
- 5.8 Project 4: Temperature Measurement with Internal Sensor – Display on Parallel Port LCD
- 5.9 Project 5: Temperature Measurement with External Sensor – Display on Parallel Port LCD
- 5.10 Project 6: ON/OFF Temperature Controller – Display on Parallel Port LCD
- 5.11 Project 7: Ambient Light Intensity Measurement – Display on Parallel Port LCD
- 5.12 Project 8: Ohmmeter – Display on Parallel Port LCD
- 5.13 LCD Screen with I2C Interface
- 5.14 Project 9: Second Counter – Display on I2C Interface LCD
- 5.15 Project 10: Two Temperature Measurement – Display on I2C Interface LCD
- 5.16 Project 11: Temperature Measurement with Thermistor – Display on I2C Interface LCD
- 5.17 Project 12: Ultrasonic Distance Measurement – Display on I2C Interface LCD
- 5.18 Project 13: River Depth Measurement
- 5.19 Project 14: Ultrasonic Parking Sensor with Buzzer
- 5.20 Project 15: Custom Character Display on LCD Screen
- 5.21 Project 16: Dice on LCD Screen
- 5.22 Project 17: Using a Real-Time Clock (RTC) Module – Date and Time Setting/Display
- 5.23 Project 18: Timestamped Temperature Log
- 5.24 Project 19: GPS – Displaying Geographic Coordinates on LCD Screen
Chapter 6: Pulse Width Modulation (PWM)
- 6.1 Overview
- 6.2 Pulse Width Modulation: The Basics
- 6.3 Raspberry Pi Pico W PWM Channels
- 6.4 Project 1: Producing a 1000 Hz PWM Signal with a 50% Duty Cycle
- 6.5 Project 2: LED Dimmer
- 6.6 Project 3: Electronic Candle
- 6.7 Project 4: Brush DC Motor Speed Controller
- 6.8 Project 5: Frequency Generator with LCD Screen and Potentiometer
- 6.9 Project 6: Measuring Frequency and Duty Cycle of a PWM Signal
- 6.10 Project 7: Creating Sounds
Chapter 7: Projects with a TFT Screen
- 7.1 TFT: What is it?
- 7.2 Which TFT Screen?
- 7.3 Connecting the TFT Screen to the Raspberry Pi Pico W
- 7.4 ST7735 TFT Screen Driver Library
- 7.4.1 Drawing Simple Shapes
- 7.4.2 Text Display
- 7.4.3 Other TFT Functions
- 7.5 Project 1: Second Counter
- 7.6 Project 2: Reaction Time Measurement
- 7.7 Project 3: Temperature and Humidity Measurement – Display on TFT Screen
- 7.8 Project 4: Ambient Temperature and Min/Max Temperatures, Humidity Measurement – Display on TFT Screen
- 7.9 Project 5: On/Off Thermostat with Setpoint Adjustment Buttons and TFT Screen Display
- 7.10 Project 6: On/Off Thermostat with Rotary Encoder for Setpoint Adjustment and TFT Screen Display
- 7.11 Project 7: Displaying Bitmap Images on a TFT Screen
- 7.12 Project 8: Using a 4x4 Keypad
- 7.13 Project 9: Multiplication Exercises – with 4x4 Keypad and TFT Screen
- 7.14 Project 10: Calculator with 4x4 Keypad and TFT Screen
- 7.15 Project 11: Guessing Game – with 4x4 Keypad and TFT Screen
Chapter 8: Projects with the I2C Bus
- 8.1 Overview
- 8.2 I2C Bus
- 8.3 Raspberry Pi Pico W I2C Pins
- 8.4 Project 1: I2C Port Extension Circuit
- 8.5 Project 2: TMP102 Temperature Sensor with TFT Screen
Chapter 9: Projects with an OLED Screen
- 9.1 Overview
- 9.2 SSD1306 Software Driver Installation
- 9.3 Hardware Interface
- 9.4 Text Display on OLED Screen
- 9.5 Displaying Simple Shapes
- 9.6 Other Useful Functions
- 9.7 Project 1: Second Counter
- 9.8 Project 2: Drawing Bitmap Images
- 9.9 Project 3: Thermometer with DS18B20 Digital Sensor and OLED Screen
- 9.10 Project 4: Heart Rate (Pulse) Measurement
Chapter 10: Using Bluetooth with the Raspberry Pi Pico W
- 10.1 Overview
- 10.2 Raspberry Pi Pico W Bluetooth Interface
- 10.3 Project 1: Controlling Three LEDs via Bluetooth from a Smartphone
- 10.4 Project 2: Sending Raspberry Pi Pico W Internal Temperature to a Smartphone
Chapter 11: Using Wi-Fi with the Raspberry Pi Pico W
- 11.1 Overview
- 11.2 Connecting to a Wireless Network
- 11.3 Project 1: Scanning the Local Network
- 11.4 Using the Socket Library
- 11.5 Project 2: Controlling an LED from a Smartphone via Wi-Fi with UDP Protocol
- 11.6 Project 3: Displaying Internal Temperature on a Smartphone via Wi-Fi
- 11.7 Project 4: Remote Control from a Web Browser (on Smartphone or PC)
- 11.8 Project 5: Storing Ambient Temperature and Atmospheric Pressure in the Cloud
Chapter 12: RFID Projects
- 12.1 Overview
- 12.2 RC522 RFID Reader Pinout
- 12.3 Interfacing the RC522 RFID Reader with the Raspberry Pi Pico W
- 12.4 Project 1: Reading a RFID Tag ID
- 12.5 Project 2: Opening a Door with RFID Lock and Relay
- 12.6 Project 3: Access System with Multiple RFID Tags and LCD Screen
- Index