An Ultra-Rapid Programming Course
This book serves as the very first step to for novices to learn Python programming. The book is divided into ten chapters. In the first chapter, readers are introduced to the basics of Python. It has the detailed instructions for installation on various platforms such as macOS, Windows, FreeBSD, and Linux. It also covers the other aspects of Python programming such as IDEs and Package Manager. The second chapter is where the readers get an opportunity to have a detailed hands-on with Python programming. It covers a group of built-in data structures popularly known as Python Collections. The third chapter covers the important concepts of strings, functions, and recursion.
The fourth chapter focuses on the Object-Oriented Programming with Python. The fifth chapter discusses most commonly used custom data structures such as stack and queue. The sixth chapter spurs the creativity of the readers with Python’s Turtle graphics library. The seventh chapter explores animations and game development using the Pygame library. The eighth chapter covers handling data stored in a variety of file formats. The ninth chapter covers the area of Image processing with Wand library in Python. The tenth and the final chapter presents an array of assorted handy topics in Python.
The entire book follows a step-by-step approach. The explanation of the topic is always followed by a detailed code example. The code examples are also explained in suitable detail and they are followed by the output in the form of text or screenshot wherever possible. Readers will become comfortable with Python programming language by closely following the concepts and the code examples in this book. The book also has references to external resources for readers to explore further.
A download of the software code, and links to tutorial videos can be found on the Elektor website.
This is the second edition of a book aimed at engineers, scientists, and hobbyists who want to interface PCs with hardware projects using graphical user interfaces. Desktop and web-based applications are covered.
The programming language used is Python 3, which is one of the most popular languages around: speed of programming being a key feature. The book has been revised and updated with an emphasis on getting the user to produce practical designs with ease – a text editor is all that is required to produce Python programs.
Hardware interfacing is achieved using an Arduino Uno as a remote slave. A full description and source code of the communication interface is given in the book. The slave provides digital and analog input and outputs. Multiple Unos can be included in one project with all control code written in Python and running on a PC One project involves a PIC microcontroller with the code provided that can be loaded into the PIC using the Uno.
The web applications and server are all implemented in Python, allowing you to access your electronic hardware over the Internet. The Raspberry Pi computer can be used as your web server. An introductory chapter is provided to get you started with using Linux.
The book is written for use with Debian or variations including Mint or Ubuntu. All of the programs in the book are freely available, ready to use and experiment with by way of a download from Elektor.
Learn to use Python productively in real-life scenarios at work and in everyday life
If you have mastered the basics of Python and are wanting to explore the language in more depth, this book is for you. By means of concrete examples used in different applications, the book illustrates many aspects of programming (e.g. algorithms, recursion, data structures) and helps problem-solving strategies. Including general ideas and solutions, the specifics of Python and how these can be practically applied are discussed.
Python 3 for Science and Engineering Applications includes:
practical and goal-oriented learning
basic Python techniques
modern Python 3.6+ including comprehensions, decorators and generators
complete code available online
more than 40 exercises, solutions documented online
no additional packages or installation required, 100% pure
Python Topics cover:
identifying large prime numbers and computing Pi
writing and understanding recursive functions with memorisation
computing in parallel and utilising all system cores
processing text data and encrypting messages
comprehending backtracking and solving Sudokus
analysing and simulating games of chance to develop optimal winning strategies
handling genetic code and generating extremely long palindromes
Downloads
Software
Get Cracking with the Arduino Nano V3, Nano Every, and Nano 33 IoT
The seven chapters in this book serve as the first step for novices and microcontroller enthusiasts wishing to make a head start in Arduino programming. The first chapter introduces the Arduino platform, ecosystem, and existing varieties of Arduino Nano boards. It also teaches how to install various tools needed to get started with Arduino Programming. The second chapter kicks off with electronic circuit building and programming around your Arduino. The third chapter explores various buses and analog inputs. In the fourth chapter, you get acquainted with the concept of pulse width modulation (PWM) and working with unipolar stepper motors.
In the fifth chapter, you are sure to learn about creating beautiful graphics and basic but useful animation with the aid of an external display. The sixth chapter introduces the readers to the concept of I/O devices such as sensors and the piezo buzzer, exploring their methods of interfacing and programming with the Arduino Nano. The last chapter explores another member of Arduino Nano family, Arduino Nano 33 IoT with its highly interesting capabilities. This chapter employs and deepens many concepts learned from previous chapters to create interesting applications for the vast world of the Internet of Things.
The entire book follows a step-by-step approach to explain concepts and the operation of things. Each concept is invariably followed by a to-the-point circuit diagram and code examples. Next come detailed explanations of the syntax and the logic used. By closely following the concepts, you will become comfortable with circuit building, Arduino programming, the workings of the code examples, and the circuit diagrams presented. The book also has plenty of references to external resources wherever needed.
An archive file (.zip) comprising the software examples and Fritzing-style circuit diagrams discussed in the book may be downloaded free of charge below.
This book is about teaching the Python programming language using the Raspberry Pi 4 computer. The book makes an introduction to Raspberry Pi 4 and then teaches Python with the topics: variables, strings, arrays, matrices, tuples, lists, dictionaries, user functions, flow of control, printing, keyboard input, graphics, GUI, object oriented programming and many more topics.
The book is aimed for beginners, students, practising engineers, hobbyists, and for anyone else who may want to learn to program in Python.
The book includes many example programs and case studies. All the example programs and case studies have been tested fully by the author and are all working. The example programs aim to teach the various programming concepts of Python. The case studies cover the use of Python in the analysis and design of electronic circuits. Some of the case study topics are:
Resistor colour code identification
Resistive potential divider circuits
Resistive attenuator design
Zener diode voltage regulator design
RC and RLC transient circuits
Circuit frequency response
Saving data on external memory stick
Mesh and node circuit analysis using matrices
Resonance in RLC circuits
Transistor Biasing analysis
Transistor amplifier design
Design of active filters
Interfacing hardware with GPIO, I²C and SPI
Using Wi-Fi with Python and TCP/IP and UDP programs
Using Bluetooth from Python
Full program listings of all the programs used in the book are available at the Elektor website of the book. Readers should be able just to copy and use these programs in their Raspberry Pi projects without any modifications.
Most people are increasingly confronted with the applications of Artificial Intelligence (AI). Music or video ratings, navigation systems, shopping advice, etc. are based on methods that can be attributed to this field.
The term Artificial Intelligence was coined in 1956 at an international conference known as the Dartmouth Summer Research Project. One basic approach was to model the functioning of the human brain and to construct advanced computer systems based on this. Soon it should be clear how the human mind works. Transferring it to a machine was considered only a small step. This notion proved to be a bit too optimistic. Nevertheless, the progress of modern AI, or rather its subspecialty called Machine Learning (ML), can no longer be denied.
In this book, several different systems will be used to get to know the methods of machine learning in more detail. In addition to the PC, both the Raspberry Pi and the Maixduino will demonstrate their capabilities in the individual projects. In addition to applications such as object and facial recognition, practical systems such as bottle detectors, person counters, or a “talking eye” will also be created.
The latter is capable of acoustically describing objects or faces that are detected automatically. For example, if a vehicle is in the field of view of the connected camera, the information 'I see a car!' is output via electronically generated speech. Such devices are highly interesting examples of how, for example, blind or severely visually impaired people can also benefit from AI systems.
Raspberry Pi Camera Module 3 is a compact camera from Raspberry Pi. It offers an IMX708 12-megapixel sensor with HDR, and features phase detection autofocus. Camera Module 3 is available in standard and wide-angle variants, both of which are available with or without an infrared cut filter.
Camera Module 3 can be used to take full HD video as well as stills photographs, and features an HDR mode up to 3 megapixels. Its operation is fully supported by the libcamera library, including Camera Module 3’s rapid autofocus feature: this makes it easy for beginners to use, while offering plenty for advanced users. Camera Module 3 is compatible with all Raspberry Pi computers.
All variants of Raspberry Pi Camera Module 3 feature:
Back-illuminated and stacked CMOS 12-megapixel image sensor (Sony IMX708)
High signal-to-noise ratio (SNR)
Built-in 2D Dynamic Defect Pixel Correction (DPC)
Phase Detection Autofocus (PDAF) for rapid autofocus
QBC Re-mosaic function
HDR mode (up to 3 megapixel output)
CSI-2 serial data output
2-wire serial communication (supports I²C fast mode and fast-mode plus)
2-wire serial control of focus mechanism
Specifications
Sensor
Sony IMX708
Resolution
11.9 MP
Sensor size
7.4 mm sensor diagonal
Pixel size
1.4 x 1.4 µm
Horizontal/vertical
4608 x 2592 pixels
Common video modes
1080p50, 720p100, 480p120
Output
RAW10
IR cut filter
Integrated in standard variants; not present in NoIR variants
Autofocus system
Phase Detection Autofocus
Ribbon cable length
200 mm
Cable connector
15 x 1 mm FPC
Dimensions
25 x 24 x 11.5 mm (12.4 mm height for Wide variants)
Variants of Raspberry Pi Camera Module 3
Camera Module 3
Camera Module 3 NoIR
Camera Module 3 Wide
Camera Module 3 Wide NoIR
Focus range
10 cm - ∞
10 cm - ∞
5 cm - ∞
5 cm - ∞
Focal length
4.74 mm
4.74 mm
2.75 mm
2.75 mm
Diagonal field of view
75 degrees
75 degrees
120 degrees
120 degrees
Horizontal field of view
66 degrees
66 degrees
102 degrees
102 degrees
Vertical field of view
41 degrees
41 degrees
67 degrees
67 degrees
Focal ratio (F-stop)
F1.8
F1.8
F2.2
F2.2
Infrared-sensitive
No
Yes
No
Yes
Downloads
GitHub
Documentation
Specifications
Channels: 3
Total Power: 195 Watts
Max. Voltage: 30 Volts
Max. Current: 3 Amps
Low ripple and noise: <350 μVrms/2 mVpp
Excellent linear regulation rate and load regulation rate
Fast transient response time: <50 μs
Some channels are isolated
Standard OVP/OCP/OTP protection functions
Standard timing output
Built-in V,A,W measurements and waveform display
Independent control for each channel
3.5 inch TFT display
Included
1x Rigol DP832 DC Power Supply
1x Power cord
1x USB cable
If you are going to be drilling, we recommend drilling on FR1 substrates. Unlike FR4, FR1 dust does not contain fiber glass. It is also a softer material, which means a less wear and tear on the drill bits. Download the template and incorporate them into your design here. 10 substrates included.
Raspberry Pi Camera Module 3 is a compact camera from Raspberry Pi. It offers an IMX708 12-megapixel sensor with HDR, and features phase detection autofocus. Camera Module 3 is available in standard and wide-angle variants, both of which are available with or without an infrared cut filter.
Camera Module 3 can be used to take full HD video as well as stills photographs, and features an HDR mode up to 3 megapixels. Its operation is fully supported by the libcamera library, including Camera Module 3’s rapid autofocus feature: this makes it easy for beginners to use, while offering plenty for advanced users. Camera Module 3 is compatible with all Raspberry Pi computers.
All variants of Raspberry Pi Camera Module 3 feature:
Back-illuminated and stacked CMOS 12-megapixel image sensor (Sony IMX708)
High signal-to-noise ratio (SNR)
Built-in 2D Dynamic Defect Pixel Correction (DPC)
Phase Detection Autofocus (PDAF) for rapid autofocus
QBC Re-mosaic function
HDR mode (up to 3 megapixel output)
CSI-2 serial data output
2-wire serial communication (supports I²C fast mode and fast-mode plus)
2-wire serial control of focus mechanism
Specifications
Sensor
Sony IMX708
Resolution
11.9 MP
Sensor size
7.4 mm sensor diagonal
Pixel size
1.4 x 1.4 µm
Horizontal/vertical
4608 x 2592 pixels
Common video modes
1080p50, 720p100, 480p120
Output
RAW10
IR cut filter
Integrated in standard variants; not present in NoIR variants
Autofocus system
Phase Detection Autofocus
Ribbon cable length
200 mm
Cable connector
15 x 1 mm FPC
Dimensions
25 x 24 x 11.5 mm (12.4 mm height for Wide variants)
Variants of Raspberry Pi Camera Module 3
Camera Module 3
Camera Module 3 NoIR
Camera Module 3 Wide
Camera Module 3 Wide NoIR
Focus range
10 cm - ∞
10 cm - ∞
5 cm - ∞
5 cm - ∞
Focal length
4.74 mm
4.74 mm
2.75 mm
2.75 mm
Diagonal field of view
75 degrees
75 degrees
120 degrees
120 degrees
Horizontal field of view
66 degrees
66 degrees
102 degrees
102 degrees
Vertical field of view
41 degrees
41 degrees
67 degrees
67 degrees
Focal ratio (F-stop)
F1.8
F1.8
F2.2
F2.2
Infrared-sensitive
No
Yes
No
Yes
Downloads
GitHub
Documentation
,
by Lobna Belarbi
Affordable Robot Kits to Kickstart Your Robotics Journey
Robotics is an exciting and rewarding field, but getting started can be intimidating—especially when it comes to choosing the right kit. Fortunately, Elektor offers a...
,
by Lobna Belarbi
Kickstart Your Electronics Journey with Elektor’s Learning Collection
Whether you're new to electronics or aiming to level up your embedded skills, Elektor’s Learning Collection delivers expert-curated kits, courses, and hands-on bundles. The first...