Codigos
En esta sección podrás descargar los códigos usados en el proyecto, este es de uso abierto.
--------------------------------------------------------------------------------------------------------------------------
// X1 X2X3
#include <Servo.h>
#include "HX711.h"
#define DOUT A1
#define CLK A0
int estado=0;
float peso;
Servo miservo1;
HX711 balanza(DOUT, CLK);
int poder=53;
int led11 = 22;
int led12 = 23;
int led13 = 24;
int f1=25;
int led21 = 26;
int led22 = 27;
int led23 = 28;
int f2=29;
int led31 = 30;
int led32 = 31;
int led33 = 32;
int f3=33;
int led41 = 34;
int led42 = 35;
int led43 = 36;
int f4=37;
int boton=10;
int pos=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
balanza.set_scale(439430.25); // Establecemos la escala
balanza.tare(20); //El peso actual es considerado Tara.
miservo1.attach(8,500,2650);
pinMode(f1, OUTPUT);
pinMode(f2, OUTPUT);
pinMode(f3, OUTPUT);
pinMode(f4, OUTPUT);
pinMode(poder, OUTPUT);
pinMode(boton, INPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led13, OUTPUT);
pinMode(led21, OUTPUT);
pinMode(led22, OUTPUT);
pinMode(led23, OUTPUT);
pinMode(led31, OUTPUT);
pinMode(led32, OUTPUT);
pinMode(led33, OUTPUT);
pinMode(led31, OUTPUT);
pinMode(led32, OUTPUT);
pinMode(led33, OUTPUT);
pinMode(led41, OUTPUT);
pinMode(led42, OUTPUT);
pinMode(led43, OUTPUT);
digitalWrite(f1, HIGH);
digitalWrite(f2, HIGH);
digitalWrite(f3, HIGH);
digitalWrite(f4, HIGH);
digitalWrite(poder, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
//Serial.println(balanza.get_units(20),3);
if(digitalRead(boton) == LOW){
peso=balanza.get_units(10),3;
if(peso<0.200){
//Serial.println("Rojo");
//ROJO
digitalWrite(led11, LOW);
digitalWrite(led21, LOW);
digitalWrite(led31, LOW);
digitalWrite(led41, LOW);
digitalWrite(led12, HIGH);
digitalWrite(led22, HIGH);
digitalWrite(led32, HIGH);
digitalWrite(led42, HIGH);
digitalWrite(led13, HIGH);
digitalWrite(led23, HIGH);
digitalWrite(led33, HIGH);
digitalWrite(led43, HIGH);
}
if((peso>=0.200)and(peso<0.400)){
//Serial.println("Naranja");
//NARANJA
digitalWrite(led11, LOW);
digitalWrite(led21, LOW);
digitalWrite(led31, LOW);
digitalWrite(led41, LOW);
digitalWrite(led12, LOW);
digitalWrite(led22, LOW);
digitalWrite(led32, LOW);
digitalWrite(led42, LOW);
digitalWrite(led13, HIGH);
digitalWrite(led23, HIGH);
digitalWrite(led33, HIGH);
digitalWrite(led43, HIGH);
}
if((peso>=0.400)and(peso<0.600)){
//Serial.println("Azul");
//AZUL
digitalWrite(led11, HIGH);
digitalWrite(led21, HIGH);
digitalWrite(led31, HIGH);
digitalWrite(led41, HIGH);
digitalWrite(led13, LOW);
digitalWrite(led23, LOW);
digitalWrite(led33, LOW);
digitalWrite(led43, LOW);
digitalWrite(led12, HIGH);
digitalWrite(led22, HIGH);
digitalWrite(led32, HIGH);
digitalWrite(led42, HIGH);
}
if((peso>=0.600)and(peso<0.800)){
//CELESTE
//Serial.println("Celeste");
digitalWrite(led11, HIGH);
digitalWrite(led21, HIGH);
digitalWrite(led31, HIGH);
digitalWrite(led41, HIGH);
digitalWrite(led12, LOW);
digitalWrite(led22, LOW);
digitalWrite(led32, LOW);
digitalWrite(led42, LOW);
digitalWrite(led13, LOW);
digitalWrite(led23, LOW);
digitalWrite(led33, LOW);
digitalWrite(led43, LOW);
}
if(peso>=0.800){
//Serial.println("Verde");
//VERDE
digitalWrite(led11, HIGH);
digitalWrite(led21, HIGH);
digitalWrite(led31, HIGH);
digitalWrite(led41, HIGH);
digitalWrite(led13, HIGH);
digitalWrite(led23, HIGH);
digitalWrite(led33, HIGH);
digitalWrite(led43, HIGH);
digitalWrite(led12, LOW);
digitalWrite(led22, LOW);
digitalWrite(led32, LOW);
digitalWrite(led42, LOW);
}
}
else {
//Serial.println("Servo- Boton");
for(pos=0; pos<=180; pos++){
miservo1.write(pos);
}
delay(2000);
for(pos=180; pos>=0; pos--){
miservo1.write(pos);
}
}
if(Serial.available()>0){
estado = Serial.read();
//Serial.println("Servo- App");
}
if (estado =='1'){
for(pos=0; pos<=180; pos++){
miservo1.write(pos);
}
delay(2000);
for(pos=180; pos>=0; pos--){
miservo1.write(pos);
}
estado='0';
}
if (estado =='2'){
for(pos=0; pos<=180; pos++){
miservo1.write(pos);
}
delay(4000);
for(pos=180; pos>=0; pos--){
miservo1.write(pos);
}
estado='0';
}
if (estado =='3'){
for(pos=0; pos<=180; pos++){
miservo1.write(pos);
}
delay(6000);
for(pos=180; pos>=0; pos--){
miservo1.write(pos);
}
estado='0';
}
}
----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
// X1 X2X3
#include <Servo.h>
#include "HX711.h"
#define DOUT A1
#define CLK A0
int estado=0;
float peso;
Servo miservo1;
HX711 balanza(DOUT, CLK);
int poder=53;
int led11 = 22;
int led12 = 23;
int led13 = 24;
int f1=25;
int led21 = 26;
int led22 = 27;
int led23 = 28;
int f2=29;
int led31 = 30;
int led32 = 31;
int led33 = 32;
int f3=33;
int led41 = 34;
int led42 = 35;
int led43 = 36;
int f4=37;
int boton=10;
int pos=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
balanza.set_scale(439430.25); // Establecemos la escala
balanza.tare(20); //El peso actual es considerado Tara.
miservo1.attach(8,500,2650);
pinMode(f1, OUTPUT);
pinMode(f2, OUTPUT);
pinMode(f3, OUTPUT);
pinMode(f4, OUTPUT);
pinMode(poder, OUTPUT);
pinMode(boton, INPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led13, OUTPUT);
pinMode(led21, OUTPUT);
pinMode(led22, OUTPUT);
pinMode(led23, OUTPUT);
pinMode(led31, OUTPUT);
pinMode(led32, OUTPUT);
pinMode(led33, OUTPUT);
pinMode(led31, OUTPUT);
pinMode(led32, OUTPUT);
pinMode(led33, OUTPUT);
pinMode(led41, OUTPUT);
pinMode(led42, OUTPUT);
pinMode(led43, OUTPUT);
digitalWrite(f1, HIGH);
digitalWrite(f2, HIGH);
digitalWrite(f3, HIGH);
digitalWrite(f4, HIGH);
digitalWrite(poder, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
//Serial.println(balanza.get_units(20),3);
if(digitalRead(boton) == LOW){
peso=balanza.get_units(10),3;
if(peso<0.200){
//Serial.println("Rojo");
//ROJO
digitalWrite(led11, LOW);
digitalWrite(led21, LOW);
digitalWrite(led31, LOW);
digitalWrite(led41, LOW);
digitalWrite(led12, HIGH);
digitalWrite(led22, HIGH);
digitalWrite(led32, HIGH);
digitalWrite(led42, HIGH);
digitalWrite(led13, HIGH);
digitalWrite(led23, HIGH);
digitalWrite(led33, HIGH);
digitalWrite(led43, HIGH);
}
if((peso>=0.200)and(peso<0.400)){
//Serial.println("Naranja");
//NARANJA
digitalWrite(led11, LOW);
digitalWrite(led21, LOW);
digitalWrite(led31, LOW);
digitalWrite(led41, LOW);
digitalWrite(led12, LOW);
digitalWrite(led22, LOW);
digitalWrite(led32, LOW);
digitalWrite(led42, LOW);
digitalWrite(led13, HIGH);
digitalWrite(led23, HIGH);
digitalWrite(led33, HIGH);
digitalWrite(led43, HIGH);
}
if((peso>=0.400)and(peso<0.600)){
//Serial.println("Azul");
//AZUL
digitalWrite(led11, HIGH);
digitalWrite(led21, HIGH);
digitalWrite(led31, HIGH);
digitalWrite(led41, HIGH);
digitalWrite(led13, LOW);
digitalWrite(led23, LOW);
digitalWrite(led33, LOW);
digitalWrite(led43, LOW);
digitalWrite(led12, HIGH);
digitalWrite(led22, HIGH);
digitalWrite(led32, HIGH);
digitalWrite(led42, HIGH);
}
if((peso>=0.600)and(peso<0.800)){
//CELESTE
//Serial.println("Celeste");
digitalWrite(led11, HIGH);
digitalWrite(led21, HIGH);
digitalWrite(led31, HIGH);
digitalWrite(led41, HIGH);
digitalWrite(led12, LOW);
digitalWrite(led22, LOW);
digitalWrite(led32, LOW);
digitalWrite(led42, LOW);
digitalWrite(led13, LOW);
digitalWrite(led23, LOW);
digitalWrite(led33, LOW);
digitalWrite(led43, LOW);
}
if(peso>=0.800){
//Serial.println("Verde");
//VERDE
digitalWrite(led11, HIGH);
digitalWrite(led21, HIGH);
digitalWrite(led31, HIGH);
digitalWrite(led41, HIGH);
digitalWrite(led13, HIGH);
digitalWrite(led23, HIGH);
digitalWrite(led33, HIGH);
digitalWrite(led43, HIGH);
digitalWrite(led12, LOW);
digitalWrite(led22, LOW);
digitalWrite(led32, LOW);
digitalWrite(led42, LOW);
}
}
else {
//Serial.println("Servo- Boton");
for(pos=0; pos<=180; pos++){
miservo1.write(pos);
}
delay(2000);
for(pos=180; pos>=0; pos--){
miservo1.write(pos);
}
}
if(Serial.available()>0){
estado = Serial.read();
//Serial.println("Servo- App");
}
if (estado =='1'){
for(pos=0; pos<=180; pos++){
miservo1.write(pos);
}
delay(2000);
for(pos=180; pos>=0; pos--){
miservo1.write(pos);
}
estado='0';
}
if (estado =='2'){
for(pos=0; pos<=180; pos++){
miservo1.write(pos);
}
delay(4000);
for(pos=180; pos>=0; pos--){
miservo1.write(pos);
}
estado='0';
}
if (estado =='3'){
for(pos=0; pos<=180; pos++){
miservo1.write(pos);
}
delay(6000);
for(pos=180; pos>=0; pos--){
miservo1.write(pos);
}
estado='0';
}
}
----------------------------------------------------------------------------------------------------------------------
Comentarios
Publicar un comentario