logo
   
hjem | blogg | produkter | programvare | kontakt oss | Vis handlekurv

Trafikklys

Innledning

Mikrokontroller: Atmega16
Utviklingskit: EasyAVR6
Utvidelseskort: Relay4
Annet utstyr: 12v strømforsyning
  Trafikklys for fotgjengerovergang (rød, grønn)
  Trafikklys for biler (rød, gul, grønn)

Trafikklysprosjektet har vi jobbet we sakte men sikkert med i ett par måneder nå, og målet er nådd for fase 1. Vi har implementert tidsstyrt automatikk for biler og fotgjengere som planlagt.

Kildekode

program TrafficLight;

var
  i: byte;

const
  TRAFFIC_RED    = %00000100;
  TRAFFIC_YELLOW = %00000010;
  TRAFFIC_GREEN  = %00000001;
  TRAFFIC_BLANK  = %00000000;

procedure ERR1();
begin
  PORTB := TRAFFIC_BLANK;    // Off
  PORTC := TRAFFIC_YELLOW;   // Road yellow
  Delay_ms(500);
  PORTC := TRAFFIC_BLANK;    // Off
  Delay_ms(500);
end;

procedure INIT1();
begin
  PORTB := TRAFFIC_RED;      // Walk red
  PORTC := TRAFFIC_RED;      // Road red
  Delay_ms(20000);
end;

procedure STEP1();
begin
  PORTC := TRAFFIC_GREEN;    // Road green
  PORTB := TRAFFIC_RED;      // Walk red
  Delay_ms(20000);
end;

procedure STEP3();
begin
  PORTC := TRAFFIC_YELLOW;    // Road green
  PORTB := TRAFFIC_RED;      // Walk red
  Delay_ms(4000);
end;

procedure STEP4();
begin
  PORTC := TRAFFIC_RED;      // Road red
  PORTB := TRAFFIC_RED;      // Walk red
  Delay_ms(4000);
end;

procedure STEP5();
begin
  PORTC := TRAFFIC_RED;      // Road red
  PORTB := TRAFFIC_GREEN;    // Walk green
  Delay_ms(20000);
end;

procedure STEP6();
var
  j: byte;
begin
  PORTC := TRAFFIC_RED;      // Road red
  for j := 0 to 20 do
  begin
    PORTB := TRAFFIC_GREEN;  // Walk green
    Delay_ms(500);
    PORTB := TRAFFIC_BLANK;  // Walk off
    Delay_ms(500);
  end;
end;

procedure STEP7();
begin
  PORTC := TRAFFIC_RED;      // Road red
  PORTB := TRAFFIC_RED;      // Walk red
  Delay_ms(4000);
end;

procedure STEP8();
begin
  PORTC := %00000110;        // Road red/yellow
  PORTB := TRAFFIC_RED;      // Walk red
  Delay_ms(4000);
end;

procedure PedestrianLightGreen();
begin
  PORTB := TRAFFIC_GREEN;    // Walk green
end;


begin
  DDRB := 0xFF;             // Set direction to be output
  DDRC := 0xFF;             // Set direction to be output
    
  for i := 0 to 20 do
  begin
    ERR1();
  end;
    INIT1();
    
    while TRUE do
      begin
        STEP4();
        STEP5();
        STEP6();
        STEP7();
        STEP8();
        STEP1();
        STEP3();
      end;                    // Endless loop}
  end.
        

Nedlastinger

Last ned kildekode og HEX fil for dette prosjektet

Har du spørsmål om prosjektet, kontakt Stine Urke :-)

 


Dette eksempelet er et prosjekt mellom Stormvest AS og Stine Urke for å promotere og vise at produktene fra mikroElektronika og Stormvest AS er de enkleste og beste i sitt segment - perfekte for alle fra nybegynnere til proffer.

  • hjem
  • blogg
  • produkter
  • programvare
  • kontakt oss





 

 


Hurtiglenker
- Support
- LibStock
- Dokumentasjon
- Ressurser
- Komponenter
- Ofte stilte spørsmål
HexBug Nano
Hexbug Nano Micro-robotic Creature. Mother Nature meets micro-robotics with Hexbug Nano.
les mer.....
Kontakt Oss

Stormvest AS
Breivika Industrivei 41
6018 Ålesund

e-mail
 

2Checkout.com is a worldwide leader in online payment services

© Copyright 2011 - Stormvest AS (Template by The Template Store)