Turinys:

NOCAR („Notificación De Carga“): 5 žingsniai
NOCAR („Notificación De Carga“): 5 žingsniai

Video: NOCAR („Notificación De Carga“): 5 žingsniai

Video: NOCAR („Notificación De Carga“): 5 žingsniai
Video: МИНИ КАМЕРА ВИДЕОНАБЛЮДЕНИЯ С АККУМУЛЯТОРАМИ И СОЛНЕЧНОЙ ПАНЕЛЬЮ 100 ДНЕЙ БЕЗ ПОДЗАРЯДКИ!!! 2024, Liepa
Anonim
NOCAR („Notificación De Carga“)
NOCAR („Notificación De Carga“)

Anotacija

Kiekvienais metais kuriame naujas technologijas ir metodus. Anksčiau garų mašina buvo pirmasis žingsnis, kurį pavadinome pramonės revoliucija. Nuo to laiko žmogus nesiliauja. Mes kūrėme mašinas, kad palengvintume savo gyvenimą, ir dabar kiekvieną kartą stengiamės patobulinti jau sukurtus dalykus ir procesus.

Šiuolaikinis automobilis pirmą kartą buvo pristatytas 1886 m. Nuo tada jis buvo labai išvystytas daugeliu aspektų. Nuo greičio apribojimo iki svorio kontrolės jis keitėsi ir ėjo daug kelių. Nauja technologija leido automobiliui nereikalauti iškastinio kuro: hibridinis automobilis. Tačiau šis metodas turi daugiau apribojimų. Vienas trūkumas yra laikas, kurį reikia įkrauti. Tai nėra taip paprasta, kaip nueiti į degalinę ir užpildyti baką per porą minučių. Kai kuriems automobiliams įkrauti reikia valandų. Tačiau daugelis, jei degalinė yra netoli poilsio zonos ar prekybos zonos. Ir tai yra prasminga, jei baterijos užpildymas užtrunka ilgiau, jums nėra prasmės būti ten visą laiką, todėl tai suteikia jums galimybę tuo metu eiti kur tik norite. Tačiau kai automobilis įkraunamas, jei neišsinešote automobilio iš įkrovimo stoties, jūsų automobiliui bus skirta bauda. Šio produkto tikslas yra išspręsti įprastą būsimų hibridinių automobilių problemą (hibridiniai automobiliai turi didelį statymą). Mes diegiame grandinės sistemą naudodami „Dragonboard 410c“. Jis siunčia jums el. Laišką, įspėdamas, kad jūsų automobilio energijos krūvis yra iki tam tikro procento. Tokiu būdu jūs galite atlikti savo veiklą nesijaudindami, ar jūsų automobilis vis dar kraunasi, ar jis yra paruoštas (ir tikėtina, kad gausite baudą). Nors Meksikoje tokios problemos neatrodo, greičiau, nei tikėjomės, naujos sistemos įsigalios dėl iškastinio kuro, o hibridiniai automobiliai užims svarbų vaidmenį. Buvo nustatyti nauji įstatymai, o baudos dabar yra faktas, o ne tolima idėja.

Vaizdo kreditas: „Clipper Creek“: elektrinių transporto priemonių įkrovimo stotys

1 žingsnis: medžiagos

  • „DragonBoard 410c“
  • Mezzanine skirtas 96 lentoms
  • Protoboard
  • Jumperio viela
  • Mygtukas
  • Rezistorius 10 omų
  • Potenciometras 10k om
  • Kondensatorius 150 pF
  • Lustas ADC0804

2 žingsnis: kodas

#įtraukti

#įtraukti

#įtraukti

#include "libsoc_gpio.h"

#include "libsoc_debug.h"

#include "libsoc_board.h"

unsigned int GPIO_PIN1;

unsigned int GPIO_PIN2;

unsigned int GPIO_PIN3;

unsigned int GPIO_PIN4;

unsigned int GPIO_TRANSIS;

unsigned int GPIO_SELECT;

unsigned int GPIO_ENTER;

unsigned int GPIO_LEDTEST;

int vėliava;

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 bėgimas = 1;

_attribute _ ((konstruktorius)) static void _init ()

{

board_config *config = libsoc_board_init ();

GPIO_PIN1 = libsoc_board_gpio_id (konfigūracija, „GPIO-A“);

GPIO_PIN2 = libsoc_board_gpio_id (konfigūracija, „GPIO-B“);

GPIO_PIN3 = libsoc_board_gpio_id (konfigūracija, „GPIO-C“);

GPIO_PIN4 = libsoc_board_gpio_id (konfigūracija, „GPIO-D“);

GPIO_TRANSIS = libsoc_board_gpio_id (konfigūracija, „GPIO-E“);

GPIO_SELECT = libsoc_board_gpio_id (konfigūracija, „GPIO-G“);

GPIO_ENTER = libsoc_board_gpio_id (konfigūracija, „GPIO-H“);

GPIO_LEDTEST = libsoc_board_gpio_id (konfigūracija, „GPIO-I“);

libsoc_board_free (konfigūracija);

}

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))

{

nepavyko;

}

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)! = Įvestis)

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

|| (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))

{

nepavyko;

}

kol (bėga)

{

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);

jei (touch_select == 1)

{

valorBoton ++;

jei (valorBoton == 4)

{

valorBoton = 0;

}

}

jei (valorBoton == 3)

{

valorLEDTest = 1;

libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);

}

}

nepavyksta: jei (gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)

{

printf ("taikyti gpio išteklius nepavyksta! / 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);

}

grįžti EXIT_SUCCESS;

}

3 žingsnis: elektros grandinė

Elektros grandinė
Elektros grandinė
Elektros grandinė
Elektros grandinė
Elektros grandinė
Elektros grandinė
Elektros grandinė
Elektros grandinė

Ši grandinė veikia kaip analoginis-skaitmeninis keitiklis. Jis paima potenciometro signalą, kurio vertė yra nuo 0 iki 5 voltų, tada keitiklis paverčia jį skaitmeniniu signalu nuo 0 iki 255 bitų ir siunčia jį į „DragonBoard INPUTS“.

4 žingsnis:

Sukurta:

Alfredo Fontesas

Mauricio Gómezas

Jorge Jiménez

Gerardo Lopéz

Felipe Rojas

Luisas Rojasas

Ivonas Sandovalas

Rekomenduojamas: