Buketkaya
Üye
- Mesajlar
- 5
Tubitak projesi acil yardım
Arduıno ile sallama çay makinası yapımı
Merhaba arkadaşlar, projeyi benden önceki bilgisayar öğretmenimiz yazmış o olmadığı için ben uygulayacağım. Arduıno ile sallama çay makinası yapacam ,sallama çayı türüne göre belirli bir dakikada demleme işlemi yapcak,Arduıno uno üzerinde bağlantı şemasında birden fazla A0 giriş yeri var bunu nasıl çoğaltacam bilmiyorum , internet üzerinde kodlar da var ama yeterli değil bende kodlara çok hakim olmadığım için projeyi tamamlayamadım ,kodlarda da eksikliklere var ,kodlar aşağıdaki gibi yalnız kodlarda çalışmıyor hata veriyor , kodlar içinde yarımcı olursanız sevinirim.
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x3f, 16, 2);
Servo servoMotor;
int screenLED = 6;
int servoPin = 7;
int startButton = 8;
int buzzer = 9;
int teaPot = A0;
boolean diagnosticBit = LOW;
int timer = 0;
int oldTimer = 0;
boolean inProcess = LOW;
int servoHighPosition = 120;
int servoMidPosition = 100;
int servoLowPosition = 70;
int servoSpeed = 35;
long idleTime = 0;
void setup() {
pinMode(screenLED, OUTPUT);
pinMode(servoPin, OUTPUT);
pinMode(startButton, INPUT_PULLUP);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
servoMotor.attach(servoPin);
servoMotor.write(servoHighPosition);
if (!diagnosticBit){
tone(buzzer, 1000, 200);
}
Serial.println("Sistem Tamam");
lcd.begin();
lcd.backlight();
lcd.print("Cay Makinesi");
lcd.setCursor(0, 1);
lcd.print("Proje Hocam");
fadeLightOn(screenLED);
clearScreen();
if (!diagnosticBit){
tone(buzzer, 1000, 200);
}
updateIdleTime();
}
void loop() {
if (idleTime < millis()){
fadeLightOff(screenLED);
idleTime = 2147483647;
}
if (diagnosticBit && millis()%1000 == 0){
Serial.println(idleTime);
Serial.println(millis());
Serial.println("");
}
if (millis() % 30 == 0){
oldTimer = timer;
timer = rawToTime(analogRead(teaPot));
if (oldTimer != timer){
lcd.setCursor(0, 0);
lcd.print(teaName(rawToTime(analogRead(teaPot))));
lcd.setCursor(3, 1);
lcd.print(timeString(0));
lcd.setCursor(8, 1);
lcd.print(timeString(timer));
delay(300);
updateIdleTime();
}
}
if (!digitalRead(startButton)){
inProcess = HIGH;
Serial.println("Start Button is pressed");
// Move servo to low position to dunk tea (0-179)
servoMotor.write(servoLowPosition);
updateIdleTime();
delay(300);
}
if (inProcess == HIGH){
Serial.println("inProcess is HIGH");
for (int i = 0; i < timer; i++){
lcd.setCursor(3, 1);
lcd.print(timeString(i));
delay(1000);
}
for (int i = servoLowPosition; i < servoHighPosition; i++){
servoMotor.write(i);
delay(servoSpeed);
}
for (int i = 0; i < 3; i ++){
servoMotor.write(servoHighPosition);
delay(200);
if (!diagnosticBit){
tone(buzzer, 1000, 100);
}
servoMotor.write(servoMidPosition);
delay(servoLowPosition);
}
servoMotor.write(servoHighPosition);
updateIdleTime();
inProcess = LOW;
}
}
Arduıno ile sallama çay makinası yapımı
Merhaba arkadaşlar, projeyi benden önceki bilgisayar öğretmenimiz yazmış o olmadığı için ben uygulayacağım. Arduıno ile sallama çay makinası yapacam ,sallama çayı türüne göre belirli bir dakikada demleme işlemi yapcak,Arduıno uno üzerinde bağlantı şemasında birden fazla A0 giriş yeri var bunu nasıl çoğaltacam bilmiyorum , internet üzerinde kodlar da var ama yeterli değil bende kodlara çok hakim olmadığım için projeyi tamamlayamadım ,kodlarda da eksikliklere var ,kodlar aşağıdaki gibi yalnız kodlarda çalışmıyor hata veriyor , kodlar içinde yarımcı olursanız sevinirim.
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x3f, 16, 2);
Servo servoMotor;
int screenLED = 6;
int servoPin = 7;
int startButton = 8;
int buzzer = 9;
int teaPot = A0;
boolean diagnosticBit = LOW;
int timer = 0;
int oldTimer = 0;
boolean inProcess = LOW;
int servoHighPosition = 120;
int servoMidPosition = 100;
int servoLowPosition = 70;
int servoSpeed = 35;
long idleTime = 0;
void setup() {
pinMode(screenLED, OUTPUT);
pinMode(servoPin, OUTPUT);
pinMode(startButton, INPUT_PULLUP);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
servoMotor.attach(servoPin);
servoMotor.write(servoHighPosition);
if (!diagnosticBit){
tone(buzzer, 1000, 200);
}
Serial.println("Sistem Tamam");
lcd.begin();
lcd.backlight();
lcd.print("Cay Makinesi");
lcd.setCursor(0, 1);
lcd.print("Proje Hocam");
fadeLightOn(screenLED);
clearScreen();
if (!diagnosticBit){
tone(buzzer, 1000, 200);
}
updateIdleTime();
}
void loop() {
if (idleTime < millis()){
fadeLightOff(screenLED);
idleTime = 2147483647;
}
if (diagnosticBit && millis()%1000 == 0){
Serial.println(idleTime);
Serial.println(millis());
Serial.println("");
}
if (millis() % 30 == 0){
oldTimer = timer;
timer = rawToTime(analogRead(teaPot));
if (oldTimer != timer){
lcd.setCursor(0, 0);
lcd.print(teaName(rawToTime(analogRead(teaPot))));
lcd.setCursor(3, 1);
lcd.print(timeString(0));
lcd.setCursor(8, 1);
lcd.print(timeString(timer));
delay(300);
updateIdleTime();
}
}
if (!digitalRead(startButton)){
inProcess = HIGH;
Serial.println("Start Button is pressed");
// Move servo to low position to dunk tea (0-179)
servoMotor.write(servoLowPosition);
updateIdleTime();
delay(300);
}
if (inProcess == HIGH){
Serial.println("inProcess is HIGH");
for (int i = 0; i < timer; i++){
lcd.setCursor(3, 1);
lcd.print(timeString(i));
delay(1000);
}
for (int i = servoLowPosition; i < servoHighPosition; i++){
servoMotor.write(i);
delay(servoSpeed);
}
for (int i = 0; i < 3; i ++){
servoMotor.write(servoHighPosition);
delay(200);
if (!diagnosticBit){
tone(buzzer, 1000, 100);
}
servoMotor.write(servoMidPosition);
delay(servoLowPosition);
}
servoMotor.write(servoHighPosition);
updateIdleTime();
inProcess = LOW;
}
}