Cuprins:

NOCAR (Notificare De Carga): 5 pași
NOCAR (Notificare De Carga): 5 pași

Video: NOCAR (Notificare De Carga): 5 pași

Video: NOCAR (Notificare De Carga): 5 pași
Video: (5) Educatie financiara pentru femei. {Planificarea bugetului}. Dezvoltare personala. Motivatie 2024, Noiembrie
Anonim
NOCAR (Notificare De Carga)
NOCAR (Notificare De Carga)

Abstract

Creăm noi tehnologii și tehnici în fiecare an. În trecut, mașina cu aburi a fost primul pas al unui lucru pe care l-am numit Revoluția Industrială. Ființa umană nu a zăbovit de atunci. Am creat mașini pentru a ne ușura viața și, de fiecare dată, încercăm să îmbunătățim lucrurile și procesele pe care le-am făcut deja.

Mașina modernă a fost introdusă pentru prima dată în 1886. De atunci, a avut o dezvoltare importantă în multe privințe. De la limita de viteză, până la controlul greutății, aceasta s-a schimbat și a luat multe căi. O nouă tehnologie a făcut ca mașina să nu necesite combustibili fosili: mașina hibridă. Cu toate acestea, această metodă are limite mai restrânse. Un dezavantaj este timpul necesar reîncărcării. Nu este atât de ușor să te duci la benzinărie și să umple rezervorul în câteva minute. Unele mașini au nevoie de ore pentru a finaliza reîncărcarea. Cu toate acestea, multe dintre benzinării se află în apropierea unei zone de recreere sau a unei zone comerciale. Și are sens, dacă îți ia mai mult timp să îți umpli bateria, nu are rost să fii acolo tot timpul, așa că îți oferă posibilitatea de a merge oriunde vrei între timp. Cu toate acestea, odată cu încărcarea mașinii, dacă nu v-ați scos mașina din stația de taxare, va fi aplicată o amendă asupra mașinii. Obiectivul acestui produs este de a rezolva o problemă normală în viitoarele mașini hibride (mașinile hibride au un mare pariu pe masă). Implementăm un sistem de circuite folosind un Dragonboard 410c. Vă trimite un e-mail pentru a vă avertiza că încărcarea cu energie a mașinii dvs. este de până la un anumit procent. În acest fel, vă puteți desfășura activitățile fără să vă faceți griji dacă mașina dvs. încă se încarcă sau dacă este gata (și probabil că va primi o amendă). Deși aici, în Mexic, acest tip de problemă nu pare să apară, mai devreme decât ne așteptăm că noile sisteme vor avea loc asupra combustibililor fosili, iar mașinile hibride vor avea un rol important. Au fost stabilite noi legi, iar amenzile sunt acum un fapt, nu o idee îndepărtată.

Credit de imagine: Clipper Creek: Stații de încărcare pentru vehicule electrice

Pasul 1: Materiale

  • DragonBoard 410c
  • Mezanin pentru 96 de panouri
  • Protoboard
  • Sârmă jumper
  • Apasa butonul
  • Rezistor 10 ohm
  • Potențiometru 10k ohm
  • Condensator 150 pF
  • Chip ADC0804

Pasul 2: Cod

#include

#include

#include

#include "libsoc_gpio.h"

#include "libsoc_debug.h"

#include "libsoc_board.h"

nesemnat int GPIO_PIN1;

nesemnat int GPIO_PIN2;

unsigned int GPIO_PIN3;

nesemnat int GPIO_PIN4;

unsigned int GPIO_TRANSIS;

unsigned int GPIO_SELECT;

nesemnat int GPIO_ENTER;

nesemnat int GPIO_LEDTEST;

int pavilion;

int valorBoton;

int valorLEDTest;

int pin1_state = 0;

int pin2_state = 0;

int pin3_state = 0;

int pin4_state = 0;

int last_touch_pin1;

int last_touch_p1;

int last_touch_pin2;

int last_touch_p2;

int last_touch_pin3;

int last_touch_p3;

int last_touch_pin4;

int last_touch_p4;

int select_state = 0;

int enter_state = 0;

int transis_state = 0;

int last_touch_b;

int last_touch_l;

int led_state = 0;

int buzzer_state = 0;

int rulare = 1;

_attribute _ ((constructor)) static void _init ()

{

board_config * config = libsoc_board_init ();

GPIO_PIN1 = libsoc_board_gpio_id (config, "GPIO-A");

GPIO_PIN2 = libsoc_board_gpio_id (config, "GPIO-B");

GPIO_PIN3 = libsoc_board_gpio_id (config, "GPIO-C");

GPIO_PIN4 = libsoc_board_gpio_id (config, "GPIO-D");

GPIO_TRANSIS = libsoc_board_gpio_id (config, "GPIO-E");

GPIO_SELECT = libsoc_board_gpio_id (config, "GPIO-G");

GPIO_ENTER = libsoc_board_gpio_id (config, "GPIO-H");

GPIO_LEDTEST = libsoc_board_gpio_id (config, "GPIO-I");

libsoc_board_free (config);

}

int main ()

{

gpio * gpio_pin1, * gpio_pin2, * gpio_pin3, * gpio_pin4, * gpio_transis, * gpio_select, * gpio_enter, * gpio_ledtest;

int touch_pin1;

int touch_pin2;

int touch_pin3;

int touch_pin4;

int touch_transis;

int touch_select;

int touch_enter;

int touch_ledtest;

libsoc_set_debug (0);

gpio_pin1 = libsoc_gpio_request (GPIO_PIN1, LS_SHARED);

gpio_pin2 = libsoc_gpio_request (GPIO_PIN2, LS_SHARED);

gpio_pin3 = libsoc_gpio_request (GPIO_PIN3, LS_SHARED);

gpio_pin4 = libsoc_gpio_request (GPIO_PIN4, LS_SHARED);

gpio_transis = libsoc_gpio_request (GPIO_TRANSIS, LS_SHARED);

gpio_select = libsoc_gpio_request (GPIO_SELECT, LS_SHARED);

gpio_enter = libsoc_gpio_request (GPIO_ENTER, LS_SHARED);

gpio_ledtest = libsoc_gpio_request (GPIO_LEDTEST, LS_SHARED);

if ((gpio_pin1 == NULL) || (gpio_pin2 == NULL) || (gpio_pin3 == NULL) || (gpio_pin4 == NULL) || (gpio_transis == NULL) || (gpio_select == NULL) || (gpio_enter == NULL) || (gpio_ledtest == NULL))

{

go go;

}

libsoc_gpio_set_direction (gpio_pin1, INPUT);

libsoc_gpio_set_direction (gpio_pin2, INPUT);

libsoc_gpio_set_direction (gpio_pin3, INPUT);

libsoc_gpio_set_direction (gpio_pin4, INPUT);

libsoc_gpio_set_direction (gpio_transis, INPUT);

libsoc_gpio_set_direction (gpio_select, INPUT);

libsoc_gpio_set_direction (gpio_enter, INPUT);

libsoc_gpio_set_direction (gpio_ledtest, OUTPUT);

if ((libsoc_gpio_get_direction (gpio_pin1)! = INPUT)

|| (libsoc_gpio_get_direction (gpio_pin2)! = INPUT) || (libsoc_gpio_get_direction (gpio_pin3)! = INPUT) || (libsoc_gpio_get_direction (gpio_pin4)! = INPUT)

|| (libsoc_gpio_get_direction (gpio_transis)! = INPUT) || (libsoc_gpio_get_direction (gpio_select)! = INPUT) || (libsoc_gpio_get_direction (gpio_enter)! = INPUT) || (libsoc_gpio_get_direction (gpio_ledtest)! = OUTPUT))

{

go go;

}

in timpul alergarii)

{

touch_pin1 = libsoc_gpio_get_level (gpio_pin1);

touch_pin2 = libsoc_gpio_get_level (gpio_pin2);

touch_pin3 = libsoc_gpio_get_level (gpio_pin3);

touch_pin4 = libsoc_gpio_get_level (gpio_pin4);

touch_enter = libsoc_gpio_get_level (gpio_enter);

touch_select = libsoc_gpio_get_level (gpio_select);

touch_transis = libsoc_gpio_get_level (gpio_transis);

touch_ledtest = libsoc_gpio_get_level (gpio_ledtest);

if (touch_select == 1)

{

valorBoton ++;

if (valorBoton == 4)

{

valorBoton = 0;

}

}

if (valorBoton == 3)

{

valorLEDTest = 1;

libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);

}

}

fail: if (gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)

{

printf ("aplicați resursa gpio eșuată! / n");

libsoc_gpio_free (gpio_pin1);

libsoc_gpio_free (gpio_pin2);

libsoc_gpio_free (gpio_pin3);

libsoc_gpio_free (gpio_pin4);

libsoc_gpio_free (gpio_transis);

libsoc_gpio_free (gpio_select);

libsoc_gpio_free (gpio_enter);

libsoc_gpio_free (gpio_ledtest);

}

returnează EXIT_SUCCESS;

}

Pasul 3: Circuit electric

Circuit electric
Circuit electric
Circuit electric
Circuit electric
Circuit electric
Circuit electric
Circuit electric
Circuit electric

Acest circuit funcționează ca un convertor analog-digital. Acesta ia semnalul unui potenciometru care are o valoare cuprinsă între 0 și 5 volți, apoi convertorul îl transformă într-un semnal digital între 0 și 255 biți și îl trimite la INTRĂRILE DragonBoard.

Pasul 4:

Dezvoltat de:

Alfredo Fontes

Mauricio Gómez

Jorge Jiménez

Gerardo Lopéz

Felipe Rojas

Luis Rojas

Ivón Sandoval

Recomandat: