Digital material culture
yuval basteker
ARDUINO
//
const int red1_led_pin=3;
const int green1_led_pin=4;
const int yellow_led_pin=5;
const int red2_led_pin=6;
const int green2_led_pin=7;
const int dtime=50;
void setup() {
// put your setup code here, to run once:
pinMode(red1_led_pin,OUTPUT);
pinMode(green1_led_pin,OUTPUT);
pinMode(yellow_led_pin,OUTPUT);
pinMode(red2_led_pin,OUTPUT);
pinMode(green2_led_pin,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(red1_led_pin, HIGH);
delay(dtime);
digitalWrite(red1_led_pin, LOW);
digitalWrite(green1_led_pin, HIGH);
delay(dtime);
digitalWrite(green1_led_pin, LOW);
digitalWrite(yellow_led_pin, HIGH);
delay(dtime);
digitalWrite(yellow_led_pin, LOW);
digitalWrite(red2_led_pin, HIGH);
delay(dtime);
digitalWrite(red2_led_pin, LOW);
digitalWrite(green2_led_pin, HIGH);
delay(dtime);
digitalWrite(green2_led_pin, LOW);
delay(dtime);
}
class 1

Deley time - 50



Deley time - 100
class 2
button control
const int Yellow_LED_Pin = 3;
const int Red_LED_Pin = 4;
const int Green_LED_Pin = 5;
const int Poten_pin = A1;
int Poten_value;
const int button_pin=2;
bool button_state = false ;
void setup() {
// put your setup code here, to run once:
pinMode(Yellow_LED_Pin, OUTPUT);
pinMode(Red_LED_Pin, OUTPUT);
pinMode(Green_LED_Pin, OUTPUT);
Serial.begin(9600);
pinMode(button_pin, INPUT_PULLUP);
// 9600 זה מספר הרענונים בשניה שהארדואינו והמחשב מתקשרים זה מספר קבוע
}
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead(button_pin) == 0){
button_state= !button_state;
}
if (button_state == true){
Poten_value=analogRead(Poten_pin);
Serial.println(Poten_value);
if(Poten_value<=341){
digitalWrite(Yellow_LED_Pin, HIGH);
digitalWrite(Red_LED_Pin, LOW);
digitalWrite(Green_LED_Pin, LOW);
}
else if(Poten_value<=682){
digitalWrite(Red_LED_Pin, HIGH);
digitalWrite(Yellow_LED_Pin, LOW);
digitalWrite(Green_LED_Pin, LOW);
}
else{
digitalWrite(Green_LED_Pin, HIGH);
digitalWrite(Yellow_LED_Pin, LOW);
digitalWrite(Red_LED_Pin, LOW);;
}
delay(50);
}
else {
// button_state= !button_state;
digitalWrite(Green_LED_Pin, LOW);
digitalWrite(Yellow_LED_Pin, LOW);
digitalWrite(Red_LED_Pin, LOW);
}
delay (50);
}


RGB
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>=0 ;i--){
analogWrite(Bpin,i);
analogWrite(Gpin,100);
analogWrite(Rpin,255-i);
delay (1);}
for(int i=0; i<=255 ;i++){
analogWrite(Bpin,i);
analogWrite(Gpin,100);
analogWrite(Rpin,255-i);
delay (1);
}
}



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(10); // waits for the servo to get there
}


Distance Meter
#include <LiquidCrystal_I2C.h> // Library for LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows
const int trigPin = A2;
const int echoPin = A3;
const int Red_LED_Pin = 3;
const int Green_LED_Pin = 4;
const int Yellow_LED_Pin = 5;
long time;
int distance;
void setup() {
// put your setup code here, to run once:
pinMode(Yellow_LED_Pin, OUTPUT);
pinMode(Red_LED_Pin, OUTPUT);
pinMode(Green_LED_Pin, OUTPUT);
lcd.init(); // initialize the lcd
lcd.backlight();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.print(" Distance Meter");
delay(2000);
}
void loop() {
lcd.clear();
// put your main code here, to run repeatedly:
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
time = pulseIn(echoPin, HIGH);
distance= time*0.034/2;
lcd.setCursor(0,0);
lcd.print("Distance:");
lcd.print(distance);
lcd.print("cm");
if (distance<=5){
digitalWrite(Green_LED_Pin, LOW);
digitalWrite(Yellow_LED_Pin, LOW);
digitalWrite(Red_LED_Pin, HIGH);;
}
else if (distance<=10){
digitalWrite(Green_LED_Pin, HIGH);
digitalWrite(Yellow_LED_Pin, LOW);
digitalWrite(Red_LED_Pin, LOW);;
}
else {
digitalWrite(Green_LED_Pin, LOW);
digitalWrite(Yellow_LED_Pin, HIGH);
digitalWrite(Red_LED_Pin, LOW);;
}
delay(1000);
}

:כאשר המרחק של האובייקט הוא
עד 5 ס"מ (כולל) - הנורה האדומה דולקת#
יותר גדול מ 5 ועד 10 ס"מ (כולל)- הנורה הירוקה דולקת#
מעל 10 ס"מ - הנורה הצהובה דולקת#
. (int) בנוסף ניתן לראות במסך את המרחק מהאובייקט בס"מ. בתצוגה של מספר שלם






