top of page

Electronics

Class 1

const int red_led_pin = 3;

const int yellow_led_pin = 5;

const int green_led_pin = 7;

int dtime = 100;


void setup() {

  // put your setup code here, to run onc הגדרה שהבין מוצא חשמל

pinMode(red_led_pin, OUTPUT);

pinMode(yellow_led_pin, OUTPUT);

pinMode(green_led_pin, OUTPUT);

}


void loop() {

  // put your main code here, to run repeatedly:הקוד מדליק נורות לפרק זמן מסוים

digitalWrite(red_led_pin, HIGH);

digitalWrite(yellow_led_pin, HIGH);

digitalWrite(green_led_pin, HIGH);

delay(dtime);

digitalWrite(red_led_pin, LOW);

digitalWrite(yellow_led_pin, LOW);

digitalWrite(green_led_pin, LOW);

delay(dtime);

}

Class 2

const int Red_LED_Pin = 7;

const int Yellow_LED_Pin = 9;

const int Green_LED_Pin = 5;

const int Poten_pin = A0;

int Poten_value;

const int Button_pin = 3;


void setup() {

  // put your setup code here, to run once:

pinMode(Red_LED_Pin, OUTPUT);

pinMode(Yellow_LED_Pin, OUTPUT);

pinMode(Green_LED_Pin, OUTPUT);

pinMode(Button_pin, INPUT_PULLUP);

Serial.begin(9600);   //refresh 9600 times per minute

}


void loop() {

  // put your main code here, to run repeatedly:

while(digitalRead(Button_pin)==1){

}


Poten_value = analogRead(Poten_pin);

Serial.println(Poten_value);


if (Poten_value<= 341){

  digitalWrite(Red_LED_Pin, HIGH);

  digitalWrite(Yellow_LED_Pin, LOW);

  digitalWrite(Green_LED_Pin, LOW);

 }

  else if (Poten_value<= 682){

    digitalWrite(Yellow_LED_Pin, HIGH);

    digitalWrite(Red_LED_Pin, LOW);

    digitalWrite(Green_LED_Pin, LOW);


   }

   else {

     digitalWrite(Green_LED_Pin, HIGH);

     digitalWrite(Red_LED_Pin, LOW);

     digitalWrite(Yellow_LED_Pin, LOW);

}

delay(3000);

}

Class 3

Color lamp

const int Rpin = 11;

const int Gpin = 10;

const int Bpin = 9;



void setup() {

  // put your setup code here, to run once:

pinMode (Rpin, OUTPUT);

pinMode (Gpin, OUTPUT);

pinMode (Bpin, OUTPUT);

}


void loop() {

  // put your main code here, to run repeatedly

  for (int i =255; i<=255; i--){

analogWrite(Rpin, i); //red

analogWrite(Gpin, 600); //green

analogWrite(Bpin, 255-i); //blue

delay(50);

}

}

joystick

#include <Servo.h>


Servo myservo;  // create servo object to control a servo


int potpin = 0;  // analog pin used to connect the potentiometer

int val;    // variable to read the value from the analog pin


void setup() {

  myservo.attach(3);  // attaches the servo on pin 9 to the servo object

}


void loop() {

  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)

  val = map(val, 0, 1023, 0, 180);     // scale it to use it with the servo (value between 0 and 180)

  myservo.write(val);                  // sets the servo position according to the scaled value

  delay(15);                           // waits for the servo to get there

}

Class 4

Clock with Date

/* Arduino 'Clock' with LCD (16x2) I2C.




   Components:

                - Arduino Uno

                - LCD I2C (16x2)


   Libraries:

                - LiquidCrystal_I2C library


*/


#include <LiquidCrystal_I2C.h>


LiquidCrystal_I2C lcd(0x27, 16, 2);


const int a_sec = 900; // clock second hand


int Hrs, Mins;

int Secs = 0;

String AmPm;  // to store the string data to display 'AM' or 'PM'

int ampm;     // to store user input

int day, d, m, yr;

char *DAYS[] = {"Mon", "Tues", "Wed", "Thurs", "Fri", "Sat", "Sun"};

char *MONTHS[] = {"Jan", "Feb", "Mar", "Apr", "May", "June",

                  "July", "Aug", "Sep", "Oct", "Nov", "Dec"

                 };


void setup()

{

  Serial.begin(9600);

  lcd.init();

  lcd.backlight();

  clkInit();

}

void loop()

{

  //...Display Time to LCD...

  lcd.setCursor(0, 1);

  lcd.print("Time: ");

  printolcd(Hrs);

  lcd.print(":");

  printolcd(Mins);

  lcd.print(":");

  printolcd(Secs);

  lcd.print(AmPm);


  //...Clock starts...

  Secs++;

  if (Secs == 60) {

    Secs = 0;

    Mins++;

  }

  if (Mins == 60) {

    Mins = 0;

    Hrs++;

  }

  if (Hrs == 13) {

    Hrs = 1;

  }

  if (Hrs == 12 && Mins == 00 && Secs == 00) {

    if (AmPm == "AM") {

      AmPm = "PM";

    }

    else {

      AmPm = "AM";

      d++;

      reset_dom(m); // reset the day to 1 when the days of the month exceed it's limit


      //...Reset LCD row 0 and update date...

      lcd.setCursor(0, 0);

      lcd.print("                    ");

      lcd.setCursor(0, 0);

      lcd.print(DAYS[day]);   // mon, tues, wed... etc.

      lcd.print(", ");

      printolcd(d);

      lcd.print(" ");

      lcd.print(MONTHS[m - 1]);

      lcd.print(" ");

      lcd.print(yr);

      day++;

    }

  }

  if (Hrs==7 & Mins==20){  //alarm that change thr screen to Wake UP

        lcd.setCursor(0, 0);

         lcd.print("Wake Up");

        delay(900);}

  delay(a_sec);  // delay acts as the clock second hand

}



///////////////////////////////////////

////Initialise the 'clock' settings////

///////////////////////////////////////

void clkInit() {


  Serial.println("What is the day today? (1 - 7)");

  Serial.println("\t(1) Monday\n\t(2) Tuesday\n\t(3) Wednesday\n\t(4) Thursday\n\t(5) Friday\n\t(6) Saturday\n\t(7) Sunday");

  while (Serial.available() == 0) {}; // wait for user input

  day = Serial.parseInt(); // store what day is today in integer variable 'day'


  delay(500);


  Serial.println("\nWhat is today's date?");

  Serial.print("Day (1 - 31): ");

  while (Serial.available() == 0) {}; // wait for user input

  d = Serial.parseInt();  // store day in integer variable 'd'

  printoserial(d);


  Serial.print("\nMonth (1 - 12): ");

  while (Serial.available() == 0) {}; // wait for user input

  m = Serial.parseInt();  // store month in integer variable 'm'

  Serial.print(MONTHS[m - 1]);

  Serial.print("\nYear (YYYY): ");

  while (Serial.available() == 0) {}; // wait for user input

  yr = Serial.parseInt(); // store year in integer variable 'yr'

  Serial.print(yr);


  delay(500);


  Serial.print("\n\n\tToday is ");

  Serial.print(DAYS[day - 1]);

  Serial.print(", ");

  printoserial(d);

  Serial.print(" ");

  Serial.print(MONTHS[m - 1]);

  Serial.print(" ");

  Serial.print(yr);

  Serial.print("\n\nIs it - (1)AM or (2)PM ?");

  while (Serial.available() == 0) {};

  ampm = Serial.parseInt();


  delay(500);


  if (ampm == 1) {

    AmPm = "AM";

    Serial.print("\nClock set to AM\n\n");

  }

  if (ampm == 2) {

    AmPm = "PM";

    Serial.print("\nClock set to PM\n\n");

  }


  delay(500);


  Serial.print("Input Hours (1 - 12) : ");

  while (Serial.available() == 0) {} // wait till the user inputs data

  Hrs = Serial.parseInt();

  printoserial(Hrs);


  delay(500);


  Serial.print("\nInput Minutes (0 - 59) : ");

  while (Serial.available() == 0) {} // wait till the user inputs data

  Mins = Serial.parseInt();

  printoserial(Mins);


  delay(500);


  Serial.print("\n\n\tClock set to :  ");


  //...Display time to Serial Monitor...

  printoserial(Hrs);

  Serial.print(":");

  printoserial(Mins);

  Serial.print(AmPm);


  //... Display Date to LCD...

  lcd.setCursor(0, 0);

  lcd.print(DAYS[day - 1]);

  lcd.print(", ");

  printolcd(d);

  lcd.print(" ");

  lcd.print(MONTHS[m - 1]);

  lcd.print(" ");

  lcd.print(yr);

}



//////////////////////////////////////////////////////////////////////////

////To put an extra '0' infront of the variables on the Serial Monitor////

//////////////////////////////////////////////////////////////////////////

void printoserial(int val)

{

  if (val < 10) {

    Serial.print("0");

    Serial.print(val);

  }

  else {

    Serial.print(val);

  }

}


///////////////////////////////////////////////////////////////

////To put an extra '0' infront of the variables on the LCD////

///////////////////////////////////////////////////////////////

void printolcd(int val)

{

  if (val < 10) {

    lcd.print("0");

    lcd.print(val);

  }

  else {

    lcd.print(val);

  }

}


void reset_dom(int var) {

  switch (var) {

    case 1:   // Jan - 31 days

      if (d == 32) {

        d = 1;

        m++;

      }

      break;

    case 2:   // Feb - 28 days

      if (d == 29) {

        d = 1;

        m++;

      }

      break;

    case 3:   // March - 31 days

      if (d == 32) {

        d = 1;

        m++;

      }

      break;

    case 4:   // April - 30 days

      if (d == 31) {

        d = 1;

        m++;

      }

      break;

    case 5:   // May - 31 days

      if (d == 32) {

        d = 1;

        m++;

      }

      break;

    case 6:   // June - 30 days

      if (d == 31) {

        d = 1;

        m++;

      }

      break;

    case 7:   // July - 31 days

      if (d == 32) {

        d = 1;

        m++;

      }

      break;

    case 8:   // August - 31 days

      if (d == 32) {

        d = 1;

        m++;

      }

      break;

    case 9:   // September - 30 days

      if (d == 31) {

        d = 1;

        m++;

      }

      break;

    case 10:  // October - 31 days

      if (d == 32) {

        d = 1;

        m++;

      }

      break;

    case 11:  // November - 30 days

      if (d == 31) {

        d = 1;

        m++;

      }

      break;

    case 12:  // December - 31 days

      if (d == 32) {

        d = 1;

        m++;

      }

      break;

  }

}

View More

  dc1302 לא מצאתי את השעה 

  • Facebook
  • Twitter
  • LinkedIn

©2021 by Flying park. Proudly created with Wix.com

bottom of page