Code Monkey home page Code Monkey logo

Logan Morro's Projects

7-segement-display-asm icon 7-segement-display-asm

The goal of this lab was to implement a joystick and a seven-segment LED display. Using the joy stick to increment and decrement the number displayed on the seven-segment LED display. We had to use 7 GPIO pins for the seven-segment LED display (PE10-PE15 and PH0), and 2 GPIO pins for the joystick(PA3 and PA5). This required the ports A, E, and H to be enabled. This was all done on a STM32L47 Discovery Kit connected to uVision. We had to base this lab off our previous lab. We needed to complete this in Assembly language instead of C language.

7-segement-display-counter icon 7-segement-display-counter

Design a circuit and program themicrocontroller to behave as an up-down counter.•Use the push buttonsor Joystickto increment/decrement the number displayed on the seven segment display.•The counter should display decimal numbers between 0 and 9, and should “roll over” when incrementing past 9 or decrementing past 0.•Buttons should be properly debounced,so that the number displayed changes only once per button press.•Use the Cprogramming language and proper coding techniques.

8-bit-adder icon 8-bit-adder

The adder design was given to us, however to appropriately implement the lab correctly we had to add delays for each logic operation in the 8-bit adder. To accomplish this, we created components for the OR, AND, and XOR logic gates. We then called these components when constructing the 8-bit adder to allow us to have the appropriate delays. Once we created the 8-bit adder with the correct delays, we ran a simulation to check that our delays were correct. Basically, we had to see how long it took for the sum to be outputted after the inputs were taken in. Before doing this, we wanted to manually calculate how long it should take while looking at our logic diagram from our adder. Looking at the image below we can see that the head signal needs to travel through two AND gates, and one OR gate to reach the output signal. This passage is highlighted in orange. The same signal also needs to travel through 2 XOR gates, either way it will take 14 ns to fully pass through the whole adder.

android-examples icon android-examples

:shipit: [Examples] Simple basic isolated apps, for budding android devs.

app-management-system icon app-management-system

This is my first fully functional Node.js project using express.js. It is fully scalable and I will continue to work on it here and there. Our database of choice is MongoDB. Our security/authentication of choice was the Passport npm package, that incorporates hashing as well as salting and O-Auth.

combination-lock icon combination-lock

This project involved the design and implementation of a combination lock state machine. We had 3 components to make this all work correctly. They consisted of a clock divider, switch debouncer, and our state machine. The clock divider has one input and one output. The input is the 100MHz clock speed from our FPGA board and the output is just a slower clock speed our state machine and switch debouncer needs. Our switch debouncer just helps us manage when our button is pressed and released to allow for a clean button press/button release. The switch debouncer has 3 inputs; clk, reset, switchIn. And 1 output switchOut. The clk comes from the FPGA 100MHz clock speed, the reset comes from the CPU_RESETN button on the FPGA board. switchIn comes from which button we are pressing (BTNC, BTNU, BTNR, BTNL, BTND). The output switchOut is sent to our state machine as one of our combination inputs signals (in1, in2, in3, in4, or activate). Our state machine component basically 5 input signals that come from our switch debouncer. 4 of these input signals make up our lock combinations and one is used to actually unlock our lock when the input combination is correct. For example, our lock combination is in4 then in1 then in3 and then in2. This exact pattern allows our state machine to move through all its states to the “unlocked” state. Once in the unlocked state, the state machine checks to see if activate was pressed. If it is pressed then our lock will unlock by outputting 1 to lock_ctrl, which is connected to LED(0) on the FPGA board. Once CPU_RESETN or any of the other buttons are pressed, besides the button connected to activate, the state machine will relock the lock.

kight-rider icon kight-rider

Design a circuit using your LED bar graph, 150 Ohm resistors, and Discovery Kit to create a light show similar to the LEDs on the front of KITT, the car from the popular science fiction show Knight Rider. See this YouTube video for an example: http://www.youtube.com/watch?v=TWtTreX45Ts • Emulate the Knight Rider LED scanner effect with trailing LEDs of decreasing intensity. • Use all 10 LEDs on the LED bar graph to accomplish this effect. • Turn each LED on in succession, so that it looks like the light is traveling from one side of the row to the other and then back again in a smooth motion. • You must have at least 3 trailing LEDs after the leading LED. • Use C language and proper coding techniques. • Do something cool. For example, adding a push button to control the speed of LED travelling.

led-interupt icon led-interupt

The goal of this lab was to understand the basic concept of interrupts and use an external interrupt to detect a signal event external to the microcontroller. Using the up-push button on the joystick and the green and red LEDs on pins PB2 and PB8. And utilizing the SYSCFG clock during the EXTI configuration procedure.

motor-stepper-control icon motor-stepper-control

Design a circuit and program the microcontroller to drive a stepper motor.Drive a single stepper motor in a repeating pattern with half-stepping and full-stepping. You may use two buttons to control half-stepping or full-stepping. Two pushbuttons from joystick can control the speed of the stepper motor. One button is for accelerating the motor, the other is for decelerating the motor.You must interface to the motor using a quad-half H-bridge chip (the manufacturer’s part number is SN754410).You can choose either polling or interrupt to control the stepper motor, but our lecture has not covered interrupt yet. If you learn the interrupt by yourself and use interrupt to implement, you will get extra bonus points.Use the assembly programming language and proper coding techniques.

pythonsort icon pythonsort

A simple Flask Web Application, that uses python sorting functions and graphs/displays the sort. The flask app is hosted here. http://lolostheman.pythonanywhere.com/

serial-communication-usart icon serial-communication-usart

The goal of this lab was to create an assembly project for the STM32L4 discovery kit. This project was designed to create a program that allowed for serial communication between the board and a computer using Putty. This was implemented by using a keypad as input and programing our microcontroller for USART communication. Design Upload the whole project including codes and .uvprojx as a .7z or .zip file to Blackboard. In this way, TA can quickly open your project and test the result if needed. Functionality and Correctness The main part of this lab was being able configure the pins for USART. Pins PA9 PA10 PA2 PA3 are used as the TX and RX inputs and outputs by setting the mode to AF and the TX to Push-Pull and the RX to open-drain with a no pullup, no pulldown clocked at 40 MHz. To initialize the pins we need to first clear the bits we are using then set them to ‘10’ which is for AlterFunc. Then we need to enable the USART registers with AFR[1]. Then we need to change the OSPEEDR to 40 Mhz which is ‘11’ in binary. Set the TX pin to push-pull and the RX pin to a floating input. The PUPDR should be no pull-up/pull-down. Next we need to initialize USART. To do this we have to first set CR1 to 8 bits and CR2 to 1 stop bit and BRR which is the baud rate to 9600 bps. Then we need to enable the transmitter and Receiver and then enable USART.

tetris-pygame icon tetris-pygame

Tetris pygame that incoorperates Pygame methods. This is a very basic pygame, and was only created to obtain information/insight on how the API works. I intend to make more complex PyGame based application in the future

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.