Skip to main content

Posts

Project 2 - Flashing all onboard-LED colour combinations

From the previous project we have seen how to blink LED (white colour). This project post will demonstrate how to flash the on board LED colour combinations without much math. So the LED is connected as follows. RED → PF1 BLUE → PF2 GREEN → PF3 Therefore to display red we need to output 0x02, here '2' because PF0 is not being used. Similarly to display purple/violet → 0x06, blue → 0x04, aqua blue/ greenish blue → 0x0c, green → 0x08, yellow  → 0x09, white  → 0x0e and none  → 0. Now lets focus on the sequence: 0, R, RG, G, GB, B, RB, RGB. For the above mentioned sequence the system states are as follows: Here the states are addressed as D2D1D0 and the next state as O2O1O0 Present State     Next State     Output       000                  001              000       001            ...

Project 1 - LED Blink (without libraries)

So lets get started with the first basic project with TM4C123GXL eval board. Objective of this project is to blink on board LED (R+G+B) without libraries or tivaware. *Port F2 is connected to blue and F3 to green Launch Code composer studio or other relevant IDE. In CCS, open a new CCS project. Select "Tiva C series" and "Tiva TM4C123GH6PM" as target and "Stellaris In-Circuit Debug Interface" as connection. Assign a Project Name and click on "Finish". According to objective, tivaware or libraries are not used in this project else we need to include the tivaware location as mention in the link provided in the project home page of this project series, in the include option in the "properties/build/include options". Double click on main file and start programming. Program:  Click here to view the file Back to Project Home Page .

Getting started with TM4C123GXL

The Tiva™ C Series TM4C123G LaunchPad Evaluation kit package includes LaunchPad Board USB cable ReadMe pamphlet On the first power up of the board, a demo program executes. Reset button resets the mcu and the LED glow pattern restarts. User buttons Sw1 and Sw2 are used to move LED glow pattern back and forth. If both the user buttons are pressed at once for 3 secs, the mcu goes into hibernate mode and can be resumed by pressing Sw2. On connecting the board via TTY terminal, it provides a prompt '>'. Type "help" for information. Try experimenting with the other commands. To connect the board via serial port plugin the usb cable into debug port and let the switch be in debug position. This switch routes power from debug usb port or device/otg usb port. For information on ports provided by this board, refer the ReadMe pamphlet. Back to Project Home Page .

TM4C123GH6PMI Specifications

Specifications: CPU: 32-bit ARM® Cortex™-M4F clocked at 80 MHz FPU: IEEE754 - compliant single-precision FPU Performance: 100DMIPS SRAM: 32KB single-cycle ROM: 256KB Flash EEPROM: 2KB Peripherals GPIO: 6 blocks UART: 8 SSI: 4 I2C: 4 CAN: 2 USB: OTG/Device DMA: 32-channel configurable μDMA Controller Timer: 6 -16/32-bit GPTM blocks 6 - 32/64-bit Wide GPTM blocks WDT: 2 Hibernation Module: 2 PWM: 2, each with 4 PWM generator blocks and a control block, for a total of 16 PWM outputs QEI: 2 ADC: 2, 12 bit modules with max sampling rate of 1MSPS ACC: 2 JTAG: 1 Refer Datasheet for more details. Back to Project Home Page .

Convergence of Science to Machine Learning and IoT

Today while working with my friends on a project related to the dental instruments just a topic came up regarding understanding machines... Machines that implement black-box model or similar machine learning algorithms. At this very moment I had a thought. If every machine were to be equipped with a computer or an embedded system implementing such algorithms, it could easily replace humans in return eliminating human error and creating jobs in such fields (of course, AI should lack consciousness for this). By this it is clear that machine learning, in other words experiential learning can be the best solution to problems such as human error, wear and tear error, environment influenced errors, etc. But machine learning alone cannot survive as it needs data to learn and develop. Here comes Internet of Things, the data acquisition medium for the ML algorithms. Data collected from the sensor nodes needs to be accumulated or distributed among the similar type of machines with the help o...

I-Fi - Protocol for IoT

I-Fi... From my previous blog on IoT , to achieve that synchronization among devices and to achieve better data exchange standards it is advisable that any device can talk to any device without getting hacked. In this case security of network is major concern, also the communication should happen with minimum expenditure of device's energy irrespective of dependence on battery. I-Fi - What is it? It's just an acronym for "IoT - Fidelity", given by us (Pragya and me) 😋. Based on the thoughts after contemplating over the previous blog, IoT can be best observed if the communication happens over hub-node topology, here hub is required to ensure security of network (like firewall, encryption device, WiFi router), however the hub involves whenever communication between nodes or devices happen and the device-device communication is not possible in the case. So a "hybrid" hub-node topology is desired, this gave birth to the concept of I-Fi, a hybrid hub-nod...

Setting up a "User Data" drive for Raspberry Pi

Its been a while working on Raspberry Pi 2, I realized that there is a need for "User Data" drive for the RPi. So with this blog I will be sharing the procedure to make and mount a drive. To get started, its recommended to have monitor, keyboard and mouse connected to RPi. If its not available then follow my previous blog on Raspberry Pi . Connect the drive to RPi, if the drive is formatted then you can skip these steps and jump to mounting, else if the drive is not formatted then open terminal (Ctrl+atl+T), type lsblk this will list the drives attached to RPi. Find the drive to be formatted, now type sudo fdisk /dev/'your disk' replace 'your disk' with sda/sdb/sdc... whatever that you found using 'lsblk'. Be careful while entering, if you chose the mmc card the OS drive will be formatted first enter 'd' followed by 'n', hit enter 4 times and finally enter 'w'. With this you have created a new partit...