- Raspberry Pi (with 40 GPIO)
- GPIO Extension Board & Ribbon Cable
- Breadboard
- Jumper Wires
- I2C LCD1602 Module
The I2C LCD1602 Display Screen integrates a I2C interface. The default I2C address is 0x27(0x3F). To view the Raspberry Pi bus on the I2C device address through command
i2cdetect -y 1
Refer to [2020-11-02] for configure I2C and install Smbus.
Display weather information on 1602 LCD using I2C and observatory API.
Rotating the grey knob as shown below to adjusts the contrast of the LCD screen.
Display real time CPU temperature and time.
- Completed Blockchain demos
- 4WD Raspberry Pi Robot. (Orginal plan for the final project) - Assembled the robot. Retuned the tracking module sensors and light seeking module sensors
- Installed Pyang, PlantUML, GIMP, Pinta, and ran the demos on Raspberry Pi
- Installed Python packages which introduced at lession 8 on Mac and Raspberry Pi
- Installed XQuartz on Mac for SSH -Y
- Ran Data Analysis Python demo codes
Components: Thermistor, ADC module, Jumper wires, and Resistors 10kΩ.
- Enable I2C and Installed I2C tools:
sudo raspi-config
- Choose “5 Interfacing Options” then “P5 I2C” then “Yes” and then “Finish” in this order and restart Raspberry Pi
- Check whether the I2C module is started:
lsmod | grep i2c
- Install I2C-Tools:
sudo apt-get install i2c-tools
- I2C device address detection:
i2cdetect -y 1
- Install Smbus Module:
sudo apt-get install python3-smbus
- Logged in ThingSpeak using MathWorks account. Created cpu_loop channel
- Created rpidata project with Google Drive and Sheets API and credentials on Google Cloud Platform
- Installed gspread, oauth2client, and psutil on Raspberry Pi
- Ran and tested lab programs
• Signed up an Particle account
• Installed Particle-Agent on Raspberry Pi and logged into the Particle account
• Added Raspberry Pi device in the Particle account
• Original link of the Particle Mobile App in the lecture slides does not work. Found supporting document: https://docs.particle.io/tutorials/developer-tools/tinker/photon/
• Installed Particle iOS app and connected to Raspberry Pi
• Installed node.js and npm on Raspberry Pi
Step 1: Update Pi
sudo apt-get update
Step 2: Identify Architecture Version of Raspberry Pi 3 /3B+: ARMv7
Step 3: Copy the ARMv7 download link at NodeJS downloads page
Step 4: Go to terminal to download NodeJS Binaries
Wget https://nodejs.org/dist/v12.19.0/node-v12.19.0-linux-armv7l.tar.xz
Step 5: Extract the downloaded file
tar -xf node-v12.19.0-linux-armv7l.tar.xz
Step 6: Copy the files to a directory in PATH
cd node-v12.19.0-linux-armv7l
sudo cp -R * /usr/local/
Step: 6: Check if installation was successful
pi@raspberrypi:~ $ node -v
v12.19.0
pi@raspberrypi:~ $ npm -v
6.14.8
- Installed PARTICLE CLI
- Installed Node-RED and run on http://localhost:1880
- Run node lesson 6 hello.js
- Server running at http://127.0.0.1:8080/
- Inspected the webpage. Less than 200ms loading time. Favicon.ico loads after
- Run node http.js
- Installed node.js, npm, Particle-CLI, and Atom on laptop
- Installed MATLAB on Android phone. Toggled on all of the sensors and moving around the phone, observes the data changes
Continue with the LED Matrix project.
There are 8x8 LED Matrix generator tools online, but it displays in reversed and 90 degrees clockwise rotate orientation on the LED Matrix due to they are other types of LED Matrix. For example, I drew the letter "N", and the code is 0x86,0xc6,0xc6,0xe6,0xf6,0xde,0xce,0xc6, # "N" . This is how it shows on the LED.
The LED Matrix I am using is a Common Anode LED Matrix. There are 8 columns. Each column is represented by one byte. In Binary, 0 is LEDs turned OFF, and 1 is LEDs turned ON. To draw a diagram, convert each column from Binary number to Hexadecimal code at here: https://www.rapidtables.com/convert/number/binary-to-hex.html , and add "0x" before the converted Hexadecimal code.
Diagram below from Freenove.
The correct code for letter "N": 0x00,0xFF,0x60,0x30,0x18,0x0C,0x06,0xFF, # "N".
LED Projects (Codes and instructions from Freenove):
Hardware and electronic components:
Hardware and electronic components:
- Raspberry Pi 3B
- Breadboard
- GPIO Extension Board
- 8x8 LED Matrix
- 220Ω Resisters
- 74HC595 DIP IC
- Jump Wires (M-M)
- Purchased starter kit for Raspberry Pi including breadboard and all sort of electronic components
- Reconfigured the Google Cloud due to billing issues
- Installed VNC Viewer on Raspberry Pi and Mac
- Login the Wi-Fi router to see the connected devices list. The list contains the IP address of each device which include Raspberry Pi
- Successfully connected to Raspberry Pi using VNC Viewer and Secure Shell
- Push the Red button to talk to Google Assistant, with audio and text feedback
- Reviwed the lecture and followed the instruction to configure the system settings
- Modified the Digital Clock Setting: %a %h %d %I:%M %p. For example it will display: Tue Sep 15 10:00 AM
- Connected Mac to the Raspberry Pi using Google Chrome extension: Secure Shell https://chrome.google.com/webstore/detail/secure-shell/iodihamcpbpeioajjeobimgagajmlibd
- Got the crdiential from Google Cloud Speech APIs https://console.cloud.google.com/
- Used Etcher https://www.balena.io/etcher/ to flash the Raspbian operating system onto the MicroSD card
- Assembled Raspberry Pi 3B with the Google AIY: Voice Kit https://aiyprojects.withgoogle.com/voice/