6

Login - Tinkercad
What difference between rand() and random() functions?
Once, my teacher taught me to use randomize() and random() function for generating pseudorandom numbers in C++ Builder. Now I prefer working in VS 2012, but when I tried to use these functions ther…

wiki.robisz.to <----

btn zmieniający diodę bez pamięci stanu btn:

bool isLedOn = false;
void setup() {  
  pinMode(8,INPUT);  
  pinMode(2,OUTPUT);  
  Serial.begin(9600);  
  Serial.println("Starting, state:");  
  Serial.println(isLedOn);
}
void switchState(int pinNo){  
  if(isLedOn == false){    
    digitalWrite(2,HIGH);    
    isLedOn = true;      
    Serial.println("Changing state:");      
    Serial.println(isLedOn);
  }  
  else{    
    digitalWrite(2,LOW);    
    isLedOn = false;     
    Serial.println("Changing state:");    
    Serial.println(isLedOn);  
  }
}
void loop() { 
  if(digitalRead(8)){    
    switchState(2);  
  }    
  delay(500);}

blink fnc:

void blink(int pinNo, int times, int frequency){  
  for(int i=0;i<times;i++){   
    digitalWrite(pinNo,HIGH);   
    delay(frequency);    
    digitalWrite(pinNo,LOW);    
    delay(frequency);  
  }
}

btn zapalajacy/gaszacy diode z z pamięcią stanu btn:

  bool isLedOn = false;
  bool btnState = 0;

void setup() {
  pinMode(8,INPUT);
  pinMode(2,OUTPUT);
  Serial.begin(9600);
  Serial.println("Starting, state:");
  Serial.println(isLedOn);
}

void switchState(int pinNo){
  if(isLedOn == false){
    digitalWrite(2,HIGH);
    isLedOn = true;
      Serial.println("Changing state:");
      Serial.println(isLedOn);

  }
  else{
    digitalWrite(2,LOW);
    isLedOn = false;
     Serial.println("Changing state:");
    Serial.println(isLedOn);
  }

}

void loop() {
  if(digitalRead(8) == 1){
    Serial.println("Button state:");
    Serial.println(btnState);
    if(btnState == 0){
    switchState(2);
  }
    btnState = 1;
  }
  if(digitalRead(8) == 0){
    btnState = 0;
  }
    delay(100);
}

The RX and TX LEDs on the board flashes when data is being transmitted via the USB-to-serial chip and USB connection to the computer. The RX and TX LEDs on the board does not flash for serial communication on pins 0 and 1. Receiver (Rx) and transmitter (Tx) data packets are similar in most protocols depending on which user-end (sender/receiver) is looked at. The framework around Rx and Tx data packets have different header tail, checksum etc. Bigger framework is needed for the Tx packets as they need to find the routing path through the network.

Btn generate number from 1-10 then msg on release

  bool btnState = 0;

void setup() {
  pinMode(8,INPUT);
  Serial.begin(9600);
  Serial.println("Starting, press button to get a number:");
}
int getNumber(){
  return random(1,11);
}

void loop() {
  if(digitalRead(8)==1){
    if(btnState == 0){
      Serial.println(getNumber());
    }
    btnState = 1;
  }
  if(digitalRead(8)==0){
    if(btnState == 1){
      Serial.println("Press button to get a number");
    }
    btnState = 0;
  }
}

Zad do sygnalizacji swietlnej: przycisk, po 2 s zielone, po 3 s miga, czerwone az do przycisku

void setup()
{
  pinMode(10, OUTPUT);//green
  pinMode(9, OUTPUT);//ylow
  pinMode(8, OUTPUT);//red
  pinMode(2, INPUT);//btn
  digitalWrite(8,HIGH);
}

void loop()
{
  if(digitalRead(2)){
   delay(2000);
   digitalWrite(9,HIGH);
   delay(200);
   digitalWrite(8,LOW);
   digitalWrite(9,LOW);
   digitalWrite(10,HIGH);
   delay(3000);
    for(int i=0;i<6;i++){
     digitalWrite(10,LOW);
     delay(100);
     digitalWrite(10,HIGH);
     delay(100);
    }
    digitalWrite(10,LOW);
    digitalWrite(9,HIGH);
    delay(200);
    digitalWrite(9,LOW);
    digitalWrite(8,HIGH);
  }
}

Co wyżej ale gorzej bo z pieszymi i funkcjami i zmienną która nie jest w sumie potrzebna, biała dioda sygnalizuje ze przycisk zostal wcisniety i czekamy

bool isRed = false;
void setup()
{
  pinMode(4, OUTPUT);//red
  pinMode(5, OUTPUT);//yellow
  pinMode(6, OUTPUT);//green
  pinMode(8, OUTPUT); //pedestrian green
  pinMode(10, OUTPUT);//pedestrian red
  pinMode(12, OUTPUT);//button pressed diode
  pinMode(2, INPUT);//btn
  pinMode(13, INPUT);//btn

  digitalWrite(6, HIGH);
  digitalWrite(8, HIGH);
  Serial.begin(9600);
  Serial.println("Starting...");
  	digitalWrite(12,HIGH);
	delay(500);
  	digitalWrite(12,LOW);


  
}
void turnRed(){
  Serial.println("Turning red:");
  Serial.print("isRed: ");
  Serial.println(isRed);
  digitalWrite(6, LOW);
  digitalWrite(5, HIGH);
  delay(200);
  digitalWrite(5, LOW);
  digitalWrite(4, HIGH);
  isRed = true;
}

void turnGreen(){
  Serial.println("Turning Green:");
  Serial.print("isRed: ");
  Serial.println(isRed);
  isRed = false;
  digitalWrite(5, HIGH);
  delay(200);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
}
void blink(int pinNo, int frequency, int times){
  for(int i=0;i<times;i++){
    digitalWrite(pinNo,HIGH);
    delay(frequency);
    digitalWrite(pinNo,LOW);
    delay(frequency);

  }
}
void letPedestrians(){
  if(isRed){
    digitalWrite(8, LOW);
    digitalWrite(10, HIGH);
    delay(1000);
    blink(10,300,5);
    digitalWrite(8, HIGH);

  }
}

void loop()
{
  if(digitalRead(2)){
    Serial.println("Button pressed");
    digitalWrite(12,HIGH);
    if(!isRed){
      delay(1000);
      turnRed();
      delay(100);
      letPedestrians();
    	}
    }
  if(!digitalRead(2)){
	digitalWrite(12,LOW);
    if(isRed){
	  turnGreen();
    }
  }
}