Modelbaanbouw voor de liefhebber > Eigen bouwprojecten

Verkeerslicht met behulp van de IC 12F675

(1/3) > >>

Theo:
Hallo allemaal,

Na van de week ben ik weer eens begonnen met het maken van een eigen verkeerslicht. Nou weet ik dat je deze kant en klaar kan kopen, maar ik wil hem zelf helemaal maken. Het grootste probleem zit hem dan in de IC, deze moet je zelf programmeren. Na veel zoeken heb ik nu toch een taal gevonden waarin dit verrassend simpel gaat.

De werkwijze is in hoofdlijnen als volgt:
Het maken van het project komt eigenlijk neer op de volgende stappen:
•   Schrijf het programma in JALedit.
•   Sla je gemaakte programma op als  “Stoplicht .HEX” bestand.
•   Breng je "Stoplicht .HEX" bestand via de PICkit2 over naar je IC 12F675.
•   Soldeer je printplaat.
•   Plaats je IC in je printplaat.
•   Test het geheel.
•   Plaats je printplaat op je baan met de stoplichten.

Het moeilijkste lijkt altijd het programmeren.
Ik heb uiteindelijk het boek 50 PIC Microcontroller voor beginners en experts gekocht.
Hierin werd verwezen naar een simpel programma JALedit om mee te programmeren.

Dit is het programma:

include 12F675_Bert

pin_A0_direction = Output   -- Rood1
pin_A1_direction = Output   -- Geel1
pin_A2_direction = Output   -- Groen1
pin_A3_direction = Output   -- Rood2
pin_A4_direction = Output   -- Geel2
pin_A5_direction = Output   -- Groen2

var volatile bit Rood1  is pin_A0
var volatile bit Geel1  is pin_A1
var volatile bit Groen1 is pin_A2
var volatile bit Rood2  is pin_A3
var volatile bit Geel2  is pin_A4
var volatile bit Groen2 is pin_A5

forever loop

      Groen1 = high      -- stoplicht-1 naar groen en blijft 3 seconde op groen
      Rood1  = low
      delay_1s(3)

      Geel1  = high      -- stoplicht-1 naar geel en blijft 1 seconde op geel
      Groen1 = low
      delay_1s(1)
     
      Rood1  = high      -- stoplicht-1 naar rood en blijft rood, na 1 seconde begint stoplicht-2
      Geel1  = low
      delay_1s(1)
     
      Groen2 = high      -- stoplicht-2 naar groen en blijft 2 seconde op groen
      Rood2  = low
      delay_1s(2)

      Geel2  = high      --  stoplicht-2 naar geel en blijft 1 seconde op geel
      Groen2 = low
      delay_1s(1)

      Rood2  = high      --  stoplicht-2 naar rood en blijft rood, na 1 seconde begint stoplicht-1 weer
      Geel2  = low
      delay_1s(1)
     
end loop

Als je dit hebt geschreven zet het programma het netjes voor je om in een HEX-file.

Met het programma PICkit zet je het programma over op je IC 12F675

De volgende stap is het solderen van je printplaat.

De IC 12F675 kost bij Aliexpress slecht 5 Euro voor 10 stuks.

Deze IC heeft 6 ingangen, die naar wens kan zetten als input of als outputs.
Je kan dus nog veel meer schakelingen maken met deze iC.

Ik heb alles nu bij Aliexpress inmiddels besteld, dus even 4 weken wachten voordat ik weer verder kan.
Maar ik denk dat ook andere hier iets mee kunnen vandaar dat ik dit project op de site zet.

In de bijlage staat het een en ander wat verder uitgewerkt.






Raages:
Een leuk karwei, ik ben benieuwd hoe het er uit gaat zien.

Ben:

--- Citaat van: Theo op 15 augustus 2016, 09:09:10 ---Hallo allemaal,

Na van de week ben ik weer eens begonnen met het maken van een eigen verkeerslicht. Nou weet ik dat je deze kant en klaar kan kopen, maar ik wil hem zelf helemaal maken. Het grootste probleem zit hem dan in de IC, deze moet je zelf programmeren. Na veel zoeken heb ik nu toch een taal gevonden waarin dit verrassend simpel gaat.

De werkwijze is in hoofdlijnen als volgt:
Het maken van het project komt eigenlijk neer op de volgende stappen:
•   Schrijf het programma in JALedit.
•   Sla je gemaakte programma op als  “Stoplicht .HEX” bestand.
•   Breng je "Stoplicht .HEX" bestand via de PICkit2 over naar je IC 12F675.
•   Soldeer je printplaat.
•   Plaats je IC in je printplaat.
•   Test het geheel.
•   Plaats je printplaat op je baan met de stoplichten.

Het moeilijkste lijkt altijd het programmeren.
Ik heb uiteindelijk het boek 50 PIC Microcontroller voor beginners en experts gekocht.
Hierin werd verwezen naar een simpel programma JALedit om mee te programmeren.

Dit is het programma:

include 12F675_Bert

pin_A0_direction = Output   -- Rood1
pin_A1_direction = Output   -- Geel1
pin_A2_direction = Output   -- Groen1
pin_A3_direction = Output   -- Rood2
pin_A4_direction = Output   -- Geel2
pin_A5_direction = Output   -- Groen2

var volatile bit Rood1  is pin_A0
var volatile bit Geel1  is pin_A1
var volatile bit Groen1 is pin_A2
var volatile bit Rood2  is pin_A3
var volatile bit Geel2  is pin_A4
var volatile bit Groen2 is pin_A5

forever loop

      Groen1 = high      -- stoplicht-1 naar groen en blijft 3 seconde op groen
      Rood1  = low
      delay_1s(3)

      Geel1  = high      -- stoplicht-1 naar geel en blijft 1 seconde op geel
      Groen1 = low
      delay_1s(1)
     
      Rood1  = high      -- stoplicht-1 naar rood en blijft rood, na 1 seconde begint stoplicht-2
      Geel1  = low
      delay_1s(1)
     
      Groen2 = high      -- stoplicht-2 naar groen en blijft 2 seconde op groen
      Rood2  = low
      delay_1s(2)

      Geel2  = high      --  stoplicht-2 naar geel en blijft 1 seconde op geel
      Groen2 = low
      delay_1s(1)

      Rood2  = high      --  stoplicht-2 naar rood en blijft rood, na 1 seconde begint stoplicht-1 weer
      Geel2  = low
      delay_1s(1)
     
end loop

Als je dit hebt geschreven zet het programma het netjes voor je om in een HEX-file.

Met het programma PICkit zet je het programma over op je IC 12F675

De volgende stap is het solderen van je printplaat.

De IC 12F675 kost bij Aliexpress slecht 5 Euro voor 10 stuks.

Deze IC heeft 6 ingangen, die naar wens kan zetten als input of als outputs.
Je kan dus nog veel meer schakelingen maken met deze iC.

Ik heb alles nu bij Aliexpress inmiddels besteld, dus even 4 weken wachten voordat ik weer verder kan.
Maar ik denk dat ook andere hier iets mee kunnen vandaar dat ik dit project op de site zet.

In de bijlage staat het een en ander wat verder uitgewerkt.

--- Einde van citaat ---

Theo:
Zo gaat het printplaatje eruit zien.

Theo:
Hoi allemaal, ik moet toch nog even wachten opdat me spullen uit China binnen komen, dus heb ik nog maar iets geprogrammeerd, een overweg beveilig. Deze IC werkt als volgt:
Wacht totdat er een trein zich aanmeld via b.v. een (of meer) reedcontacten. (tot dan knippert het andreas kruis wit)
Heeft een trein het reedcontact gepasseerd, dan knipperen twee rode LEDs om beurten.
Wacht totdat de trein over de overweg rijdt, hier zit namelijk ook een reedcontact.
Wacht nu nog 1 seconde en zet het witte LED daarna weer knipperend.

Navigatie

[0] Berichtenindex

[#] Volgende pagina

Naar de volledige versie