Hello Everyone,
I have been thinking for a while on a new project. As the title says it, a school schedule.
Now, since I dont have the time to learn C, I went to BASIC from mikro elektronika.
So as always I came up with these questions:
Can I have the PIC16f887 read a ds1306 to tell time, date and so be able to display something like this:
-----------------------------
LUNCH - English
16/6/11 1:21 PM
----------------------------
Note that im using a 16x2 LCD
And so it would change the upper display as the day goes by.
The other question is: Can I do this using BASIC or is it not possible?
Thanks in advance.
You should be able to manage
exactly what you are after, although, you may require more storage than what the chip has by itself. All you are really doing is setting up an array or pair of arrays and then outputting the data that matches.
Okay so…
I was going to ask about memory, Would I handle it with 1 eeprom chip or would i need more than that,
by the way, do you have an idea of how could I make it know what to output?
For example
When 10:00 display "…"
something like that for each and every thing or is there an other method?
Thanks
A set of joined arrays might work
Hour[9]="8,9,10,11,11:30,12,1,2,3"
Class[7]="Math,Science,Spanish,Lunch,Study Hall,Band,Government"
Day[35]=“M,T,W,R,F,M,0,W,0,F …”
off topic
This would be better;
Class[7]="Math,Science, Metal Fabrication,Lunch,Study Hall, CAD ,Government"
ps metal fabrication is using cnc and laser cutters!
Okay,
So, Could you explain the class[7] thing and hour[9]
Please? I really dont know what it means…
The ‘variables’/constants you are asking about
are called arrays. If you don’t know what an array is you may need to do a bit more studying before I get any deeper in my suggestion.
A variable,
So this would be something like:
Hour[9]:means 9 hours in the array
Class[7]:means 7 classes in the array
SO:
Day[35]: Mon, Tue, Wed, Thu, Fri, Sat, Sun, Mon, Tue, Wed, Thu, Fri, Sat, Sun,
Day[35]="M,T,W,R,F,M,0,W,0,F …"
Because from your array I cant get if you are repeating the days like in mine or what, cause you got those 0`s
Whats are they?
Thanks
Arrays
The number in the []'s is the number of elements in the given array. Therefore, Hours[9]=“8,9,10,11,11:30,12,12:30,1,2”. Each element can be called by its individual index starting at 0. Hours[0] contains the character 8. You can then compare the time against Hours[x] and then use x to point to the individual courses you might have. Day[35] was an attempt to cover individual days of a given course. The 0’s were there in case you have a class only 2 or 3 days a week. If you have a class in the morning one day and afternoon on another, you will have to work up a different set of arrays. Hopefully this gives you a clue as to what I was trying to suggest.
I get it?
So I believe you made it clear:
main:
Date[7]="Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday"
Hour[12]="8, 9:20, 10:00, 10:40, 10:55, 11:00, 11:40, 12:20, 1:00, 1:40, 1:45, 2:25, 3:05"
Class[13]="Math, Spanish, French, ITC, English, Religion, Economics, PE, Physics, Chemistry, Biology, History"
end.
Now Im not sure if it is “Date” instead of “Day” because when I put “Day” there it underlines it with a small red line like if it was wrong, while when I put “Date” it turns it bold like it does with “Hour” and “Class”
I made the day array huge,
because I didn’t know if you would have the same classes everyday at the same time. If that is the case, you won’t need a day array. You will have to figure out what day it is so that you don’t say you are in class on Saturday or Sunday. Your hour array will likely have to be put in terms that would compare to the time you get from the DS1306. So, rather than 9:20 you may need 920 or whatever the number that is given for 9:20AM.
DS1307
Do you know a guide on DS1307 for MikroBasic?
How to read it with MikroBasic I mean not the datasheet
Sounds like
you have a fair amount of homework to do before your school schedule project gets off the ground.