Week 1: Principles and practices, Project Management¶
The task assigned by FATLAB for this week is to plan and outline a possible final project and some characteristics and requirements to develop this idea.
Possible final project¶
The project consists of developing a portable house for guinea pigs with wheels where water and food will be installed and according to the animal it sees consuming, it will be registered with sensors so that it can be increased according to need. The data will be sent to a receiving device to keep track of everything in real time.
Sketch¶
The idea¶
Regarding the project, the proposed solution to solve the problem is a mechanism that facilitates the process of feeding smaller animals such as guinea pigs automatically. It allows owners not to be physically present at their feeding but will inform them when the food and water run out. I will use this model as a reference of my project
The portable cage will also include a sensor so that as the food is running out, more food enters and the same of the water and that sends us that information in real time.
Components¶
Next I will proceed to detail the necessary components for the elaboration of the cart.
Hardware / Mechanical pieces: * Electronics housing made out of acrylic. (Computer-Controlled Cutting) * Custom actuators and sensors housings. (3D Scanning and Printing) * Cart made out of plywood. (Computer-Controlled Machining)
Sensors (Input Devices):
- Load cell: Integrated in the cart to register the weight of the collected products.
Actuators (Output Devices): * LCD screen: Necessary to show all the information collected * Buzzer: Alarm for maximum weight reached or waypoint completed
Control board (Electronics Production):
- Design of a board with all the inputs and outputs necessary to control the functions of the cart
Extras: * Comunicación inalámbrica. (Redes y Comunicaciones) * Visualización de datos. (Interfaz y Programación de Aplicaciones)
To send the information collected by the sensors to a receiving device and display a graph and maintain constant monitoring to avoid the end of your food.
Fab charter¶
What is a fab lab?
Fab labs are a global network of local labs, enabling invention by providing access to tools for digital fabrication
What’s in a fab lab?
Fab labs share an evolving inventory of core capabilities to make (almost) anything, allowing people and projects to be shared
What does the fab lab network provide?
Operational, educational, technical, financial, and logistical assistance beyond what’s available within one lab
Who can use a fab lab?
Fab labs are available as a community resource, offering open access for individuals as well as scheduled access for programs
What are your responsibilities?
safety: not hurting people or machines operations: assisting with cleaning, maintaining, and improving the lab knowledge: contributing to documentation and instruction Who owns fab lab inventions?
Designs and processes developed in fab labs can be protected and sold however an inventor chooses, but should remain available for individuals to use and learn from
How can businesses use a fab lab?
Commercial activities can be prototyped and incubated in a fab lab, but they must not conflict with other uses, they should grow beyond rather than within the lab, and they are expected to benefit the inventors, labs, and networks that contribute to their success
Task¶
- Build a personal site describing you and your final project.
- Upload it to the class archive.
- Work through a git tutorial.
Understanding GIT¶
GIT¶
Git’s distributed collaboration model is completely different, providing each developer with their own copy of the repository, with their own local history and branch structure. Users typically need to share a series of commits, rather than a single set of changes. Instead of pushing a set of changes from a working copy to the central repository, Git allows you to share entire branches between repositories and the project is shown
The git remote command is a part of a larger system that takes care of synchronizing changes. The records inscribed using the git remote command are used in conjunction with the git fetch, git push, and git pull commands. All of these commands have their own synchronization responsibilities, which can be found at the corresponding links.
GIT REMOTE¶
Remote repositories are versions of your project that are hosted on the Internet or any other network. You can have several of them, and in each one you will generally have read-only or read-write permissions
- git add . : The git add command adds a change to the working directory in the staging environment. This tells Git that you want to include updates to a particular file on the next commit.
- git status : The git status command displays the status of the working directory and staging area. It allows you to see which changes have been staged, which ones haven’t, and which files Git isn’t going to track. The status output does not show any information regarding the history of the project.
- git commit -m : Commit. It is the smallest unit of change and can be described as a point in history. It is important to note that a commit summarizes the changes as if they were patches to a file and does not contain the files themselves. This technique allows to reduce the size of the repos and optimize the synchronization.
- git push origin master : The git push command is used to push content from the local repository to a remote repository. This is the equivalent of git fetch, but while fetching commits are imported to local branches, committing commits are exported to remote branches. Remote branches are configured using the git remote command
Using ghostwriter¶
Once ghostwriter is installed we open the assignments where we are going to work
In the red left part we write in English and automatically in the yellow part on the right is what will appear when we push
uploading files to ghostwriter¶
We save the file with the name w7.jpg in the week01 folder
As we see, the w7.jpg file is saved
We open week 1 and there we write the address where the file is located (../images/week01/w7.jpg)
Using Git Lab¶
the most used modern version control system in the world. Git is a mature and actively maintained open source project that was originally developed by Linus Torvalds, the famous creator of the Linux operating system kernel, in 2005.
We install the Git application or software and then clone it from local storage to the cloud
We install in 64-bit windows
In order to update the content of my page and upload it to the website I have to open Gitlab and I go to my local folder within docs, I right click and choose Git bash here and git lab opens
Gitlab opens
We write Git Status and it will show the different states of the files in your working directory as we see in arrow A it says that it was modified in week 01 and in arrow B it tells us what type of files they are and there is our file w7.jpg
We write git add.. adds content of the working directory
Again Git Status and we verify that it was selected and the files are already green
Now we do git commit captures a snapshot of the changes prepared at that point in the project.
And finally we do git push, it is used to communicate with another repository, calculate what your local database has that the remote one does not have, and then upload (push) the difference to the other repository
The page must be updated