Ga naar inhoud

Knopjes aan het stuur...


Gast Tim Russell

Aanbevolen berichten

Gast Jeroen Wils

There are multiple versions of the Arduino board. The current basic board, the Duemilanove, uses the Atmel ATmega328 (datasheet). The older Diecimila, and the first run of Duemilanoves used the Atmel ATmega168 (datasheet), while older boards use the ATmega8 (datasheet). The Arduino Mega is based on the ATmega1280 (datasheet).

ik heb die dmx met de atmega32 geprogrammeerd

volgens de datasheets van die hier boven bevatten ze allemaal een usart

Link naar reactie
Delen op andere sites

  • Reacties 57
  • Aangemaakt
  • Laatste reactie

Hi Tim,

Zeer fijn project! Ben benieuwd hoe makkelijk het allemaal gaat gaan.

Kan je je waarschuwingslamp (4 pinkers) niet doen programmeren door de 2 pinker knoppen tegelijk in te duwen? Scheelt alweer 1 schakelaar.

Link naar reactie
Delen op andere sites

Gast Tim Russell

Eerste fase is gemaakt.... na 20jaren niet aan PCB's te hebben gewerkt is het mij toch nog gelukt om een PCB in elkaar te solderen... en hij doet het ook! 8)

Jeroen heeft ook een leuke idee dat ik nog wil proberen, maar dit is de eerste stap.

Links is zender met 5 knopjes, daar tussen is een 3m coaxiaal kabel, rechts ontvanger en midden een scherm die alle meldingen kan aangeven.....

a_1252.jpg

Link naar reactie
Delen op andere sites

john bon jovi is volgens mij niet zo goed met stekkertjes en soldeerbout hoor....

Ik denk dat als ik geen normale stalks op mijn stuur krijg ook zoiets ga doen, wel naar jouw voorbeeld dan denk ik.

Grtz Thomas

Link naar reactie
Delen op andere sites

Tim even navragen bij Conrad hoe het moet met de rest van je bestelling.

Volgens de tekst bestel je rood en volgens de foto krijg je een blauwe.

Waarschijnlijk iemand die kleurenblind is met de site aan de gang geweest. :lol::lol:

Gr Willem

PS zit je in de vorstverlet of zo , je hebt de gang er lekker in.

Link naar reactie
Delen op andere sites

Gast Tim Russell

Komen wij daarop terug als de coding allemaal goed is...

Eerste code is binnen :)


int SWtr = 6; /* Switch Turn Right */
int RYtr = 13; /* Relay Turn Right */
int VARtr = 0; /* Turn Right Status */
long TIMEtr = millis(); /* Turn Right timer */

void setup()
{
digitalWrite(SWtr, HIGH);
pinMode(RYtr, OUTPUT);
for (int i=1; i <5>= (TIMEtr - 2750)) {
do {
digitalWrite(RYtr, HIGH);
TIMEtr = millis() + 3000;
VARtr = 2;
} while (digitalRead(SWtr) == LOW);
delay(100);
}

Link naar reactie
Delen op andere sites

Gast Tim Russell

}
void loop()
{
if (digitalRead(SWtr) == LOW && VARtr==0) {
do {
digitalWrite(RYtr, HIGH);
TIMEtr = millis() + 3000;
VARtr = 1;
} while (digitalRead(SWtr) == LOW);
}
if (digitalRead(SWtr) == LOW && VARtr==1 && millis() >= (TIMEtr - 2750)) {
do {
digitalWrite(RYtr, HIGH);
TIMEtr = millis() + 3000;
VARtr = 2;
} while (digitalRead(SWtr) == LOW);
delay(100);
}
if (digitalRead(SWtr) == LOW && VARtr==2 && millis() >= (TIMEtr - 2750)) {
do {
VARtr = 1;
TIMEtr = 0;
} while (digitalRead(SWtr) == LOW);
delay(100);
}
if (millis() >= TIMEtr && VARtr == 1) { /* Short Turn Right so turn off when expires */
digitalWrite(RYtr, LOW);
TIMEtr = millis();
VARtr = 0;
delay(100);
}
}

Link naar reactie
Delen op andere sites

machtig knap dat je dat allemaal zo voor elkaar krijgt, maar hoe is de werking dan straks?

de uitgang van het ledje drijft een NPN aan, die op zijn beurt weer een relaitje en die gaat dan naar de Klingolateur?

kun je ook een microschakelaar aan je stuur zetten met een palletje, zodat je een automatische afslag kun maken? MAW de verschillende inputs op de PIC kunnen wel een gecombineerde input maken om zo een output aan te sturen? je zou dan klein schakelaartje onderaan de stuurrcolom kunnen maken die een wissel contact heeft, (voor beide kanten opsturen, de uitgangen hang je gewoon weer aan elkaar, dus liks af alsaan is keer contact en rechts ook) deze aansluiten op een 2de input, en die zo programeren dat bij ieder 2de schakel puls (insturen en uitsturen) de richting aanwijzer automatisch weer uitzet. dat zou perfect moeten werken.

misschien heb je hier overigens wel een hele mooie oplossing voor het mistlicht vraagstuk.

deze moet namelijk officieel als volgt werken.

als contact aan - dan mistlicht kan aan

als mistlicht aanstaat moet je hem ook weer uit kunnen zetten (offcourse!)

als contact word uitgezet mag het mistlicht niet weer automatiesch aangaan als ie voor het uitzetten van contact aan stond. dus in principe bistabiel, tenzij 12V contact uitgezet word.

dat programeren hoe de hell weet je dan allemaal man???? ziet er voor mij als chinees uit, dat oude basic snapte ik nog maar dit.....

Grtz Thomas

Link naar reactie
Delen op andere sites

Gast Tim Russell

Ik kom straks hier op terug met een meer in depth oplossing.

Knipper licht, ben er mee bezig. Ik wil een schakelaar op de stuur kolom zetten die de lampen uit zet als ik in knipper phase2 zit (aan tov aan voor 3000 ms)

Aansturen word via een MOSFET die 1,5amp kan aansturen die dan het relais aanstuurt. Misschien voor de knipperlichten gebruik ik de MOSFET zonder relais want de lampen zijn 3x5w @ 12v dus maar 1,25amp.

Mistlamp werkt alleen als stads verlichting is aan, ik dacht voor min auto dat het zo moet werken. Dat verhaal met de sleutel werkt, bij uitzetten is alles gereset.

Coding... ja dat wist ik ook niet een week geleden :) snel leren! (Heb wel VB ervaring en jaar of 15 geleden)

Link naar reactie
Delen op andere sites

ok snel leren kan ik ook, maar dan nog waar haal je al die info vandaan, of zit dat allemaal bij de spullen die je koopt? er zijn zoveel verschillende program talen enzo, hoe weet je welke je hebben moet etc etc....

Inderdaad mistlicht mag ook alleen aanstaan als er minimaal stadslichtr gevoerd word. maar dat moet toch programmeerbaar zijn? anders dmv direct uitgangen van de PIC naar ingangen te bedraden.

Gtz Thomas

Link naar reactie
Delen op andere sites

Gast Tim Russell

In het code staat:


/* Fog Light Section */
if (digitalRead(SWfl) == LOW && VARfl == 0 && VARsl >= 2) {
do {
digitalWrite(RYfl, HIGH);
TIMEfl = millis() + waitTime;
VARfl=1;
} while (digitalRead(SWfl) == LOW);
delay (postAction);
}
if (digitalRead(SWfl) == LOW && VARfl == 1 && millis() >= TIMEfl) {
do {
digitalWrite(RYfl, LOW);
TIMEfl = millis() + waitTime;
VARfl=0;
} while (digitalRead(SWfl) == LOW);
delay (postAction);
}

Wat je ziet is VARsl moet meer dan of gelijk aan 2 zijn. VARsl is het status variabel voor stads verlichting en headlights. 2 betekent dat headlights zijn aan. Als VARsl <2 dan gaat deze subroutine niets doen. Dus mistlamp blijft uit.

Qua coding, op de site van Arduino.cc/en staat veel informatie en het software applicatie wordt geleverd met veel oefening voorbeelden.

Ik denk dat ik niet alles hier gaat plaatsen trouwens, ik houd de hele verhaal terug voor een Kits4All verhaal. Toch belangrijke informatie en de status komt hier, maar de hele oplossing in detail hou ik voor K4A.

Link naar reactie
Delen op andere sites

Dat Arduino taaltje is inderdaad best simpel.

Als je al eens een keer iets in PHP of C gedaan hebt, kan je binnen een paar minuten leuke dingen maken. Als je nog helemaal geen programmeer ervaring hebt zal je er iets langer over doen :)

Link naar reactie
Delen op andere sites

  • 4 weken later...
  • 1 maand later...

Gearchiveerd

Dit topic is nu gearchiveerd en gesloten voor verdere reacties.




×
×
  • Nieuwe aanmaken...