Project Development¶
Week 1¶
This is my current sketch on my project idea
The points that I want this project to have include
- The bot has to be able to move and sense objects
- It should have a display that can make different expressions
- It should have a camera inside it to be able to take pictures the area it is moving in
- It should have a friendly and pet looking shape.
Week 2¶
This is the 3-d design of my project(you can see the layout changed quite a lot) I left the holes in the design to show a clearer view of how it’ll look.
The placement of the components are: - The head will hols a seperate circuit board with the 2 matrix displays and the esp32 camera. - The neck will be hollow to connect the display circuit board’s wires. - The ultrasonic sensor will pop out of the main body. - The battery will have a seperate case that I can access from the bottom to cahnge it, or charge it.
Week 4¶
This week I decied what microcontroller board to use with the advice from my seniors and instuctors.
Week 5¶
Cardboard prototype¶
We were assigned to make a prototype so we have a clearer vission of what we want to make, with where the components go and the size of the model.This was my prototype(without the wheels for now, because I think I will use plastic wheels from a toy, or a building kit)
These are the measurements for this model
This is the plan I have for where to place the components
After building this prototype, my whole idea of my project changed. I got a clearer idea of what I wanted to make and the measurements. I ended up changing the shape and placement of my components as well. After making this, I feel like my prokect is more relistic and possible. It feels like I made progress and actually managed to take a step forward (of course with a lot of help from the others.)
Week 6¶
I made a basic circuit sketch with one of my components, and now how to connect the other components as well.
My plan is to have 2 seperate circuit boards.
- Firstly, of course the microcontroller, which will have all the pinouts needed for the other components as well.
- Then, a board I plan to place in the head which will act as a seprate support for the esp32 cam and the matrix display. This is just to make it neater and more understandable.
Week 8¶
The first microcontroller Iw as going to use was the esp32 wroom 32, But after countless trys, I couldn’t solder it properly for the first time, So i decided to work with something more simple.These were all the boards I made before working on the xaio.
I’m either going to try esp32wroom later onwards, or I’ll be networking 2 xaios together.
Week 10¶
This week, I managed to work with an oled, which is one of the components I’ll be using for my final project.
Week 12¶
This week, we had machine week so I got to experience what final project development and making would feel like. Honestly, did not enjoy much. I ended up getting sick and couldn’t help the others, plus I was behind on my neuval as well so I was given time to update my progress. I feel like I could have done more and helped more, but I’ll make sure to cahnge next time.
Week 13¶
For this week, I decided to make the designs and planing fort my final project. In the planning area, we had a zoom call with my instructor, and he listed out the things we need to do for our final project. Theres only 5 weeks now, so I really needed to make more progress in my final project.
The first design I made was the head of the bot. I believe i’ll edit this later on, because I did not consider the neck properly.
I mainly wanted to check if the lid idea works for this design, so heres how it went.
The microcontroller I’ll be using is xaio. I discussed this with my instructors and this was what the recomended .
I also made a list with my local instructor on all the amount of work i have left.
Once I printed the design I made, heres how it turned out.
After that I tryed out the model to see if the lid and space for the matrix display would work.
The matrix fit into th edesign perfecly so I think I’ll keep this the same
The lid worked pretty well, but I think I need to add a lock so that the lid doesn’t fall off.
I also need to think about the neck properly, but leys leave that for now
Week 14¶
I started by making the design and planning for the bottom of the robot. I already tryed out the matrix displays, and the ultrasonic so I decided that its about time I did the moter test.
Heres a car set we had in our lab, This was a project another student worked on one time, so the picture bellow is a model of it fully working
From this set, I will be using the wheels and the design of the base.
Week 15¶
Blinking Eyes
#include <LedControl.h>
// DIN = 12, CLK = 11, CS = 10
LedControl lc = LedControl(12, 11, 10, 1);
byte eyeOpen[8] = {
B01111110,
B10000001,
B10000001,
B10111101,
B10111101,
B10000001,
B10000001,
B01111110
};
// Half-closed eye (top lid coming down) (vertical flipped)
byte eyeHalfClosed1[8] = {
B00001110,
B00110010,
B01000010,
B01111110,
B01111110,
B01000010,
B00110010,
B00001110
};
// Closed eye (vertical flipped)
byte eyeClosed[8] = {
B00011000,
B00011000,
B00011000,
B00011000,
B00011000,
B00011000,
B00011000,
B00011000
};
// Half-closed eye (bottom lid going up) (vertical flipped)
byte eyeHalfClosed2[8] = {
B00001110,
B00110010,
B01000010,
B01111110,
B01111110,
B01000010,
B00110010,
B00001110
};
void setup() {
lc.shutdown(0, false);
lc.setIntensity(0, 8);
lc.clearDisplay(0);
}
void loop() {
displayFrame(eyeOpen);
delay(6000);
displayFrame(eyeHalfClosed1);
delay(500);
displayFrame(eyeClosed);
delay(1000);
displayFrame(eyeHalfClosed2);
delay(500);
}
void displayFrame(byte frame[8]) {
for (int i = 0; i < 8; i++) {
lc.setRow(0, i, frame[i]);
}
}