Efter arbetet idag blev det en snabb sväng inom biltema för att köpa en tio-liters hink med lock samt lite slang som kan transportera vatten. Jag passade även på att köpa mig en annan pump på biltema, den som nämnts i ett utav de första inläggen gällande mitt blomsterprojekt.
Alltså:
- 362772 – Lock till 10L hink 9,90kr
- 362770 – 10L hink 14,90kr
- 15331 – Vattenslang 10Mx9mm 36,90
- 25980 – Pentry-pump 79,90
Totalt: 142,40kr
Efter det bar det hem och testa hur fort jag tömde mina tio liter och resultatet blev prick 100 sekunder att pumpa vattnet till den nivå att den nästan torrkörts.
Detta ger mig lite modifikation i mitt program som ska ligga i PIC:en
#include <pic16f690.h>
typedef unsigned int word;
word at 0x2007 __CONFIG = (_INTRC_OSC_NOCLKOUT & _CP_OFF & _WDT_OFF & _BOR_OFF & _PWRTE_ON & _MCLRE_OFF & _IESO_OFF & _FCMEN_OFF);
void delay_ms(long ms)
{
long i;
while (ms--)
for (i=0; i<=50; i++) //50 iterations is _basically_ 1 ms.
;
}
unsigned int pumpint=0; //just an int for loops..
unsigned int totalpumpms = 0; //A counter for how many ms the pump has been running
unsigned static int maxpumpms = 100000; //Change this if you are using a slower/faster pump.
void main () {
TRISC = 0x00; /* PORTC, All outputs */
TRISA4 = TRUE; /* RA4 input */
while(1)
{
//Start pumping water, if RA3 isn't activated.
//Wait for the breaking SW1
if(RA3 == false && totalpumpms < maxpumpms)
{
while(1)
{
if(RA3) //If(ra3) i used since while(ra3) doesn't seem to work as good with sdcc compiler.
{
break;
}
PORTC=0x0f;
//As an extra marker, never pump for more than 5 secs.
delay_ms(1);
totalpumpms++; //Add to the total pumpmscounter.
if(pumpint >= 5000) //Loop until 5000ms == 5secs is reached.
{
pumpint = 0;
break;
}
pumpint++;
}
}
//Pumping done. Wait 15 minutes
PORTC=0x00; //Close all outputs
//Reset button must work within this time. Don't sleep for a whole 15 mins, but keep polling.
while(pumpint <= 90000) //15 min == 900000ms. We're polling each 10ms.
{
if(RA2) //RA2 is the reset switch
{
totalpumpms = 0;
pumpint = 0;
}
pumpint++;
delay_ms(10)
}
}
}
Jag har inte verifierat koden än, men jag tror det skall fungera
. Skall testa det imorgon, och i helgen ska jag göra mitt bästa för att bygga ihop den helt!
Jag vill ju ha den klar innan flytten, som förvisso inte är förräns i November, men jag vill gå vidare till mina andra små projekt.
Förresten, har ni någon bra bok ni kan rekommendera om embedded c-programmering. Vad man bör tänka på i minnesvägar och sådär? Jag hade uppskattat lite tips på denna fråga
.
Mvh
Marcus
Igårkväll gav jag mig lite grann på att testa vattenpumpen. Jag hittade för ett tag sedan en ac-adapter som gav ut precis den spänning och ström som behövdes för att pumpen skulle starta. Och givetvis startade den! Det kallar jag kvalitet från biltema när det är som bäst!
Nästa steg är att sätta på en trädgårdsslang och se hur snabbt den pumpar ut 10 liter vatten, så jag kan mäta hur många gånger sekunder man kan pumpa vatten innan de tio literna är slut.
Mycket mer blev det inte gjort faktiskt. Gårdagen spenderades tillmestadels hos mina föräldrar, där vi grävde upp ett 25 år gammalt träd som tog lite för mycket sol. Och efter det spenderade vi lite tid hos svärmor =). Alltid trevligt!
Idag har jag heller inte gjort något, då jag och min käraste har firat 1½ år tillsammans! Livet är underbart!
God natt!
Marcus