At this week assignment I decided to create a kind of Led Panel based on a mix between Output Assignment and Bluetooth communication system which will work with my ultimate processor device using an AtMega 328p called "AtomicMegatronic". Let's start.
First I had previusly decided to make a 5x5 matrix which help me to give a good performance for each letter but I realized there are not enough pins in/out to connect 25 outputs so I changed the matrix to a 3x3 and consequently I had to change the ways how some words would be showed.
Next will be showed how I decided to represent each letter. Starting with the concept.
Note: As you can see, up says "HI FAB" and this is just the beginning.
Now was time to decsign all boards I will use. I divided in 2 process: 1st which was for my AtMega, and 2nd for de panel.
At AtMega production I decided to use all pins.
At Panel production I set all pins in groups which would be coupling with my AtMega board.
Then I had to cut all waste using a bow saw.
To finally solder all components
At this part I burned my AtMega bios. Then I had to diagram how both pins will be connect between these 2 boards.
Note: As you can see around all the paper I also sketched how letter and number will look, and how some numbers and words will be sharing or will be changed because in a 3x3 matrix there aren't much space to performance them like "M-N-H", "V-W", "G-6","O-Q-0-8","2-Z",and "5-S".
Having all this set I connected both boards and uploaded an simple code just to test all leds and pins performance.
int led=PD2; int led2=PD3; int led3=PD4; int led4=A0; int led5=A1; int led6=A2; int led7=A3; int led8=A4; int led9=A5; int led10=10; int led11=9; int led12=8; int led13=PD7; int led14=PD6; int led15=PD5; void setup() { // put your setup code here, to run once: pinMode(led,OUTPUT); pinMode(led2,OUTPUT); pinMode(led3,OUTPUT); pinMode(led4,OUTPUT); pinMode(led5,OUTPUT); pinMode(led6,OUTPUT); pinMode(led7,OUTPUT); pinMode(led8,OUTPUT); pinMode(led9,OUTPUT); pinMode(led10,OUTPUT); pinMode(led11,OUTPUT); pinMode(led12,OUTPUT); pinMode(led13,OUTPUT); pinMode(led14,OUTPUT); pinMode(led15,OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(led,HIGH); digitalWrite(led2,HIGH); digitalWrite(led3,HIGH); digitalWrite(led4,HIGH); digitalWrite(led5,HIGH); digitalWrite(led6,HIGH); digitalWrite(led7,HIGH); digitalWrite(led8,HIGH); digitalWrite(led9,HIGH); digitalWrite(led10,HIGH); digitalWrite(led11,HIGH); digitalWrite(led12,HIGH); digitalWrite(led13,HIGH); digitalWrite(led14,HIGH); digitalWrite(led15,HIGH); delay(50); }
At this part I decided to use a Bluetooth module specifically the "HC-05".
I followed some tutorials to set the bluetooth name, password, UART, and its role.
To summarize I used the next commands after I restarted all configuration to fabric using "AT+ORGL":
Name: AT+NAME="put here the name"
Password: AT+PSWD="put here the password"
Role: At+ROLE="put here 0 to define it as a slave, or 1 to be a master"
UART: AT+UART="put here your number in the next sequence: "NUMBER,0,0""
Note: To ask the preset of each part you nedd to change the "=" for an "?" and just press enter.
And finally to restart and continue with this assignment just put "AT+RESET" and your bluetooth would be working as you defined.
Having all of this done I decided to create a holder for mi panel board at Fusion 360.
Finally I used AppInventor to create an app to control it.
Now was time to assembly and use them.
I used a new code which I put below at files because it's very long. Let's take a look of the first part.
Let's take a look.
Below you will find my files which I made this week.